|
37 | 37 | import io.kroxylicious.kubernetes.api.v1alpha1.KafkaProxyBuilder; |
38 | 38 | import io.kroxylicious.kubernetes.api.v1alpha1.VirtualKafkaCluster; |
39 | 39 | import io.kroxylicious.kubernetes.api.v1alpha1.VirtualKafkaClusterBuilder; |
| 40 | +import io.kroxylicious.kubernetes.api.v1alpha1.virtualkafkaclusterspec.targetcluster.ClusterRef; |
40 | 41 | import io.kroxylicious.kubernetes.api.v1alpha1.virtualkafkaclusterspec.targetcluster.ClusterRefBuilder; |
41 | 42 | import io.kroxylicious.kubernetes.operator.config.RuntimeDecl; |
42 | 43 |
|
@@ -169,17 +170,12 @@ private void assertDeploymentMountsConfigSecret(KafkaProxy proxy) { |
169 | 170 |
|
170 | 171 | private void assertProxyConfigContents(KafkaProxy cr, Set<String> contains, Set<String> notContains) { |
171 | 172 | await().alias("Secret as expected").untilAsserted(() -> { |
172 | | - var secret = extension.get(Secret.class, ProxyConfigSecret.secretName(cr)); |
173 | | - AbstractStringAssert<?> extracting = assertThat(secret) |
174 | | - .isNotNull() |
175 | | - .extracting(ProxyReconcilerIT::decodeSecretData, InstanceOfAssertFactories.map(String.class, String.class)) |
176 | | - .containsKey(ProxyConfigSecret.CONFIG_YAML_KEY) |
177 | | - .extracting(map -> map.get(ProxyConfigSecret.CONFIG_YAML_KEY), InstanceOfAssertFactories.STRING); |
| 173 | + AbstractStringAssert<?> proxyConfig = assertThatProxyConfigFor(cr); |
178 | 174 | if (!contains.isEmpty()) { |
179 | | - extracting.contains(contains); |
| 175 | + proxyConfig.contains(contains); |
180 | 176 | } |
181 | 177 | if (!notContains.isEmpty()) { |
182 | | - extracting.doesNotContain(notContains); |
| 178 | + proxyConfig.doesNotContain(notContains); |
183 | 179 | } |
184 | 180 | }); |
185 | 181 | } |
@@ -234,6 +230,37 @@ void testUpdateVirtualClusterTargetBootstrap() { |
234 | 230 | LOGGER.atInfo().log("Test finished"); |
235 | 231 | } |
236 | 232 |
|
| 233 | + @Test |
| 234 | + void testUpdateVirtualClusterClusterRef() { |
| 235 | + // given |
| 236 | + final var createdResources = doCreate(); |
| 237 | + KafkaProxy proxy = createdResources.proxy; |
| 238 | + |
| 239 | + String newClusterRefName = "new-cluster-ref"; |
| 240 | + extension.create(clusterRef(newClusterRefName, NEW_BOOTSTRAP)); |
| 241 | + |
| 242 | + ClusterRef newClusterRef = new ClusterRefBuilder().withName(newClusterRefName).build(); |
| 243 | + var cluster = createdResources.cluster(CLUSTER_FOO).edit().editSpec().editTargetCluster().withClusterRef(newClusterRef).endTargetCluster().endSpec().build(); |
| 244 | + |
| 245 | + // when |
| 246 | + extension.replace(cluster); |
| 247 | + |
| 248 | + // then |
| 249 | + assertDeploymentBecomesReady(proxy); |
| 250 | + await().untilAsserted(() -> { |
| 251 | + assertThatProxyConfigFor(proxy) |
| 252 | + .doesNotContain(CLUSTER_FOO_BOOTSTRAP) |
| 253 | + .contains(NEW_BOOTSTRAP); |
| 254 | + }); |
| 255 | + |
| 256 | + await().untilAsserted(() -> { |
| 257 | + assertClusterServiceExists(proxy, CLUSTER_FOO); |
| 258 | + assertClusterServiceExists(proxy, CLUSTER_BAR); |
| 259 | + }); |
| 260 | + |
| 261 | + LOGGER.atInfo().log("Test finished"); |
| 262 | + } |
| 263 | + |
237 | 264 | @Test |
238 | 265 | void testAddVirtualCluster() { |
239 | 266 | final var createdResources = doCreate(); |
@@ -326,6 +353,15 @@ void moveVirtualKafkaClusterToAnotherKafkaProxy() { |
326 | 353 | assertClusterServiceExists(proxyB, CLUSTER_BAZ); |
327 | 354 | } |
328 | 355 |
|
| 356 | + private AbstractStringAssert<?> assertThatProxyConfigFor(KafkaProxy proxy) { |
| 357 | + var secret = extension.get(Secret.class, ProxyConfigSecret.secretName(proxy)); |
| 358 | + return assertThat(secret) |
| 359 | + .isNotNull() |
| 360 | + .extracting(ProxyReconcilerIT::decodeSecretData, InstanceOfAssertFactories.map(String.class, String.class)) |
| 361 | + .containsKey(ProxyConfigSecret.CONFIG_YAML_KEY) |
| 362 | + .extracting(map -> map.get(ProxyConfigSecret.CONFIG_YAML_KEY), InstanceOfAssertFactories.STRING); |
| 363 | + } |
| 364 | + |
329 | 365 | private static VirtualKafkaCluster virtualKafkaCluster(String clusterName, KafkaProxy proxy, KafkaClusterRef clusterRef) { |
330 | 366 | return new VirtualKafkaClusterBuilder().withNewMetadata().withName(clusterName).endMetadata() |
331 | 367 | .withNewSpec() |
|
0 commit comments