package us.b3k.kafka.ws.messages; import org.junit.Test; import javax.websocket.DecodeException; import javax.websocket.EncodeException; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; public class TextMessageTest { public static TextMessage.TextMessageEncoder encoder = new TextMessage.TextMessageEncoder(); public static TextMessage.TextMessageDecoder decoder = new TextMessage.TextMessageDecoder(); public static String message = "{\"topic\":\"my_topic\",\"message\":\"my awesome message\"}"; public static String keyedMessage = "{\"topic\":\"my_topic\",\"key\":\"my_key123\",\"message\":\"my awesome message\"}"; @Test public void textToMessage() throws DecodeException { TextMessage textMessage = decoder.decode(message); assertEquals(textMessage.getTopic(), "my_topic"); assertFalse(textMessage.isKeyed()); assertEquals(textMessage.getMessage(), "my awesome message"); } @Test public void messageToText() throws EncodeException { TextMessage textMessage = new TextMessage("my_topic", "my awesome message"); assertEquals(encoder.encode(textMessage), message); } @Test public void textToKeyedMessage() throws DecodeException { TextMessage textMessage = decoder.decode(keyedMessage); assertEquals(textMessage.getTopic(), "my_topic"); assertEquals(textMessage.getKey(), "my_key123"); assertEquals(textMessage.getMessage(), "my awesome message"); } @Test public void keyedMessageToText() throws EncodeException { TextMessage textMessage = new TextMessage("my_topic", "my_key123", "my awesome message"); assertEquals(encoder.encode(textMessage), keyedMessage); } }