Skip to content

Commit 2eb56fb

Browse files
committed
update visibility, uncomment TestBuildInfoParser usage
1 parent e4221b0 commit 2eb56fb

File tree

5 files changed

+32
-22
lines changed

5 files changed

+32
-22
lines changed

test/framework/src/main/java/org/elasticsearch/bootstrap/TestBuildInfo.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,4 +11,4 @@
1111

1212
import java.util.List;
1313

14-
record TestBuildInfo(String component, List<TestBuildInfoLocation> locations) {}
14+
public record TestBuildInfo(String component, List<TestBuildInfoLocation> locations) {}

test/framework/src/main/java/org/elasticsearch/bootstrap/TestBuildInfoParser.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
import java.util.ArrayList;
2424
import java.util.List;
2525

26-
class TestBuildInfoParser {
26+
public class TestBuildInfoParser {
2727

2828
private static final String PLUGIN_TEST_BUILD_INFO_RESOURCES = "META-INF/plugin-test-build-info.json";
2929
private static final String SERVER_TEST_BUILD_INFO_RESOURCE = "META-INF/server-test-build-info.json";
@@ -75,7 +75,7 @@ static TestBuildInfo fromXContent(final XContentParser parser) throws IOExceptio
7575
return PARSER.parse(parser, null).build();
7676
}
7777

78-
static List<TestBuildInfo> parseAllPluginTestBuildInfo() throws IOException {
78+
public static List<TestBuildInfo> parseAllPluginTestBuildInfo() throws IOException {
7979
var xContent = XContentFactory.xContent(XContentType.JSON);
8080
List<TestBuildInfo> pluginsTestBuildInfos = new ArrayList<>();
8181
var resources = TestBuildInfoParser.class.getClassLoader().getResources(PLUGIN_TEST_BUILD_INFO_RESOURCES);
@@ -88,7 +88,7 @@ static List<TestBuildInfo> parseAllPluginTestBuildInfo() throws IOException {
8888
return pluginsTestBuildInfos;
8989
}
9090

91-
static TestBuildInfo parseServerTestBuildInfo() throws IOException {
91+
public static TestBuildInfo parseServerTestBuildInfo() throws IOException {
9292
var xContent = XContentFactory.xContent(XContentType.JSON);
9393
var resource = TestBuildInfoParser.class.getClassLoader().getResource(SERVER_TEST_BUILD_INFO_RESOURCE);
9494
// No test-build-info for server: this might be a non-gradle build. Proceed without TestBuildInfo

test/framework/src/main/java/org/elasticsearch/bootstrap/TestScopeResolver.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
import java.util.Map;
2222
import java.util.function.Function;
2323

24-
record TestScopeResolver(Map<String, PolicyManager.PolicyScope> scopeMap) {
24+
public record TestScopeResolver(Map<String, PolicyManager.PolicyScope> scopeMap) {
2525

2626
private static final Logger logger = LogManager.getLogger(TestScopeResolver.class);
2727

@@ -38,9 +38,9 @@ PolicyManager.PolicyScope getScope(Class<?> callerClass) {
3838
return scope;
3939
}
4040

41-
static Function<Class<?>, PolicyManager.PolicyScope> createScopeResolver(
42-
TestBuildInfo serverBuildInfo,
43-
List<TestBuildInfo> pluginsBuildInfo
41+
public static Function<Class<?>, PolicyManager.PolicyScope> createScopeResolver(
42+
TestBuildInfo serverBuildInfo,
43+
List<TestBuildInfo> pluginsBuildInfo
4444
) {
4545

4646
Map<String, PolicyManager.PolicyScope> scopeMap = new HashMap<>();

test/framework/src/main/java/org/elasticsearch/entitlement/bootstrap/TestEntitlementBootstrap.java

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,18 +10,29 @@
1010
package org.elasticsearch.entitlement.bootstrap;
1111

1212
import org.elasticsearch.entitlement.initialization.TestEntitlementInitialization;
13+
import org.elasticsearch.entitlement.runtime.policy.PathLookup;
1314
import org.elasticsearch.logging.LogManager;
1415
import org.elasticsearch.logging.Logger;
1516

16-
class TestEntitlementBootstrap {
17+
public class TestEntitlementBootstrap {
1718

1819
private static final Logger logger = LogManager.getLogger(TestEntitlementBootstrap.class);
20+
private static BootstrapArgs bootstrapArgs;
1921

2022
/**
2123
* Activates entitlement checking in tests.
24+
* @param bootstrapArgs arguments used for and passed to entitlement initialization
2225
*/
23-
public static void bootstrap() {
26+
public static void bootstrap(BootstrapArgs bootstrapArgs) {
27+
assert bootstrapArgs != null;
28+
TestEntitlementBootstrap.bootstrapArgs = bootstrapArgs;
2429
logger.debug("Loading entitlement agent");
2530
EntitlementBootstrap.loadAgent(EntitlementBootstrap.findAgentJar(), TestEntitlementInitialization.class.getName());
2631
}
32+
33+
public static BootstrapArgs bootstrapArgs() {
34+
return bootstrapArgs;
35+
}
36+
37+
public record BootstrapArgs(PathLookup pathLookup) {}
2738
}

test/framework/src/main/java/org/elasticsearch/entitlement/initialization/TestEntitlementInitialization.java

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,12 @@
99

1010
package org.elasticsearch.entitlement.initialization;
1111

12+
import org.elasticsearch.bootstrap.TestBuildInfoParser;
13+
import org.elasticsearch.bootstrap.TestScopeResolver;
14+
import org.elasticsearch.bootstrap.TestBuildInfo;
1215
import org.elasticsearch.core.Strings;
1316
import org.elasticsearch.core.SuppressForbidden;
17+
import org.elasticsearch.entitlement.bootstrap.TestEntitlementBootstrap;
1418
import org.elasticsearch.entitlement.bridge.EntitlementChecker;
1519
import org.elasticsearch.entitlement.runtime.api.ElasticsearchEntitlementChecker;
1620
import org.elasticsearch.entitlement.runtime.policy.PathLookup;
@@ -28,7 +32,6 @@
2832
import java.util.List;
2933
import java.util.Map;
3034
import java.util.Set;
31-
import java.util.function.Function;
3235

3336
/**
3437
* Test-only version of {@code EntitlementInitialization}
@@ -43,7 +46,8 @@ public static EntitlementChecker checker() {
4346
}
4447

4548
public static void initialize(Instrumentation inst) throws Exception {
46-
checker = EntitlementInitialization.initChecker(inst, createPolicyManager());
49+
TestEntitlementBootstrap.BootstrapArgs bootstrapArgs = TestEntitlementBootstrap.bootstrapArgs();
50+
checker = EntitlementInitialization.initChecker(inst, createPolicyManager(bootstrapArgs.pathLookup()));
4751
}
4852

4953
private record TestPluginData(String pluginName, boolean isModular, boolean isExternalPlugin) {}
@@ -87,24 +91,19 @@ private static InputStream getStream(URL resource) throws IOException {
8791
return resource.openStream();
8892
}
8993

90-
private static PolicyManager createPolicyManager() {
94+
private static PolicyManager createPolicyManager(PathLookup pathLookup) throws IOException {
9195

92-
// TODO: uncomment after merging https://github.com/elastic/elasticsearch/pull/127719
93-
// var pluginsTestBuildInfo = TestBuildInfoParser.parseAllPluginTestBuildInfo();
94-
// var serverTestBuildInfo = TestBuildInfoParser.parseServerTestBuildInfo();
95-
Function<Class<?>, PolicyManager.PolicyScope> scopeResolver = null; // TestScopeResolver.createScopeResolver(serverTestBuildInfo,
96-
// pluginsTestBuildInfo);
97-
List<String> pluginNames = List.of(); // = pluginsTestBuildInfo.stream().map(TestBuildInfo::componentName).toList();
96+
var pluginsTestBuildInfo = TestBuildInfoParser.parseAllPluginTestBuildInfo();
97+
var serverTestBuildInfo = TestBuildInfoParser.parseServerTestBuildInfo();
98+
var scopeResolver = TestScopeResolver.createScopeResolver(serverTestBuildInfo, pluginsTestBuildInfo);
99+
List<String> pluginNames = pluginsTestBuildInfo.stream().map(TestBuildInfo::component).toList();
98100

99101
var pluginDescriptors = parsePluginsDescriptors(pluginNames);
100102
var pluginsData = pluginDescriptors.stream()
101103
.map(descriptor -> new TestPluginData(descriptor.getName(), descriptor.isModular(), false))
102104
.toList();
103105
Map<String, Policy> pluginPolicies = parsePluginsPolicies(pluginsData);
104106

105-
// TODO: create here the test pathLookup
106-
PathLookup pathLookup = null;
107-
108107
FilesEntitlementsValidation.validate(pluginPolicies, pathLookup);
109108

110109
return new PolicyManager(

0 commit comments

Comments
 (0)