Skip to content

Commit b78ce2c

Browse files
committed
more tests
1 parent 3b648b8 commit b78ce2c

File tree

2 files changed

+27
-5
lines changed

2 files changed

+27
-5
lines changed

libs/entitlement/src/test/java/org/elasticsearch/entitlement/runtime/policy/PolicyManagerTests.java

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -460,11 +460,8 @@ public void testFilesEntitlementsWithExclusive() {
460460
Set.of()
461461
)
462462
);
463-
assertEquals(
464-
"duplicate/overlapping exclusive paths found in files entitlements: "
465-
+ "[[plugin1] [test] [/tmp/test]] and [[plugin2] [test] [/tmp/test]]",
466-
iae.getMessage()
467-
);
463+
assertTrue(iae.getMessage().contains("duplicate/overlapping exclusive paths found in files entitlements:"));
464+
assertTrue(iae.getMessage().contains("[test] [/tmp/test]]"));
468465

469466
iae = expectThrows(
470467
IllegalArgumentException.class,

libs/entitlement/src/test/java/org/elasticsearch/entitlement/runtime/policy/entitlements/FilesEntitlementTests.java

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,16 @@
1111

1212
import org.elasticsearch.common.settings.Settings;
1313
import org.elasticsearch.entitlement.runtime.policy.PathLookup;
14+
import org.elasticsearch.entitlement.runtime.policy.Policy;
15+
import org.elasticsearch.entitlement.runtime.policy.PolicyParser;
1416
import org.elasticsearch.entitlement.runtime.policy.PolicyValidationException;
17+
import org.elasticsearch.entitlement.runtime.policy.Scope;
1518
import org.elasticsearch.entitlement.runtime.policy.entitlements.FilesEntitlement.FileData;
1619
import org.elasticsearch.test.ESTestCase;
1720
import org.junit.BeforeClass;
1821

22+
import java.io.ByteArrayInputStream;
23+
import java.nio.charset.StandardCharsets;
1924
import java.nio.file.Path;
2025
import java.util.List;
2126
import java.util.Map;
@@ -112,4 +117,24 @@ public void testPathSettingResolve() {
112117
settings = Settings.builder().put("foo.baz.bar", "/setting/path").put("foo.baz2.bar", "/other/path").build();
113118
assertThat(fileData.resolvePaths(TEST_PATH_LOOKUP).toList(), containsInAnyOrder(Path.of("/setting/path"), Path.of("/other/path")));
114119
}
120+
121+
public void testExclusiveParsing() throws Exception {
122+
Policy parsedPolicy = new PolicyParser(new ByteArrayInputStream("""
123+
entitlement-module-name:
124+
- files:
125+
- path: /test
126+
mode: read
127+
exclusive: true
128+
""".getBytes(StandardCharsets.UTF_8)), "test-policy.yaml", true).parsePolicy();
129+
Policy expected = new Policy(
130+
"test-policy.yaml",
131+
List.of(
132+
new Scope(
133+
"entitlement-module-name",
134+
List.of(FilesEntitlement.build(List.of(Map.of("path", "/test", "mode", "read", "exclusive", true))))
135+
)
136+
)
137+
);
138+
assertEquals(expected, parsedPolicy);
139+
}
115140
}

0 commit comments

Comments
 (0)