|
17 | 17 | import org.opensearch.common.unit.TimeValue; |
18 | 18 | import org.opensearch.test.OpenSearchTestCase; |
19 | 19 |
|
| 20 | +import static org.opensearch.remote.metadata.common.CommonValue.AWS_DYNAMO_DB; |
| 21 | + |
20 | 22 | @SuppressWarnings({ "rawtypes" }) |
21 | 23 | public class JobSchedulerSettingsTests extends OpenSearchTestCase { |
22 | 24 |
|
@@ -101,4 +103,46 @@ public void testSettingsGetValueWithLegacyFallback() { |
101 | 103 | LegacyOpenDistroJobSchedulerSettings.JITTER_LIMIT } |
102 | 104 | ); |
103 | 105 | } |
| 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 | + } |
104 | 148 | } |
0 commit comments