|
17 | 17 | import io.javaoperatorsdk.operator.ReconcilerUtils;
|
18 | 18 | import io.javaoperatorsdk.operator.api.config.AnnotationConfigurable;
|
19 | 19 | import io.javaoperatorsdk.operator.api.config.BaseConfigurationService;
|
| 20 | +import io.javaoperatorsdk.operator.api.config.ConfigurableReconciler; |
| 21 | +import io.javaoperatorsdk.operator.api.config.ControllerConfigurationOverrider; |
20 | 22 | import io.javaoperatorsdk.operator.api.config.dependent.ConfigurationConverter;
|
21 | 23 | import io.javaoperatorsdk.operator.api.config.dependent.Configured;
|
22 | 24 | import io.javaoperatorsdk.operator.api.config.dependent.DependentResourceSpec;
|
@@ -311,6 +313,34 @@ void shouldUseSSAShouldAlsoWorkWithManualConfiguration() {
|
311 | 313 | configurationService.shouldUseSSA(reconciler.getSsaConfigMapDependent()));
|
312 | 314 | }
|
313 | 315 |
|
| 316 | + @Test |
| 317 | + void shouldOverrideConfigurationForConfigurableReconciler() { |
| 318 | + final var reconciler = new TestConfigurableReconciler(); |
| 319 | + var config = configurationService.getConfigurationFor(reconciler); |
| 320 | + assertThat(config.getInformerConfig().getLabelSelector()).isNull(); |
| 321 | + |
| 322 | + config = configurationService.getConfigurationFor(reconciler); |
| 323 | + assertThat(config.getInformerConfig().getLabelSelector()) |
| 324 | + .isEqualTo(TestConfigurableReconciler.selector); |
| 325 | + } |
| 326 | + |
| 327 | + private static class TestConfigurableReconciler |
| 328 | + implements Reconciler<ConfigMap>, ConfigurableReconciler<ConfigMap> { |
| 329 | + private static final String selector = "foo=bar"; |
| 330 | + |
| 331 | + @Override |
| 332 | + public UpdateControl<ConfigMap> reconcile(ConfigMap resource, Context<ConfigMap> context) |
| 333 | + throws Exception { |
| 334 | + return null; |
| 335 | + } |
| 336 | + |
| 337 | + @Override |
| 338 | + public void updateConfigurationFrom( |
| 339 | + ControllerConfigurationOverrider<ConfigMap> configOverrider) { |
| 340 | + configOverrider.withLabelSelector(selector); |
| 341 | + } |
| 342 | + } |
| 343 | + |
314 | 344 | @SuppressWarnings("unchecked")
|
315 | 345 | private static int getValue(
|
316 | 346 | io.javaoperatorsdk.operator.api.config.ControllerConfiguration<?> configuration, int index) {
|
|
0 commit comments