@Test public void zoneId() throws Exception { MethodParameter zoneIdParameter = new MethodParameter(method, 9); assertTrue("ZoneId not supported", resolver.supportsParameter(zoneIdParameter)); Object result = resolver.resolveArgument(zoneIdParameter, null, webRequest, null); assertEquals("Invalid result", ZoneId.systemDefault(), result); }
@Test public void timeZone() throws Exception { MethodParameter timeZoneParameter = new MethodParameter(method, 8); assertTrue("TimeZone not supported", resolver.supportsParameter(timeZoneParameter)); Object result = resolver.resolveArgument(timeZoneParameter, null, webRequest, null); assertEquals("Invalid result", TimeZone.getDefault(), result); }
@Test public void inputStream() throws Exception { MethodParameter inputStreamParameter = new MethodParameter(method, 5); assertTrue("InputStream not supported", resolver.supportsParameter(inputStreamParameter)); Object result = resolver.resolveArgument(inputStreamParameter, null, webRequest, null); assertSame("Invalid result", webRequest.getRequest().getInputStream(), result); }
@Test public void reader() throws Exception { MethodParameter readerParameter = new MethodParameter(method, 6); assertTrue("Reader not supported", resolver.supportsParameter(readerParameter)); Object result = resolver.resolveArgument(readerParameter, null, webRequest, null); assertSame("Invalid result", webRequest.getRequest().getReader(), result); }
@Test public void timeZoneFromResolver() throws Exception { TimeZone timeZone = TimeZone.getTimeZone("America/Los_Angeles"); servletRequest.setAttribute(DispatcherServlet.LOCALE_RESOLVER_ATTRIBUTE, new FixedLocaleResolver(Locale.US, timeZone)); MethodParameter timeZoneParameter = new MethodParameter(method, 8); assertTrue("TimeZone not supported", resolver.supportsParameter(timeZoneParameter)); Object result = resolver.resolveArgument(timeZoneParameter, null, webRequest, null); assertEquals("Invalid result", timeZone, result); }
@Test public void httpMethod() throws Exception { MethodParameter httpMethodParameter = new MethodParameter(method, 10); assertTrue("HttpMethod not supported", resolver.supportsParameter(httpMethodParameter)); Object result = resolver.resolveArgument(httpMethodParameter, null, webRequest, null); assertSame("Invalid result", HttpMethod.valueOf(webRequest.getRequest().getMethod()), result); }
@Test public void webRequest() throws Exception { MethodParameter webRequestParameter = new MethodParameter(method, 7); assertTrue("WebRequest not supported", resolver.supportsParameter(webRequestParameter)); Object result = resolver.resolveArgument(webRequestParameter, null, webRequest, null); assertSame("Invalid result", webRequest, result); }
@Test public void principalAsNull() throws Exception { MethodParameter principalParameter = new MethodParameter(method, 3); assertTrue("Principal not supported", resolver.supportsParameter(principalParameter)); Object result = resolver.resolveArgument(principalParameter, null, webRequest, null); assertNull("Invalid result", result); }
@Test public void zoneIdFromResolver() throws Exception { TimeZone timeZone = TimeZone.getTimeZone("America/New_York"); servletRequest.setAttribute(DispatcherServlet.LOCALE_RESOLVER_ATTRIBUTE, new FixedLocaleResolver(Locale.US, timeZone)); MethodParameter zoneIdParameter = new MethodParameter(method, 9); assertTrue("ZoneId not supported", resolver.supportsParameter(zoneIdParameter)); Object result = resolver.resolveArgument(zoneIdParameter, null, webRequest, null); assertEquals("Invalid result", timeZone.toZoneId(), result); }
@Test public void principal() throws Exception { Principal principal = () -> "Foo"; servletRequest.setUserPrincipal(principal); MethodParameter principalParameter = new MethodParameter(method, 3); assertTrue("Principal not supported", resolver.supportsParameter(principalParameter)); Object result = resolver.resolveArgument(principalParameter, null, webRequest, null); assertSame("Invalid result", principal, result); }
@Test public void locale() throws Exception { Locale locale = Locale.ENGLISH; servletRequest.addPreferredLocale(locale); MethodParameter localeParameter = new MethodParameter(method, 4); assertTrue("Locale not supported", resolver.supportsParameter(localeParameter)); Object result = resolver.resolveArgument(localeParameter, null, webRequest, null); assertSame("Invalid result", locale, result); }
@Test public void servletRequest() throws Exception { MethodParameter servletRequestParameter = new MethodParameter(method, 0); assertTrue("ServletRequest not supported", resolver.supportsParameter(servletRequestParameter)); Object result = resolver.resolveArgument(servletRequestParameter, mavContainer, webRequest, null); assertSame("Invalid result", servletRequest, result); assertFalse("The requestHandled flag shouldn't change", mavContainer.isRequestHandled()); }
@Test public void localeFromResolver() throws Exception { Locale locale = Locale.ENGLISH; servletRequest.setAttribute(DispatcherServlet.LOCALE_RESOLVER_ATTRIBUTE, new FixedLocaleResolver(locale)); MethodParameter localeParameter = new MethodParameter(method, 4); assertTrue("Locale not supported", resolver.supportsParameter(localeParameter)); Object result = resolver.resolveArgument(localeParameter, null, webRequest, null); assertSame("Invalid result", locale, result); }
@Test public void pushBuilder() throws Exception { final PushBuilder pushBuilder = Mockito.mock(PushBuilder.class); servletRequest = new MockHttpServletRequest("GET", "") { @Override public PushBuilder newPushBuilder() { return pushBuilder; } }; ServletWebRequest webRequest = new ServletWebRequest(servletRequest, new MockHttpServletResponse()); MethodParameter pushBuilderParameter = new MethodParameter(method, 11); assertTrue("PushBuilder not supported", resolver.supportsParameter(pushBuilderParameter)); Object result = resolver.resolveArgument(pushBuilderParameter, null, webRequest, null); assertSame("Invalid result", pushBuilder, result); }
@Test public void session() throws Exception { MockHttpSession session = new MockHttpSession(); servletRequest.setSession(session); MethodParameter sessionParameter = new MethodParameter(method, 2); assertTrue("Session not supported", resolver.supportsParameter(sessionParameter)); Object result = resolver.resolveArgument(sessionParameter, mavContainer, webRequest, null); assertSame("Invalid result", session, result); assertFalse("The requestHandled flag shouldn't change", mavContainer.isRequestHandled()); }