1717
1818class PatchResourceAndStatusNoSSAIT {
1919 @ RegisterExtension
20- LocallyRunOperatorExtension operator =
20+ LocallyRunOperatorExtension extension =
2121 LocallyRunOperatorExtension .builder ()
2222 .withConfigurationService (o -> o .withUseSSAToPatchPrimaryResource (false ))
2323 .withReconciler (PatchResourceAndStatusNoSSAReconciler .class )
2424 .build ();
2525
2626 @ Test
2727 void updatesSubResourceStatus () {
28+ extension
29+ .getReconcilerOfType (PatchResourceAndStatusNoSSAReconciler .class )
30+ .setRemoveAnnotation (false );
2831 PatchResourceAndStatusNoSSACustomResource resource = createTestCustomResource ("1" );
29- operator .create (resource );
32+ extension .create (resource );
3033
3134 awaitStatusUpdated (resource .getMetadata ().getName ());
3235 // wait for sure, there are no more events
3336 TestUtils .waitXms (300 );
3437
3538 PatchResourceAndStatusNoSSACustomResource customResource =
36- operator .get (
39+ extension .get (
3740 PatchResourceAndStatusNoSSACustomResource .class , resource .getMetadata ().getName ());
3841
39- assertThat (TestUtils .getNumberOfExecutions (operator )).isEqualTo (1 );
42+ assertThat (TestUtils .getNumberOfExecutions (extension )).isEqualTo (1 );
4043 assertThat (customResource .getStatus ().getState ())
4144 .isEqualTo (PatchResourceAndStatusNoSSAStatus .State .SUCCESS );
4245 assertThat (customResource .getMetadata ().getAnnotations ().get (TEST_ANNOTATION )).isNotNull ();
4346 }
4447
48+ @ Test
49+ void removeAnnotationCorrectlyUpdatesStatus () {
50+ extension
51+ .getReconcilerOfType (PatchResourceAndStatusNoSSAReconciler .class )
52+ .setRemoveAnnotation (true );
53+ PatchResourceAndStatusNoSSACustomResource resource = createTestCustomResource ("1" );
54+ resource .getMetadata ().setAnnotations (Map .of (TEST_ANNOTATION , TEST_ANNOTATION_VALUE ));
55+ extension .create (resource );
56+
57+ awaitStatusUpdated (resource .getMetadata ().getName ());
58+ // wait for sure, there are no more events
59+ TestUtils .waitXms (300 );
60+
61+ PatchResourceAndStatusNoSSACustomResource customResource =
62+ extension .get (
63+ PatchResourceAndStatusNoSSACustomResource .class , resource .getMetadata ().getName ());
64+
65+ assertThat (TestUtils .getNumberOfExecutions (extension )).isEqualTo (1 );
66+ assertThat (customResource .getStatus ().getState ())
67+ .isEqualTo (PatchResourceAndStatusNoSSAStatus .State .SUCCESS );
68+ assertThat (customResource .getMetadata ().getAnnotations ().get (TEST_ANNOTATION )).isNull ();
69+ }
70+
4571 void awaitStatusUpdated (String name ) {
4672 await ("cr status updated" )
4773 .atMost (5 , TimeUnit .SECONDS )
4874 .untilAsserted (
4975 () -> {
5076 PatchResourceAndStatusNoSSACustomResource cr =
51- operator .get (PatchResourceAndStatusNoSSACustomResource .class , name );
77+ extension .get (PatchResourceAndStatusNoSSACustomResource .class , name );
5278 assertThat (cr ).isNotNull ();
5379 assertThat (cr .getStatus ()).isNotNull ();
5480 assertThat (cr .getStatus ().getState ())
@@ -60,7 +86,6 @@ public PatchResourceAndStatusNoSSACustomResource createTestCustomResource(String
6086 PatchResourceAndStatusNoSSACustomResource resource =
6187 new PatchResourceAndStatusNoSSACustomResource ();
6288 resource .setMetadata (new ObjectMetaBuilder ().withName ("doubleupdateresource-" + id ).build ());
63- resource .getMetadata ().setAnnotations (Map .of (TEST_ANNOTATION , TEST_ANNOTATION_VALUE ));
6489 resource .setSpec (new PatchResourceAndStatusNoSSASpec ());
6590 resource .getSpec ().setValue (id );
6691 return resource ;
0 commit comments