@Test public void resolveDefaultValueFromSystemProperty() throws Exception { System.setProperty("systemProperty", "bar"); try { Mono<Object> mono = this.resolver.resolveArgument( this.paramSystemProperty, this.bindingContext, MockServerWebExchange.from(MockServerHttpRequest.get("/"))); Object result = mono.block(); assertTrue(result instanceof String); assertEquals("bar", result); } finally { System.clearProperty("systemProperty"); } }
@Test public void resolveDefaultValue() throws Exception { MockServerWebExchange exchange = MockServerWebExchange.from(MockServerHttpRequest.get("/")); Mono<Object> mono = this.resolver.resolveArgument( this.paramNamedDefaultValueStringHeader, this.bindingContext, exchange); Object result = mono.block(); assertTrue(result instanceof String); assertEquals("bar", result); }
@Test public void resolveNameFromSystemPropertyThroughExpression() throws Exception { String expected = "foo"; MockServerHttpRequest request = MockServerHttpRequest.get("/").header("bar", expected).build(); ServerWebExchange exchange = MockServerWebExchange.from(request); System.setProperty("systemProperty", "bar"); try { Mono<Object> mono = this.resolver.resolveArgument( this.paramResolvedNameWithExpression, this.bindingContext, exchange); Object result = mono.block(); assertTrue(result instanceof String); assertEquals(expected, result); } finally { System.clearProperty("systemProperty"); } }
@Test @SuppressWarnings("deprecation") public void dateConversion() throws Exception { String rfc1123val = "Thu, 21 Apr 2016 17:11:08 +0100"; MockServerHttpRequest request = MockServerHttpRequest.get("/").header("name", rfc1123val).build(); ServerWebExchange exchange = MockServerWebExchange.from(request); Mono<Object> mono = this.resolver.resolveArgument(this.paramDate, this.bindingContext, exchange); Object result = mono.block(); assertTrue(result instanceof Date); assertEquals(new Date(rfc1123val), result); }
@Test public void resolveNameFromSystemPropertyThroughPlaceholder() throws Exception { String expected = "foo"; MockServerHttpRequest request = MockServerHttpRequest.get("/").header("bar", expected).build(); ServerWebExchange exchange = MockServerWebExchange.from(request); System.setProperty("systemProperty", "bar"); try { Mono<Object> mono = this.resolver.resolveArgument( this.paramResolvedNameWithPlaceholder, this.bindingContext, exchange); Object result = mono.block(); assertTrue(result instanceof String); assertEquals(expected, result); } finally { System.clearProperty("systemProperty"); } }
@Test public void resolveStringArgument() throws Exception { String expected = "foo"; ServerWebExchange exchange = MockServerWebExchange.from(MockServerHttpRequest.get("/").header("name", expected)); Mono<Object> mono = this.resolver.resolveArgument( this.paramNamedDefaultValueStringHeader, this.bindingContext, exchange); Object result = mono.block(); assertTrue(result instanceof String); assertEquals(expected, result); }
@Test public void instantConversion() throws Exception { String rfc1123val = "Thu, 21 Apr 2016 17:11:08 +0100"; MockServerHttpRequest request = MockServerHttpRequest.get("/").header("name", rfc1123val).build(); ServerWebExchange exchange = MockServerWebExchange.from(request); Mono<Object> mono = this.resolver.resolveArgument(this.paramInstant, this.bindingContext, exchange); Object result = mono.block(); assertTrue(result instanceof Instant); assertEquals(Instant.from(DateTimeFormatter.RFC_1123_DATE_TIME.parse(rfc1123val)), result); }
@Test public void resolveStringArrayArgument() throws Exception { MockServerHttpRequest request = MockServerHttpRequest.get("/").header("name", "foo", "bar").build(); ServerWebExchange exchange = MockServerWebExchange.from(request); Mono<Object> mono = this.resolver.resolveArgument( this.paramNamedValueStringArray, this.bindingContext, exchange); Object result = mono.block(); assertTrue(result instanceof String[]); assertArrayEquals(new String[] {"foo", "bar"}, (String[]) result); }
@Test public void notFound() throws Exception { Mono<Object> mono = resolver.resolveArgument( this.paramNamedValueStringArray, this.bindingContext, MockServerWebExchange.from(MockServerHttpRequest.get("/"))); StepVerifier.create(mono) .expectNextCount(0) .expectError(ServerWebInputException.class) .verify(); }