@Test(expected = IllegalArgumentException.class) public void twoStringsNoAnnotations() throws Exception { this.getHandler("twoStringsNoAnnotations", String.class, String.class); }
@Test(expected = IllegalArgumentException.class) public void twoMapsNoAnnotations() throws Exception { this.getHandler("twoMapsNoAnnotations", Map.class, Map.class); }
@Test(expected = IllegalArgumentException.class) public void twoMapsNoAnnotationsAndObject() throws Exception { this.getHandler("twoMapsNoAnnotationsAndObject", Map.class, Object.class, Map.class); }
@Test public void singleIntegerHeaderOnlyWithIntegerPayload() throws Exception { MessageHandler handler = this.getHandler("singleIntegerHeaderOnly", Integer.class); Map<String, Object> headers = new HashMap<String, Object>(); headers.put("foo", new Integer(123)); headers.put("bar", new Integer(456)); Message<?> message = MessageBuilder.withPayload(new Integer(789)) .copyHeaders(headers).build(); handler.handleMessage(message); assertNull(bean.lastPayload); assertEquals(new Integer(123), bean.lastHeaders.get("foo")); assertNull(bean.lastHeaders.get("bar")); }
@Test public void singleObjectHeaderOnlyWithIntegerPayload() throws Exception { MessageHandler handler = this.getHandler("singleObjectHeaderOnly", Object.class); Map<String, Object> headers = new HashMap<String, Object>(); headers.put("foo", new Integer(123)); headers.put("bar", new Integer(456)); Message<?> message = MessageBuilder.withPayload(new Integer(789)) .copyHeaders(headers).build(); handler.handleMessage(message); assertNull(bean.lastPayload); assertEquals(new Integer(123), bean.lastHeaders.get("foo")); assertNull(bean.lastHeaders.get("bar")); }
@Test public void singleIntegerHeaderOnlyWithIntegerPayloadAndStringHeader() throws Exception { MessageHandler handler = this.getHandler("singleIntegerHeaderOnly", Integer.class); Map<String, Object> headers = new HashMap<String, Object>(); headers.put("foo", "999"); headers.put("bar", new Integer(456)); Message<?> message = MessageBuilder.withPayload(new Integer(789)) .copyHeaders(headers).build(); handler.handleMessage(message); assertNull(bean.lastPayload); assertEquals(new Integer(999), bean.lastHeaders.get("foo")); assertNull(bean.lastHeaders.get("bar")); }
@Test public void singleIntegerHeaderOnlyWithStringPayload() throws Exception { MessageHandler handler = this.getHandler("singleIntegerHeaderOnly", Integer.class); Map<String, Object> headers = new HashMap<String, Object>(); headers.put("foo", new Integer(123)); headers.put("bar", new Integer(456)); Message<?> message = MessageBuilder.withPayload("test") .copyHeaders(headers).build(); handler.handleMessage(message); assertNull(bean.lastPayload); assertEquals(new Integer(123), bean.lastHeaders.get("foo")); assertNull(bean.lastHeaders.get("bar")); }
@Test public void singleStringHeaderOnlyWithIntegerPayload() throws Exception { MessageHandler handler = this.getHandler("singleStringHeaderOnly", String.class); Map<String, Object> headers = new HashMap<String, Object>(); headers.put("foo", "1"); headers.put("bar", "2"); Message<?> message = MessageBuilder.withPayload(new Integer(123)) .copyHeaders(headers).build(); handler.handleMessage(message); assertNull(bean.lastPayload); assertEquals("1", bean.lastHeaders.get("foo")); assertNull(bean.lastHeaders.get("bar")); }
@Test public void singleObjectHeaderOnlyWithObjectPayload() throws Exception { MessageHandler handler = this.getHandler("singleObjectHeaderOnly", Object.class); Map<String, Object> headers = new HashMap<String, Object>(); headers.put("foo", "123"); headers.put("bar", "456"); Message<?> message = MessageBuilder.withPayload(new Object()) .copyHeaders(headers).build(); handler.handleMessage(message); assertNull(bean.lastPayload); assertEquals("123", bean.lastHeaders.get("foo")); assertNull(bean.lastHeaders.get("bar")); }
@Test public void propertiesOnlyNoAnnotationsWithIntegerPayload() throws Exception { MessageHandler handler = this.getHandler("propertiesOnlyNoAnnotations", Properties.class); Integer payload = new Integer(123); Map<String, Object> headers = new HashMap<String, Object>(); headers.put("foo", "1"); headers.put("bar", "2"); Message<?> message = MessageBuilder.withPayload(payload).copyHeaders(headers).build(); handler.handleMessage(message); assertNull(bean.lastPayload); assertTrue(bean.lastHeaders.containsKey("foo")); assertTrue(bean.lastHeaders.containsKey("bar")); }
@Test public void singleObjectHeaderOnlyWithStringPayload() throws Exception { MessageHandler handler = this.getHandler("singleObjectHeaderOnly", Object.class); Map<String, Object> headers = new HashMap<String, Object>(); headers.put("foo", "123"); headers.put("bar", "456"); Message<?> message = MessageBuilder.withPayload("test") .copyHeaders(headers).build(); handler.handleMessage(message); assertNull(bean.lastPayload); assertEquals("123", bean.lastHeaders.get("foo")); assertNull(bean.lastHeaders.get("bar")); }
@Test public void headerMapOnlyWithStringPayload() throws Exception { MessageHandler handler = this.getHandler("headerMapOnly", Map.class); String payload = "test"; Map<String, Object> headers = new HashMap<String, Object>(); headers.put("foo", "1"); headers.put("bar", "2"); headers.put("baz", 99); Message<?> message = MessageBuilder.withPayload(payload).copyHeaders(headers).build(); handler.handleMessage(message); assertNull(payload, bean.lastPayload); assertTrue(bean.lastHeaders.containsKey("foo")); assertTrue(bean.lastHeaders.containsKey("bar")); assertTrue(bean.lastHeaders.containsKey("baz")); }
@Test public void singleStringHeaderOnlyWithStringPayload() throws Exception { MessageHandler handler = this.getHandler("singleStringHeaderOnly", String.class); Map<String, Object> headers = new HashMap<String, Object>(); headers.put("foo", "1"); headers.put("bar", "2"); Message<?> message = MessageBuilder.withPayload("test") .copyHeaders(headers).build(); handler.handleMessage(message); assertNull(bean.lastPayload); assertEquals("1", bean.lastHeaders.get("foo")); assertNull(bean.lastHeaders.get("bar")); }
@Test public void headerMapAndObjectPayload() throws Exception { MessageHandler handler = this.getHandler("headerMapAndObjectPayload", Map.class, Object.class); Object payload = "test"; Map<String, Object> headers = new HashMap<String, Object>(); headers.put("foo", "1"); headers.put("bar", "2"); headers.put("baz", 99); Message<?> message = MessageBuilder.withPayload(payload).copyHeaders(headers).build(); handler.handleMessage(message); assertEquals(payload, bean.lastPayload); assertTrue(bean.lastHeaders.containsKey("foo")); assertTrue(bean.lastHeaders.containsKey("bar")); assertTrue(bean.lastHeaders.containsKey("baz")); }
@Test public void mapOnlyNoAnnotationsWithMapPayload() throws Exception { MessageHandler handler = this.getHandler("mapOnlyNoAnnotations", Map.class); Map<String, Object> payload = new HashMap<String, Object>(); payload.put("payload", 1); Map<String, Object> headers = new HashMap<String, Object>(); Message<?> message = MessageBuilder.withPayload(payload).copyHeaders(headers).build(); handler.handleMessage(message); assertEquals(payload, bean.lastPayload); assertNull(bean.lastHeaders); }
@Test public void mapAndAnnotatedStringHeaderWithStringPayload() throws Exception { MessageHandler handler = this.getHandler( "mapAndAnnotatedStringHeaderExpectingMapAsHeaders", Map.class, String.class); Map<String, Object> headers = new HashMap<String, Object>(); headers.put("foo", "1"); headers.put("bar", "2"); Message<?> message = MessageBuilder.withPayload("test") .copyHeaders(headers).build(); handler.handleMessage(message); assertNull(bean.lastPayload); assertEquals("1", bean.lastHeaders.get("foo")); assertEquals("2", bean.lastHeaders.get("bar")); assertEquals("1", bean.lastHeaders.get("foo2")); }
@Test public void twoMapsWithAnnotationsWithStringPayload() throws Exception { MessageHandler handler = this.getHandler("twoMapsWithAnnotations", Map.class, Map.class); Map<String, Object> headers = new HashMap<String, Object>(); headers.put("foo", "1"); headers.put("bar", "2"); Message<?> message = MessageBuilder.withPayload("test").copyHeaders(headers).build(); handler.handleMessage(message); assertNull(bean.lastPayload); assertEquals("1", bean.lastHeaders.get("foo")); assertEquals("2", bean.lastHeaders.get("bar")); assertEquals("1", bean.lastHeaders.get("foo2")); assertEquals("2", bean.lastHeaders.get("bar2")); }
@Test public void propertiesOnlyNoAnnotationsWithPropertiesPayload() throws Exception { MessageHandler handler = this.getHandler("propertiesOnlyNoAnnotations", Properties.class); Properties payload = new Properties(); payload.setProperty("payload", "1"); Map<String, Object> headers = new HashMap<String, Object>(); Message<?> message = MessageBuilder.withPayload(payload).copyHeaders(headers).build(); handler.handleMessage(message); assertEquals(payload, bean.lastPayload); assertNull(bean.lastHeaders); }
@Test public void propertiesOnlyNoAnnotationsWithMapPayload() throws Exception { MessageHandler handler = this.getHandler("propertiesOnlyNoAnnotations", Properties.class); Map<String, Object> payload = new HashMap<String, Object>(); payload.put("payload", 1); Map<String, Object> headers = new HashMap<String, Object>(); Message<?> message = MessageBuilder.withPayload(payload).copyHeaders(headers).build(); handler.handleMessage(message); assertEquals(payload, bean.lastPayload); assertNull(bean.lastHeaders); }
@Test public void twoPayloadExpressions() throws Exception { MessageHandler handler = this.getHandler("twoPayloadExpressions", String.class, String.class); Map<String, Object> payload = new HashMap<String, Object>(); payload.put("foo", 123); payload.put("bar", 456); Message<?> message = MessageBuilder.withPayload(payload).build(); handler.handleMessage(message); assertNull(bean.lastHeaders); assertNotNull(bean.lastPayload); assertEquals("123456", bean.lastPayload); }