java-cookbook/messaging/src/test/java/messagebroker/handlers/EchoMessageHandlerTest.java
2020-03-15 18:59:33 +01:00

39 lines
1.1 KiB
Java

package messagebroker.handlers;
import messagebroker.MessageHandlerContext;
import messagebroker.UnknownMessageFormatException;
import org.junit.Before;
import org.junit.Test;
import java.io.IOException;
import java.io.OutputStream;
import static org.mockito.Mockito.*;
public class EchoMessageHandlerTest {
private final MessageHandlerContext context = mock(MessageHandlerContext.class);
private EchoMessageHandler messageHandler;
public EchoMessageHandlerTest() {
when(context.getOutputStream()).thenReturn(mock(OutputStream.class));
}
@Before()
public void setUp() {
messageHandler = new EchoMessageHandler(context);
}
@Test
public void shouldHandleEchoMessage() throws UnknownMessageFormatException, IOException {
var message = "ECHO Some message";
messageHandler.handleMessage(message);
verify(context.getOutputStream()).flush();
}
@Test(expected = UnknownMessageFormatException.class)
public void shouldThrowWhenMessageIsUnknown() throws UnknownMessageFormatException {
var message = "Bad message";
messageHandler.handleMessage(message);
}
}