Search in sources :

Example 1 with ControllerResourceEventSource

use of io.javaoperatorsdk.operator.processing.event.source.controller.ControllerResourceEventSource in project java-operator-sdk by java-operator-sdk.

the class EventSourceManagerTest method retrievingEventSourceForClassShouldWork.

@Test
void retrievingEventSourceForClassShouldWork() {
    assertTrue(eventSourceManager.getResourceEventSourceFor(null).isEmpty());
    assertTrue(eventSourceManager.getResourceEventSourceFor(Class.class).isEmpty());
    // manager is initialized with a controller configured to handle HasMetadata
    EventSourceManager manager = initManager();
    Optional<EventSource> source = manager.getResourceEventSourceFor(HasMetadata.class);
    assertTrue(source.isPresent());
    assertTrue(source.get() instanceof ControllerResourceEventSource);
    CachingEventSource eventSource = mock(CachingEventSource.class);
    when(eventSource.getResourceClass()).thenReturn(String.class);
    manager.registerEventSource(eventSource);
    source = manager.getResourceEventSourceFor(String.class);
    assertTrue(source.isPresent());
    assertEquals(eventSource, source.get());
}
Also used : EventSource(io.javaoperatorsdk.operator.processing.event.source.EventSource) CachingEventSource(io.javaoperatorsdk.operator.processing.event.source.CachingEventSource) ControllerResourceEventSource(io.javaoperatorsdk.operator.processing.event.source.controller.ControllerResourceEventSource) TimerEventSource(io.javaoperatorsdk.operator.processing.event.source.timer.TimerEventSource) ControllerResourceEventSource(io.javaoperatorsdk.operator.processing.event.source.controller.ControllerResourceEventSource) CachingEventSource(io.javaoperatorsdk.operator.processing.event.source.CachingEventSource) Test(org.junit.jupiter.api.Test)

Example 2 with ControllerResourceEventSource

use of io.javaoperatorsdk.operator.processing.event.source.controller.ControllerResourceEventSource in project java-operator-sdk by java-operator-sdk.

the class EventSourceManagerTest method timerAndControllerEventSourcesShouldBeListedFirst.

@Test
void timerAndControllerEventSourcesShouldBeListedFirst() {
    EventSourceManager manager = initManager();
    CachingEventSource eventSource = mock(CachingEventSource.class);
    when(eventSource.getResourceClass()).thenReturn(String.class);
    manager.registerEventSource(eventSource);
    final Set<EventSource> sources = manager.getRegisteredEventSources();
    assertEquals(3, sources.size());
    final Iterator<EventSource> iterator = sources.iterator();
    for (int i = 0; i < sources.size(); i++) {
        final EventSource source = iterator.next();
        switch(i) {
            case 0:
                assertTrue(source instanceof TimerEventSource);
                break;
            case 1:
                assertTrue(source instanceof ControllerResourceEventSource);
                break;
            case 2:
                assertTrue(source instanceof CachingEventSource);
                break;
            default:
                fail();
        }
    }
}
Also used : EventSource(io.javaoperatorsdk.operator.processing.event.source.EventSource) CachingEventSource(io.javaoperatorsdk.operator.processing.event.source.CachingEventSource) ControllerResourceEventSource(io.javaoperatorsdk.operator.processing.event.source.controller.ControllerResourceEventSource) TimerEventSource(io.javaoperatorsdk.operator.processing.event.source.timer.TimerEventSource) ControllerResourceEventSource(io.javaoperatorsdk.operator.processing.event.source.controller.ControllerResourceEventSource) CachingEventSource(io.javaoperatorsdk.operator.processing.event.source.CachingEventSource) TimerEventSource(io.javaoperatorsdk.operator.processing.event.source.timer.TimerEventSource) Test(org.junit.jupiter.api.Test)

Aggregations

CachingEventSource (io.javaoperatorsdk.operator.processing.event.source.CachingEventSource)2 EventSource (io.javaoperatorsdk.operator.processing.event.source.EventSource)2 ControllerResourceEventSource (io.javaoperatorsdk.operator.processing.event.source.controller.ControllerResourceEventSource)2 TimerEventSource (io.javaoperatorsdk.operator.processing.event.source.timer.TimerEventSource)2 Test (org.junit.jupiter.api.Test)2