@Test public void testExtractStreamMessageTypeAttributes() throws JMSException { StreamMessage objectMessage = mock(StreamMessage.class); Operation op = new Operation(); extractMessageTypeAttributes(op, objectMessage); String type = op.get(MESSAGE_TYPE, String.class); assertEquals(MessageType.StreamMessage.name(), type); assertNull(op.get(MESSAGE_CONTENT)); assertNull(op.get(MESSAGE_CONTENT_MAP)); }
@Test public void testExtractTextMessageTypeAttributes() throws JMSException { TextMessage txtMessage = mock(TextMessage.class); when(txtMessage.getText()).thenReturn("test-text"); Operation op = new Operation(); extractMessageTypeAttributes(op, txtMessage); String type = op.get(MESSAGE_TYPE, String.class); String content = op.get(MESSAGE_CONTENT, String.class); assertEquals(MessageType.TextMessage.name(), type); assertEquals("test-text", content); assertNull(op.get(MESSAGE_CONTENT_MAP)); }
@Test public void testExtractMapMessageTypeAttributes() throws JMSException { MapMessage mapMessage = mock(MapMessage.class); final Map<String, String> mockMap = new HashMap<String, String>(); mockMap.put("test-key", "test-value"); when(mapMessage.getMapNames()) .thenReturn( new Enumeration<String>() { Iterator<String> iter = mockMap.keySet().iterator(); public boolean hasMoreElements() { return iter.hasNext(); } public String nextElement() { return iter.next(); } }); when(mapMessage.getObject( argThat( new BaseMatcher<String>() { public boolean matches(Object val) { return "test-key".equals(val); } public void describeTo(Description desc) { // do nothing } }))) .thenReturn(mockMap.get("test-key")); Operation op = new Operation(); extractMessageTypeAttributes(op, mapMessage); String type = op.get(MESSAGE_TYPE, String.class); OperationMap contentMap = op.get(MESSAGE_CONTENT_MAP, OperationMap.class); assertNotNull(contentMap); assertEquals(mockMap.size(), contentMap.size()); assertEquals(mockMap.get("test-key"), contentMap.get("test-key")); assertEquals(MessageType.MapMessage.name(), type); assertNull(op.get(MESSAGE_CONTENT)); }