Skip to content

Commit 5c7220a

Browse files
robobariok-wall
authored andcommitted
Add integration test for updating the cluster ref
Signed-off-by: Robert Young <robeyoun@redhat.com>
1 parent 606bcf9 commit 5c7220a

File tree

1 file changed

+44
-8
lines changed

1 file changed

+44
-8
lines changed

kroxylicious-operator/src/test/java/io/kroxylicious/kubernetes/operator/ProxyReconcilerIT.java

Lines changed: 44 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737
import io.kroxylicious.kubernetes.api.v1alpha1.KafkaProxyBuilder;
3838
import io.kroxylicious.kubernetes.api.v1alpha1.VirtualKafkaCluster;
3939
import io.kroxylicious.kubernetes.api.v1alpha1.VirtualKafkaClusterBuilder;
40+
import io.kroxylicious.kubernetes.api.v1alpha1.virtualkafkaclusterspec.targetcluster.ClusterRef;
4041
import io.kroxylicious.kubernetes.api.v1alpha1.virtualkafkaclusterspec.targetcluster.ClusterRefBuilder;
4142
import io.kroxylicious.kubernetes.operator.config.RuntimeDecl;
4243

@@ -169,17 +170,12 @@ private void assertDeploymentMountsConfigSecret(KafkaProxy proxy) {
169170

170171
private void assertProxyConfigContents(KafkaProxy cr, Set<String> contains, Set<String> notContains) {
171172
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);
178174
if (!contains.isEmpty()) {
179-
extracting.contains(contains);
175+
proxyConfig.contains(contains);
180176
}
181177
if (!notContains.isEmpty()) {
182-
extracting.doesNotContain(notContains);
178+
proxyConfig.doesNotContain(notContains);
183179
}
184180
});
185181
}
@@ -234,6 +230,37 @@ void testUpdateVirtualClusterTargetBootstrap() {
234230
LOGGER.atInfo().log("Test finished");
235231
}
236232

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+
237264
@Test
238265
void testAddVirtualCluster() {
239266
final var createdResources = doCreate();
@@ -326,6 +353,15 @@ void moveVirtualKafkaClusterToAnotherKafkaProxy() {
326353
assertClusterServiceExists(proxyB, CLUSTER_BAZ);
327354
}
328355

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+
329365
private static VirtualKafkaCluster virtualKafkaCluster(String clusterName, KafkaProxy proxy, KafkaClusterRef clusterRef) {
330366
return new VirtualKafkaClusterBuilder().withNewMetadata().withName(clusterName).endMetadata()
331367
.withNewSpec()

0 commit comments

Comments
 (0)