From 381dc70f9ed4df7ad64bbb536751b4d46b9cd0d2 Mon Sep 17 00:00:00 2001 From: Ryan Ernst Date: Wed, 5 Mar 2025 16:39:32 -0800 Subject: [PATCH] tests --- .../runtime/policy/FileAccessTree.java | 13 ++++++------ .../runtime/policy/FileAccessTreeTests.java | 20 ++++--------------- .../runtime/policy/PolicyManagerTests.java | 5 +++-- 3 files changed, 14 insertions(+), 24 deletions(-) diff --git a/libs/entitlement/src/main/java/org/elasticsearch/entitlement/runtime/policy/FileAccessTree.java b/libs/entitlement/src/main/java/org/elasticsearch/entitlement/runtime/policy/FileAccessTree.java index 0051153d23120..df012792b682c 100644 --- a/libs/entitlement/src/main/java/org/elasticsearch/entitlement/runtime/policy/FileAccessTree.java +++ b/libs/entitlement/src/main/java/org/elasticsearch/entitlement/runtime/policy/FileAccessTree.java @@ -69,14 +69,15 @@ static List buildExclusivePathList(List throw new IllegalArgumentException( "Path [" + normalizedPath - + "] is exclusive to " - + efe.componentName() - + "/" - + efe.moduleName() - + " and " + + "] is already exclusive to [" + exclusivePath.componentName() - + "/" + + "]" + exclusivePath.moduleNames + + ", cannot add exclusive access for [" + + efe.componentName() + + "][" + + efe.moduleName + + "]" ); } exclusivePath.moduleNames.add(efe.moduleName()); diff --git a/libs/entitlement/src/test/java/org/elasticsearch/entitlement/runtime/policy/FileAccessTreeTests.java b/libs/entitlement/src/test/java/org/elasticsearch/entitlement/runtime/policy/FileAccessTreeTests.java index 9a765b961a194..216df997b451e 100644 --- a/libs/entitlement/src/test/java/org/elasticsearch/entitlement/runtime/policy/FileAccessTreeTests.java +++ b/libs/entitlement/src/test/java/org/elasticsearch/entitlement/runtime/policy/FileAccessTreeTests.java @@ -411,24 +411,12 @@ public void testDuplicateExclusivePaths() { new ExclusivePath(original.componentName(), Set.of("module2"), originalExclusivePath.path()), new ExclusivePath(original.componentName(), Set.of(original.moduleName()), normalizePath(path("/c/d"))) ); - assertEquals( - "Distinct elements should not be combined", - distinctPaths, + var iae = expectThrows(IllegalArgumentException.class, + () -> buildExclusivePathList(distinctEntitlements, TEST_PATH_LOOKUP) ); - - // Do merge things we should - - List interleavedEntitlements = new ArrayList<>(); - distinctEntitlements.forEach(e -> { - interleavedEntitlements.add(e); - interleavedEntitlements.add(original); - }); - assertEquals( - "Identical elements should be combined wherever they are in the list", - distinctPaths, - buildExclusivePathList(interleavedEntitlements, TEST_PATH_LOOKUP) - ); + assertThat(iae.getMessage(), + equalTo("Path [/a/b] is already exclusive to [component1][module1], cannot add exclusive access for [component2][module1]")); var equivalentEntitlements = List.of(original, differentMode, differentPlatform); var equivalentPaths = List.of(originalExclusivePath); diff --git a/libs/entitlement/src/test/java/org/elasticsearch/entitlement/runtime/policy/PolicyManagerTests.java b/libs/entitlement/src/test/java/org/elasticsearch/entitlement/runtime/policy/PolicyManagerTests.java index fdaf8248bcb92..7805e69cd5667 100644 --- a/libs/entitlement/src/test/java/org/elasticsearch/entitlement/runtime/policy/PolicyManagerTests.java +++ b/libs/entitlement/src/test/java/org/elasticsearch/entitlement/runtime/policy/PolicyManagerTests.java @@ -38,7 +38,7 @@ import static org.elasticsearch.entitlement.runtime.policy.PolicyManager.ALL_UNNAMED; import static org.elasticsearch.entitlement.runtime.policy.PolicyManager.SERVER_COMPONENT_NAME; import static org.hamcrest.Matchers.aMapWithSize; -import static org.hamcrest.Matchers.containsString; +import static org.hamcrest.Matchers.equalTo; import static org.hamcrest.Matchers.is; import static org.hamcrest.Matchers.sameInstance; @@ -458,7 +458,8 @@ public void testFilesEntitlementsWithExclusive() { Set.of() ) ); - assertThat(iae.getMessage(), containsString("Path [/base/test] is exclusive to plugin2/test.module2 and plugin1/[test.module1]")); + assertThat(iae.getMessage(), equalTo("Path [/base/test] is already exclusive to [plugin1][test.module1]," + + " cannot add exclusive access for [plugin2][test.module2]")); iae = expectThrows( IllegalArgumentException.class,