4242import io .kroxylicious .kubernetes .api .common .FilterRef ;
4343import io .kroxylicious .kubernetes .api .common .FilterRefBuilder ;
4444import io .kroxylicious .kubernetes .api .common .Protocol ;
45- import io .kroxylicious .kubernetes .api .v1alpha1 .KafkaProtocolFilter ;
4645import io .kroxylicious .kubernetes .api .v1alpha1 .KafkaProtocolFilterBuilder ;
4746import io .kroxylicious .kubernetes .api .v1alpha1 .KafkaProxy ;
48- import io .kroxylicious .kubernetes .api .v1alpha1 .KafkaProxyBuilder ;
4947import io .kroxylicious .kubernetes .api .v1alpha1 .KafkaProxyIngress ;
5048import io .kroxylicious .kubernetes .api .v1alpha1 .KafkaProxyIngressBuilder ;
5149import io .kroxylicious .kubernetes .api .v1alpha1 .VirtualKafkaCluster ;
5250import io .kroxylicious .kubernetes .api .v1alpha1 .VirtualKafkaClusterBuilder ;
51+ import io .kroxylicious .kubernetes .api .v1alpha1 .kafkaproxyspec .InfrastructureBuilder ;
5352import io .kroxylicious .kubernetes .operator .assertj .OperatorAssertions ;
5453import io .kroxylicious .systemtests .installation .kroxylicious .CertManager ;
5554import io .kroxylicious .systemtests .installation .kroxylicious .Kroxylicious ;
@@ -184,31 +183,23 @@ void shouldUpdateDeploymentWhenDownstreamTrustUpdated(String namespace) {
184183 void shouldUpdateWhenFilterConfigurationChanges (String namespace ) {
185184 // Given
186185 // @formatter:off
187- KafkaProtocolFilterBuilder arbitraryFilter = KroxyliciousFilterTemplates .baseFilterDeployment (namespace , "arbitrary-filter" )
186+ var arbitraryFilterBuilder = KroxyliciousFilterTemplates .baseFilterDeployment (namespace , "arbitrary-filter" )
188187 .withNewSpec ()
189188 .withType ("io.kroxylicious.filter.simpletransform.ProduceRequestTransformation" )
190189 .withConfigTemplate (Map .of ("transformation" , "Replacing" , "transformationConfig" , Map .of ("findPattern" , "foo" , "replacementValue" , "bar" )))
191190 .endSpec ();
192191 // @formatter:on
193- KubeClient kubeClient = kubeClient (namespace );
194- resourceManager .createOrUpdateResourceWithWait (arbitraryFilter );
192+ resourceManager .createOrUpdateResourceWithWait (arbitraryFilterBuilder );
195193 kroxylicious .deployPortIdentifiesNodeWithFilters (kafkaClusterName , List .of ("arbitrary-filter" ));
196194
197- String originalChecksum = getInitialChecksum (namespace );
198-
199- // @formatter:off
200- KafkaProtocolFilterBuilder updatedProtocolFilter = kubeClient .getClient ().resources (KafkaProtocolFilter .class )
201- .inNamespace (namespace )
202- .withName ("arbitrary-filter" )
203- .get ()
204- .edit ()
205- .editSpec ()
206- .withConfigTemplate (Map .of ("transformation" , "Replacing" , "transformationConfig" , Map .of ("findPattern" , "foo" , "replacementValue" , "updated" )))
207- .endSpec ();
208- // @formatter:on
195+ var originalChecksum = getInitialChecksum (namespace );
196+ var arbitraryFilter = arbitraryFilterBuilder .build ();
197+ var replacementConfig = Map .of ("transformation" , "Replacing" , "transformationConfig" , Map .of ("findPattern" , "foo" , "replacementValue" , "updated" ));
209198
210199 // When
211- resourceManager .createOrUpdateResourceWithWait (updatedProtocolFilter );
200+ resourceManager .replaceResourceWithRetries (arbitraryFilter , current -> {
201+ current .getSpec ().setConfigTemplate (replacementConfig );
202+ });
212203 LOGGER .info ("Kafka proxy filter updated" );
213204
214205 // Then
@@ -227,21 +218,20 @@ void shouldUpdateDeploymentWhenResourceRequirementsChange(String namespace) {
227218 var customResourceRequests = Map .of ("cpu" , Quantity .parse ("599m" ), "memory" , Quantity .parse ("515Mi" ));
228219
229220 // @formatter:off
230- KafkaProxyBuilder updatedKafkaProxy = kafkaProxy .edit ()
231- .editOrNewSpec ()
232- .withNewInfrastructure ()
221+ var infra = new InfrastructureBuilder ()
233222 .withNewProxyContainer ()
234223 .withResources (new ResourceRequirementsBuilder ()
235- .withLimits (customResourceLimits )
236- .withRequests (customResourceRequests )
237- .build ())
238- .endProxyContainer ()
239- .endInfrastructure ()
240- .endSpec ();
224+ .withLimits (customResourceLimits )
225+ .withRequests (customResourceRequests )
226+ .build ())
227+ .endProxyContainer ()
228+ .build ();
241229 // @formatter:on
242230
243231 // When
244- resourceManager .createOrUpdateResourceWithWait (updatedKafkaProxy );
232+ resourceManager .replaceResourceWithRetries (kafkaProxy , current -> {
233+ current .getSpec ().setInfrastructure (infra );
234+ });
245235 LOGGER .info ("Kafka proxy updated" );
246236
247237 // Then
@@ -275,15 +265,10 @@ void shouldNotUpdateDeploymentChecksumWhenKafkaProxyScaled(String namespace) {
275265 KafkaProxy kafkaProxy = kubeClient .getClient ().resources (KafkaProxy .class ).inNamespace (namespace )
276266 .withName (Constants .KROXYLICIOUS_PROXY_SIMPLE_NAME ).get ();
277267
278- // @formatter:off
279- KafkaProxyBuilder updatedKafkaProxy = kafkaProxy .edit ()
280- .editOrNewSpec ()
281- .withReplicas (2 )
282- .endSpec ();
283- // @formatter:on
284-
285268 // When
286- resourceManager .createOrUpdateResourceWithWait (updatedKafkaProxy );
269+ resourceManager .replaceResourceWithRetries (kafkaProxy , current -> {
270+ current .getSpec ().setReplicas (2 );
271+ });
287272 LOGGER .info ("Kafka proxy updated" );
288273
289274 // Then
0 commit comments