@Test public void notConnected() { when(connection.isConnected()).thenReturn(false); messageFetcher.run(); verify(connection).isConnected(); verifyNoMoreInteractions(connection); verifyZeroInteractions(eventPublisher, platformManager); } }
@Test @SuppressWarnings("unchecked") public void unexpectedException() throws Exception { when(connection.isConnected()).thenReturn(true); when(platformManager.getPlatformId()).thenReturn(10L); when(connection.fetchAgentMessages(any(Long.class))).thenThrow(RuntimeException.class); messageFetcher.run(); verify(connection).isConnected(); verify(connection).fetchAgentMessages(any(Long.class)); verify(platformManager).getPlatformId(); verifyNoMoreInteractions(connection, platformManager); verifyZeroInteractions(eventPublisher); }
@Test @SuppressWarnings("unchecked") public void serverUnavailable() throws Exception { when(connection.isConnected()).thenReturn(true); when(platformManager.getPlatformId()).thenReturn(10L); when(connection.fetchAgentMessages(any(Long.class))).thenThrow(ServerUnavailableException.class); messageFetcher.run(); verify(connection).isConnected(); verify(connection).fetchAgentMessages(any(Long.class)); verify(platformManager).getPlatformId(); verifyNoMoreInteractions(connection, platformManager); verifyZeroInteractions(eventPublisher); }
@Test @SuppressWarnings("unchecked") public void successfulNoMessages() throws Exception { when(connection.isConnected()).thenReturn(true); when(platformManager.getPlatformId()).thenReturn(10L); when(connection.fetchAgentMessages(10L)).thenReturn(Collections.EMPTY_LIST); messageFetcher.run(); verify(connection).isConnected(); verify(connection).fetchAgentMessages(10L); verify(platformManager).getPlatformId(); verifyNoMoreInteractions(connection, platformManager); verifyZeroInteractions(eventPublisher); }
@Test public void successful() throws Exception { when(connection.isConnected()).thenReturn(true); when(platformManager.getPlatformId()).thenReturn(10L); List<IAgentMessage<?>> messages = Arrays.<IAgentMessage<?>> asList(mock(IAgentMessage.class)); when(connection.fetchAgentMessages(10L)).thenReturn(messages); messageFetcher.run(); verify(connection).isConnected(); verify(connection).fetchAgentMessages(10L); verify(platformManager).getPlatformId(); ArgumentCaptor<AgentMessagesReceivedEvent> eventCaptor = ArgumentCaptor.forClass(AgentMessagesReceivedEvent.class); verify(eventPublisher).publishEvent(eventCaptor.capture()); verifyNoMoreInteractions(connection, eventPublisher, platformManager); assertThat(eventCaptor.getValue().getAgentMessages(), is(equalTo(messages))); }