Skip to content

Commit 0f976e4

Browse files
committed
Add UTs for the new remote metadata client settings
Signed-off-by: cliu123 <[email protected]>
1 parent 7506990 commit 0f976e4

File tree

1 file changed

+44
-0
lines changed

1 file changed

+44
-0
lines changed

src/test/java/org/opensearch/jobscheduler/JobSchedulerSettingsTests.java

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@
1717
import org.opensearch.common.unit.TimeValue;
1818
import org.opensearch.test.OpenSearchTestCase;
1919

20+
import static org.opensearch.remote.metadata.common.CommonValue.AWS_DYNAMO_DB;
21+
2022
@SuppressWarnings({ "rawtypes" })
2123
public class JobSchedulerSettingsTests extends OpenSearchTestCase {
2224

@@ -101,4 +103,46 @@ public void testSettingsGetValueWithLegacyFallback() {
101103
LegacyOpenDistroJobSchedulerSettings.JITTER_LIMIT }
102104
);
103105
}
106+
107+
public void testRemoteMetadataSettingsReturned() {
108+
List<Setting<?>> settings = plugin.getSettings();
109+
assertTrue(
110+
"remote metadata settings must be returned from settings",
111+
settings.containsAll(
112+
Arrays.asList(
113+
JobSchedulerSettings.REMOTE_METADATA_TYPE,
114+
JobSchedulerSettings.REMOTE_METADATA_ENDPOINT,
115+
JobSchedulerSettings.REMOTE_METADATA_REGION,
116+
JobSchedulerSettings.REMOTE_METADATA_SERVICE_NAME,
117+
JobSchedulerSettings.JOB_SCHEDULER_MULTI_TENANCY_ENABLED
118+
)
119+
)
120+
);
121+
}
122+
123+
public void testRemoteMetadataSettingsDefaults() {
124+
Settings settings = Settings.EMPTY;
125+
126+
assertEquals("", JobSchedulerSettings.REMOTE_METADATA_TYPE.get(settings));
127+
assertEquals("", JobSchedulerSettings.REMOTE_METADATA_ENDPOINT.get(settings));
128+
assertEquals("", JobSchedulerSettings.REMOTE_METADATA_REGION.get(settings));
129+
assertEquals("", JobSchedulerSettings.REMOTE_METADATA_SERVICE_NAME.get(settings));
130+
assertFalse(JobSchedulerSettings.JOB_SCHEDULER_MULTI_TENANCY_ENABLED.get(settings));
131+
}
132+
133+
public void testRemoteMetadataSettingsValues() {
134+
Settings settings = Settings.builder()
135+
.put("plugins.jobscheduler.remote_metadata_type", AWS_DYNAMO_DB)
136+
.put("plugins.jobscheduler.remote_metadata_endpoint", "https://dynamodb.us-east-1.amazonaws.com")
137+
.put("plugins.jobscheduler.remote_metadata_region", "us-east-1")
138+
.put("plugins.jobscheduler.remote_metadata_service_name", "es")
139+
.put("plugins.jobscheduler.tenant_aware", true)
140+
.build();
141+
142+
assertEquals(AWS_DYNAMO_DB, JobSchedulerSettings.REMOTE_METADATA_TYPE.get(settings));
143+
assertEquals("https://dynamodb.us-east-1.amazonaws.com", JobSchedulerSettings.REMOTE_METADATA_ENDPOINT.get(settings));
144+
assertEquals("us-east-1", JobSchedulerSettings.REMOTE_METADATA_REGION.get(settings));
145+
assertEquals("es", JobSchedulerSettings.REMOTE_METADATA_SERVICE_NAME.get(settings));
146+
assertTrue(JobSchedulerSettings.JOB_SCHEDULER_MULTI_TENANCY_ENABLED.get(settings));
147+
}
104148
}

0 commit comments

Comments
 (0)