66import com .github .containersolutions .operator .processing .EventDispatcher ;
77import com .github .containersolutions .operator .sample .TestCustomResource ;
88import io .fabric8 .kubernetes .api .model .ObjectMetaBuilder ;
9- import io .fabric8 .kubernetes .client .*;
10- import io .fabric8 .kubernetes .client .dsl .NonNamespaceOperation ;
9+ import io .fabric8 .kubernetes .client .CustomResource ;
10+ import io .fabric8 .kubernetes .client .CustomResourceDoneable ;
11+ import io .fabric8 .kubernetes .client .CustomResourceList ;
12+ import io .fabric8 .kubernetes .client .Watcher ;
1113import io .fabric8 .kubernetes .client .dsl .Replaceable ;
12- import io .fabric8 .kubernetes .client .dsl .Resource ;
1314import io .fabric8 .kubernetes .client .dsl .internal .CustomResourceOperationsImpl ;
14- import io .fabric8 .kubernetes .client .dsl .internal .RawCustomResourceOperationsImpl ;
1515import org .junit .jupiter .api .BeforeEach ;
1616import org .junit .jupiter .api .Test ;
1717import org .mockito .ArgumentMatchers ;
@@ -27,49 +27,39 @@ class EventDispatcherTest {
2727 private CustomResource testCustomResource ;
2828 private EventDispatcher <CustomResource > eventDispatcher ;
2929 private ResourceController <CustomResource > resourceController = mock (ResourceController .class );
30- private NonNamespaceOperation <CustomResource , CustomResourceList <CustomResource >,
31- CustomResourceDoneable <CustomResource >,
32- Resource <CustomResource , CustomResourceDoneable <CustomResource >>>
33- operation = mock (NonNamespaceOperation .class );
34- private KubernetesClient k8sClient = mock (KubernetesClient .class );
3530 private CustomResourceOperationsImpl <CustomResource , CustomResourceList <CustomResource >,
3631 CustomResourceDoneable <CustomResource >> resourceOperation = mock (CustomResourceOperationsImpl .class );
3732
38- private RawCustomResourceOperationsImpl rawResourceOperations = mock (RawCustomResourceOperationsImpl .class );
3933 @ BeforeEach
4034 void setup () {
41- eventDispatcher = new EventDispatcher (resourceController , resourceOperation , operation , k8sClient ,
35+ eventDispatcher = new EventDispatcher (resourceController , resourceOperation ,
4236 Controller .DEFAULT_FINALIZER );
4337
4438 testCustomResource = getResource ();
4539
46- when (resourceController .createOrUpdateResource (eq (testCustomResource ), any () )).thenReturn (Optional .of (testCustomResource ));
47- when (resourceController .deleteResource (eq (testCustomResource ), any () )).thenReturn (true );
40+ when (resourceController .createOrUpdateResource (eq (testCustomResource ))).thenReturn (Optional .of (testCustomResource ));
41+ when (resourceController .deleteResource (eq (testCustomResource ))).thenReturn (true );
4842 when (resourceOperation .lockResourceVersion (any ())).thenReturn (mock (Replaceable .class ));
49-
50- // K8s client mocking
51- when (k8sClient .customResource (any ())).thenReturn (rawResourceOperations );
52- when (rawResourceOperations .get (any (), any ())).thenReturn (getRawResource ());
5343 }
5444
5545 @ Test
5646 void callCreateOrUpdateOnNewResource () {
5747 eventDispatcher .handleEvent (Watcher .Action .ADDED , testCustomResource );
58- verify (resourceController , times (1 )).createOrUpdateResource (ArgumentMatchers .eq (testCustomResource ), any () );
48+ verify (resourceController , times (1 )).createOrUpdateResource (ArgumentMatchers .eq (testCustomResource ));
5949 }
6050
6151 @ Test
6252 void callCreateOrUpdateOnModifiedResource () {
6353 eventDispatcher .handleEvent (Watcher .Action .MODIFIED , testCustomResource );
64- verify (resourceController , times (1 )).createOrUpdateResource (ArgumentMatchers .eq (testCustomResource ), any () );
54+ verify (resourceController , times (1 )).createOrUpdateResource (ArgumentMatchers .eq (testCustomResource ));
6555 }
6656
6757 @ Test
6858 void adsDefaultFinalizerOnCreateIfNotThere () {
6959 eventDispatcher .handleEvent (Watcher .Action .MODIFIED , testCustomResource );
7060 verify (resourceController , times (1 ))
7161 .createOrUpdateResource (argThat (testCustomResource ->
72- testCustomResource .getMetadata ().getFinalizers ().contains (Controller .DEFAULT_FINALIZER )), any () );
62+ testCustomResource .getMetadata ().getFinalizers ().contains (Controller .DEFAULT_FINALIZER )));
7363 }
7464
7565 @ Test
@@ -79,7 +69,7 @@ void callsDeleteIfObjectHasFinalizerAndMarkedForDelete() {
7969
8070 eventDispatcher .handleEvent (Watcher .Action .MODIFIED , testCustomResource );
8171
82- verify (resourceController , times (1 )).deleteResource (eq (testCustomResource ), any () );
72+ verify (resourceController , times (1 )).deleteResource (eq (testCustomResource ));
8373 }
8474
8575 /**
@@ -91,7 +81,7 @@ void callDeleteOnControllerIfMarkedForDeletionButThereIsNoDefaultFinalizer() {
9181
9282 eventDispatcher .handleEvent (Watcher .Action .MODIFIED , testCustomResource );
9383
94- verify (resourceController ).deleteResource (eq (testCustomResource ), any () );
84+ verify (resourceController ).deleteResource (eq (testCustomResource ));
9585 }
9686
9787 @ Test
@@ -107,7 +97,7 @@ void removesDefaultFinalizerOnDelete() {
10797
10898 @ Test
10999 void doesNotRemovesTheFinalizerIfTheDeleteMethodRemovesFalse () {
110- when (resourceController .deleteResource (eq (testCustomResource ), any () )).thenReturn (false );
100+ when (resourceController .deleteResource (eq (testCustomResource ))).thenReturn (false );
111101 markForDeletion (testCustomResource );
112102 testCustomResource .getMetadata ().getFinalizers ().add (Controller .DEFAULT_FINALIZER );
113103
@@ -120,7 +110,7 @@ void doesNotRemovesTheFinalizerIfTheDeleteMethodRemovesFalse() {
120110 @ Test
121111 void doesNotUpdateTheResourceIfEmptyOptionalReturned () {
122112 testCustomResource .getMetadata ().getFinalizers ().add (Controller .DEFAULT_FINALIZER );
123- when (resourceController .createOrUpdateResource (eq (testCustomResource ), any () )).thenReturn (Optional .empty ());
113+ when (resourceController .createOrUpdateResource (eq (testCustomResource ))).thenReturn (Optional .empty ());
124114
125115 eventDispatcher .handleEvent (Watcher .Action .MODIFIED , testCustomResource );
126116
@@ -129,7 +119,7 @@ void doesNotUpdateTheResourceIfEmptyOptionalReturned() {
129119
130120 @ Test
131121 void addsFinalizerIfNotMarkedForDeletionAndEmptyCustomResourceReturned () {
132- when (resourceController .createOrUpdateResource (eq (testCustomResource ), any () )).thenReturn (Optional .empty ());
122+ when (resourceController .createOrUpdateResource (eq (testCustomResource ))).thenReturn (Optional .empty ());
133123
134124 eventDispatcher .handleEvent (Watcher .Action .MODIFIED , testCustomResource );
135125
@@ -140,26 +130,14 @@ void addsFinalizerIfNotMarkedForDeletionAndEmptyCustomResourceReturned() {
140130 @ Test
141131 void doesNotAddFinalizerIfOptionalIsReturnedButMarkedForDeletion () {
142132 markForDeletion (testCustomResource );
143- when (resourceController .createOrUpdateResource (eq (testCustomResource ), any () )).thenReturn (Optional .empty ());
133+ when (resourceController .createOrUpdateResource (eq (testCustomResource ))).thenReturn (Optional .empty ());
144134
145135 eventDispatcher .handleEvent (Watcher .Action .MODIFIED , testCustomResource );
146136
147137 assertEquals (0 , testCustomResource .getMetadata ().getFinalizers ().size ());
148138 verify (resourceOperation , never ()).lockResourceVersion (any ());
149139 }
150140
151- /**
152- * When receiving a DELETE event the resource is already gone and we did the processing already on a MODIFIED
153- * event received when then finalizer is added. The correct action on a DELETE event is a noop.
154- */
155- @ Test
156- void doesntDoAnythingOnDeleteEvent () {
157- eventDispatcher .handleEvent (Watcher .Action .DELETED , testCustomResource );
158-
159- verify (k8sClient , never ()).customResource (any ());
160- }
161-
162-
163141 private void markForDeletion (CustomResource customResource ) {
164142 customResource .getMetadata ().setDeletionTimestamp ("2019-8-10" );
165143 }
0 commit comments