Skip to content

Commit bfc0f4a

Browse files
authored
Improve coverage: Adding tests for ConfigurationRepository class (#5206)
Signed-off-by: shikharj05 <8859327+shikharj05@users.noreply.github.com> Signed-off-by: Shikhar Jain <8859327+shikharj05@users.noreply.github.com>
1 parent d31da1e commit bfc0f4a

File tree

5 files changed

+402
-40
lines changed

5 files changed

+402
-40
lines changed

build.gradle

Lines changed: 32 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -249,37 +249,6 @@ task listTasksAsJSON {
249249
}
250250
}
251251

252-
test {
253-
include '**/*.class'
254-
filter {
255-
excludeTestsMatching "org.opensearch.security.sanity.tests.*"
256-
}
257-
maxParallelForks = 8
258-
jvmArgs += "-Xmx3072m"
259-
// this is needed to reflect access system env map.
260-
jvmArgs += "--add-opens=java.base/java.io=ALL-UNNAMED"
261-
jvmArgs += "--add-opens=java.base/java.util=ALL-UNNAMED"
262-
retry {
263-
failOnPassedAfterRetry = false
264-
maxRetries = 5
265-
}
266-
jacoco {
267-
excludes = [
268-
"com.sun.jndi.dns.*",
269-
"com.sun.security.sasl.gsskerb.*",
270-
"java.sql.*",
271-
"javax.script.*",
272-
"org.jcp.xml.dsig.internal.dom.*",
273-
"sun.nio.cs.ext.*",
274-
"sun.security.ec.*",
275-
"sun.security.jgss.*",
276-
"sun.security.pkcs11.*",
277-
"sun.security.smartcardio.*",
278-
"sun.util.resources.provider.*"
279-
]
280-
}
281-
}
282-
283252
task copyExtraTestResources(dependsOn: testClasses) {
284253

285254
copy {
@@ -329,6 +298,38 @@ def setCommonTestConfig(Test task) {
329298
task.finalizedBy jacocoTestReport
330299
}
331300

301+
test {
302+
include '**/*.class'
303+
filter {
304+
excludeTestsMatching "org.opensearch.security.sanity.tests.*"
305+
}
306+
maxParallelForks = 8
307+
jvmArgs += "-Xmx3072m"
308+
// this is needed to reflect access system env map.
309+
jvmArgs += "--add-opens=java.base/java.io=ALL-UNNAMED"
310+
jvmArgs += "--add-opens=java.base/java.util=ALL-UNNAMED"
311+
retry {
312+
failOnPassedAfterRetry = false
313+
maxRetries = 5
314+
}
315+
jacoco {
316+
excludes = [
317+
"com.sun.jndi.dns.*",
318+
"com.sun.security.sasl.gsskerb.*",
319+
"java.sql.*",
320+
"javax.script.*",
321+
"org.jcp.xml.dsig.internal.dom.*",
322+
"sun.nio.cs.ext.*",
323+
"sun.security.ec.*",
324+
"sun.security.jgss.*",
325+
"sun.security.pkcs11.*",
326+
"sun.security.smartcardio.*",
327+
"sun.util.resources.provider.*"
328+
]
329+
}
330+
setCommonTestConfig(it)
331+
}
332+
332333
task citest(type: Test) {
333334
group = "Github Actions tests"
334335
description = "Runs the test suite on classes not covered by rest of the task in this group."

src/main/java/org/opensearch/security/compliance/ComplianceConfig.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -283,7 +283,7 @@ public static ComplianceConfig from(Settings settings) {
283283
/**
284284
* Create compliance configuration from Settings defined in opensearch.yml
285285
* @param settings settings
286-
* @param dateProvider how the current date/time is evalated for audit logs that rollover
286+
* @param dateProvider how the current date/time is evaluated for audit logs that rollover
287287
* @return compliance configuration
288288
*/
289289
public static ComplianceConfig from(Settings settings, Supplier<DateTime> dateProvider) {

src/main/java/org/opensearch/security/configuration/ConfigurationRepository.java

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,8 @@ protected ConfigurationRepository(
128128
final Client client,
129129
final ClusterService clusterService,
130130
final AuditLog auditLog,
131-
final SecurityIndexHandler securityIndexHandler
131+
final SecurityIndexHandler securityIndexHandler,
132+
final ConfigurationLoaderSecurity7 configurationLoaderSecurity7
132133
) {
133134
this.securityIndex = securityIndex;
134135
this.settings = settings;
@@ -139,7 +140,7 @@ protected ConfigurationRepository(
139140
this.auditLog = auditLog;
140141
this.configurationChangedListener = new ArrayList<>();
141142
this.acceptInvalid = settings.getAsBoolean(ConfigConstants.SECURITY_UNSUPPORTED_ACCEPT_INVALID_CONFIG, false);
142-
cl = new ConfigurationLoaderSecurity7(client, threadPool, settings, clusterService);
143+
this.cl = configurationLoaderSecurity7;
143144
configCache = CacheBuilder.newBuilder().build();
144145
this.securityIndexHandler = securityIndexHandler;
145146
}
@@ -177,8 +178,8 @@ private boolean nodeSelectedAsManager(final ClusterChangedEvent event) {
177178
public String getConfigDirectory() {
178179
String lookupDir = System.getProperty("security.default_init.dir");
179180
final String cd = lookupDir != null
180-
? (lookupDir + "/")
181-
: new Environment(settings, configPath).configDir().toAbsolutePath().toString() + "/opensearch-security/";
181+
? (lookupDir + File.separator)
182+
: new Environment(settings, configPath).configDir().toAbsolutePath().resolve("opensearch-security").toString() + File.separator;
182183
return cd;
183184
}
184185

@@ -496,7 +497,8 @@ public static ConfigurationRepository create(
496497
client,
497498
clusterService,
498499
auditLog,
499-
new SecurityIndexHandler(securityIndex, settings, client)
500+
new SecurityIndexHandler(securityIndex, settings, client),
501+
new ConfigurationLoaderSecurity7(client, threadPool, settings, clusterService)
500502
);
501503
}
502504

src/main/java/org/opensearch/security/securityconf/DynamicConfigFactory.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -294,7 +294,7 @@ private static ConfigV7 getConfigV7(SecurityDynamicConfiguration<?> sdc) {
294294
}
295295

296296
@Override
297-
public final boolean isInitialized() {
297+
public boolean isInitialized() {
298298
return initialized.get();
299299
}
300300

0 commit comments

Comments
 (0)