@Test public void resolveDefaultValueSystemProperty() throws Exception { System.setProperty("systemProperty", "sysbar"); try { Message<byte[]> message = MessageBuilder.withPayload(new byte[0]).build(); Object result = resolver.resolveArgument(paramSystemPropertyDefaultValue, message); assertEquals("sysbar", result); } finally { System.clearProperty("systemProperty"); } }
@Test(expected = MessageHandlingException.class) public void resolveArgumentNotFound() throws Exception { Message<byte[]> message = MessageBuilder.withPayload(new byte[0]).build(); this.resolver.resolveArgument(this.paramRequired, message); }
@Test public void resolveNameFromSystemProperty() throws Exception { System.setProperty("systemProperty", "sysbar"); try { Message<byte[]> message = MessageBuilder.withPayload(new byte[0]).setHeader("sysbar", "foo").build(); Object result = resolver.resolveArgument(paramSystemPropertyName, message); assertEquals("foo", result); } finally { System.clearProperty("systemProperty"); } }
@Test public void resolveArgumentDefaultValue() throws Exception { Message<byte[]> message = MessageBuilder.withPayload(new byte[0]).build(); Object result = this.resolver.resolveArgument(this.paramNamedDefaultValueStringHeader, message); assertEquals("bar", result); }
@Test public void resolveArgumentNativeHeaderAmbiguity() throws Exception { TestMessageHeaderAccessor headers = new TestMessageHeaderAccessor(); headers.setHeader("param1", "foo"); headers.setNativeHeader("param1", "native-foo"); Message<byte[]> message = MessageBuilder.withPayload(new byte[0]).setHeaders(headers).build(); assertEquals("foo", this.resolver.resolveArgument(this.paramRequired, message)); assertEquals("native-foo", this.resolver.resolveArgument(this.paramNativeHeader, message)); }
@Test public void resolveArgument() throws Exception { Message<byte[]> message = MessageBuilder.withPayload(new byte[0]).setHeader("param1", "foo").build(); Object result = this.resolver.resolveArgument(this.paramRequired, message); assertEquals("foo", result); }
@Test // SPR-11326 public void resolveArgumentNativeHeader() throws Exception { TestMessageHeaderAccessor headers = new TestMessageHeaderAccessor(); headers.setNativeHeader("param1", "foo"); Message<byte[]> message = MessageBuilder.withPayload(new byte[0]).setHeaders(headers).build(); assertEquals("foo", this.resolver.resolveArgument(this.paramRequired, message)); }
@Test public void resolveOptionalHeaderAsEmpty() throws Exception { GenericApplicationContext cxt = new GenericApplicationContext(); cxt.refresh(); HeaderMethodArgumentResolver resolver = new HeaderMethodArgumentResolver(new DefaultConversionService(), cxt.getBeanFactory()); Message<String> message = MessageBuilder.withPayload("foo").build(); Object result = resolver.resolveArgument(paramOptional, message); assertEquals(Optional.empty(), result); }
@Test public void resolveOptionalHeaderWithValue() throws Exception { GenericApplicationContext cxt = new GenericApplicationContext(); cxt.refresh(); HeaderMethodArgumentResolver resolver = new HeaderMethodArgumentResolver(new DefaultConversionService(), cxt.getBeanFactory()); Message<String> message = MessageBuilder.withPayload("foo").setHeader("foo", "bar").build(); Object result = resolver.resolveArgument(paramOptional, message); assertEquals(Optional.of("bar"), result); }