Skip to content

Commit

Permalink
unit test
Browse files Browse the repository at this point in the history
Signed-off-by: Attila Mészáros <a_meszaros@apple.com>
  • Loading branch information
csviri committed Sep 18, 2024
1 parent 4d41730 commit 68627ad
Show file tree
Hide file tree
Showing 2 changed files with 39 additions and 2 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
package io.javaoperatorsdk.operator.api.reconciler;

import org.junit.jupiter.api.Test;

import io.fabric8.kubernetes.api.model.ConfigMap;
import io.fabric8.kubernetes.api.model.Secret;
import io.javaoperatorsdk.operator.processing.Controller;
import io.javaoperatorsdk.operator.processing.event.EventSourceManager;
import io.javaoperatorsdk.operator.processing.event.NoEventSourceForClassException;

import static org.assertj.core.api.Assertions.assertThat;
import static org.junit.jupiter.api.Assertions.*;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;

class DefaultContextTest {

Secret primary = new Secret();
Controller<Secret> mockController = mock(Controller.class);

DefaultContext<?> context = new DefaultContext<>(null, mockController, primary);

@Test
void getSecondaryResourceReturnsEmptyOptionalOnNonActivatedDRType() {
var mockManager = mock(EventSourceManager.class);
when(mockController.getEventSourceManager()).thenReturn(mockManager);
when(mockController.workflowContainsDependentForType(ConfigMap.class)).thenReturn(true);
when(mockManager.getEventSourceFor(any(), any()))
.thenThrow(new NoEventSourceForClassException(ConfigMap.class));

var res = context.getSecondaryResource(ConfigMap.class);

assertThat(res).isEmpty();
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -85,12 +85,12 @@ public void startCascadesToEventSources() {

@Test
void retrievingEventSourceForClassShouldWork() {
assertThatExceptionOfType(IllegalArgumentException.class)
assertThatExceptionOfType(NoEventSourceForClassException.class)
.isThrownBy(() -> eventSourceManager.getEventSourceFor(Class.class));

// manager is initialized with a controller configured to handle HasMetadata
EventSourceManager manager = initManager();
assertThatExceptionOfType(IllegalArgumentException.class)
assertThatExceptionOfType(NoEventSourceForClassException.class)
.isThrownBy(() -> manager.getEventSourceFor(HasMetadata.class, "unknown_name"));

ManagedInformerEventSource eventSource = mock(ManagedInformerEventSource.class);
Expand Down

0 comments on commit 68627ad

Please sign in to comment.