/** * Assert a request attribute value with the given Hamcrest {@link Matcher}. */ @SuppressWarnings("unchecked") public <T> ResultMatcher attribute(final String name, final Matcher<T> matcher) { return result -> { T value = (T) result.getRequest().getAttribute(name); assertThat("Request attribute '" + name + "'", value, matcher); }; }
while (parentAttrNames.hasMoreElements()) { String parentAttrName = parentAttrNames.nextElement(); request.setAttribute(parentAttrName, parentRequest.getAttribute(parentAttrName));
/** * Assert a request attribute value. */ public <T> ResultMatcher attribute(final String name, final Object expectedValue) { return result -> assertEquals("Request attribute '" + name + "'", expectedValue, result.getRequest().getAttribute(name)); }
public void requestScope() throws Exception { assertThat(myRequestBean) .isSameAs(request.getAttribute("myRequestBean")); assertThat(myRequestBean) .isSameAs(wac.getBean("myRequestBean", MyRequestBean.class));
@Test public void requestScope() throws Exception { final String beanName = "requestScopedTestBean"; final String contextPath = "/path"; assertNull(request.getAttribute(beanName)); request.setContextPath(contextPath); TestBean testBean = wac.getBean(beanName, TestBean.class); assertEquals(contextPath, testBean.getName()); assertSame(testBean, request.getAttribute(beanName)); assertSame(testBean, wac.getBean(beanName, TestBean.class)); }
@Test public void requestAttribute() { this.builder.requestAttr("foo", "bar"); MockHttpServletRequest request = this.builder.buildRequest(this.servletContext); assertEquals("bar", request.getAttribute("foo")); }
@Test(groups = "viewCustomerPhoneFromController") public void viewCustomerPhoneFromController() { PhoneNameForm pnf = new PhoneNameForm(); BindingResult errors = new BeanPropertyBindingResult(pnf, "phoneNameForm"); request = this.getNewServletInstance(); String view = customerPhoneController.viewPhone(null, request, pnf, errors); assert (view.indexOf(SUCCESS) >= 0); assert (request.getAttribute("customerPhoneId") == null); }
@Test(groups = "viewExistingCustomerPhoneFromController", dependsOnGroups = "createCustomerPhoneFromController") @Transactional public void viewExistingCustomerPhoneFromController() { List<CustomerPhone> phones_1 = customerPhoneService.readAllCustomerPhonesByCustomerId(userId); PhoneNameForm pnf = new PhoneNameForm(); BindingResult errors = new BeanPropertyBindingResult(pnf, "phoneNameForm"); Customer customer = customerService.readCustomerByUsername("customer1"); request = this.getNewServletInstance(); request.setAttribute(CustomerStateRequestProcessor.getCustomerRequestAttributeName(), customer); String view = customerPhoneController.viewPhone(phones_1.get(0).getId(), request, pnf, errors); assert (view.indexOf(SUCCESS) >= 0); assert (request.getAttribute("customerPhoneId").equals(phones_1.get(0).getId())); }
@Test public void mergeRequestAttribute() throws Exception { String attrName = "PARENT"; String attrValue = "VALUE"; MockMvc mockMvc = MockMvcBuilders.standaloneSetup(new HelloController()) .defaultRequest(get("/").requestAttr(attrName, attrValue)) .build(); assertThat(mockMvc.perform(requestBuilder).andReturn().getRequest().getAttribute(attrName), equalTo(attrValue)); }
@Test public void doFilterId() throws Exception { final String ID_ATTR = "create"; doFilter(new DoInFilter() { @Override public void doFilter(HttpServletRequest wrappedRequest) { String id = wrappedRequest.getSession().getId(); assertThat(id).isNotNull(); assertThat(wrappedRequest.getSession().getId()).isEqualTo(id); SessionRepositoryFilterTests.this.request.setAttribute(ID_ATTR, id); } }); final String id = (String) this.request.getAttribute(ID_ATTR); assertThat(base64Decode(getSessionCookie().getValue())).isEqualTo(id); setSessionCookie(id); doFilter(new DoInFilter() { @Override public void doFilter(HttpServletRequest wrappedRequest) { assertThat(wrappedRequest.getSession().getId()).isEqualTo(id); } }); }
@Test public void doFilterCreateDate() throws Exception { final String CREATE_ATTR = "create"; doFilter(new DoInFilter() { @Override public void doFilter(HttpServletRequest wrappedRequest) { long creationTime = wrappedRequest.getSession().getCreationTime(); long now = System.currentTimeMillis(); assertThat(now - creationTime).isGreaterThanOrEqualTo(0).isLessThan(5000); SessionRepositoryFilterTests.this.request.setAttribute(CREATE_ATTR, creationTime); } }); final long expectedCreationTime = (Long) this.request.getAttribute(CREATE_ATTR); Thread.sleep(50L); nextRequest(); doFilter(new DoInFilter() { @Override public void doFilter(HttpServletRequest wrappedRequest) { long creationTime = wrappedRequest.getSession().getCreationTime(); assertThat(creationTime).isEqualTo(expectedCreationTime); } }); }
@Test public void doFilterIdChanges() throws Exception { final String ID_ATTR = "create"; doFilter(new DoInFilter() { @Override public void doFilter(HttpServletRequest wrappedRequest) { String id = wrappedRequest.getSession().getId(); SessionRepositoryFilterTests.this.request.setAttribute(ID_ATTR, id); } }); final String id = (String) this.request.getAttribute(ID_ATTR); setupRequest(); doFilter(new DoInFilter() { @Override public void doFilter(HttpServletRequest wrappedRequest) { assertThat(wrappedRequest.getSession().getId()).isNotEqualTo(id); } }); }
@Test(groups = "createCustomerPhoneFromController", dataProvider = "setupCustomerPhoneControllerData", dataProviderClass = CustomerPhoneControllerTestDataProvider.class, dependsOnGroups = "readCustomer") @Transactional @Commit public void createCustomerPhoneFromController(PhoneNameForm phoneNameForm) { BindingResult errors = new BeanPropertyBindingResult(phoneNameForm, "phoneNameForm"); Customer customer = customerService.readCustomerByUsername("customer1"); request = this.getNewServletInstance(); request.setAttribute(CustomerStateRequestProcessor.getCustomerRequestAttributeName(), customer); String view = customerPhoneController.savePhone(phoneNameForm, errors, request, null, null); assert (view.indexOf(SUCCESS) >= 0); List<CustomerPhone> phones = customerPhoneService.readAllCustomerPhonesByCustomerId(userId); boolean inPhoneList = false; Long id = (Long) request.getAttribute("customerPhoneId"); assert (id != null); for (CustomerPhone p : phones) { if ((p.getPhoneName() != null) && p.getPhoneName().equals(phoneNameForm.getPhoneName())) { inPhoneList = true; } } assert (inPhoneList == true); createdCustomerPhoneIds.add(id); }
@Test // SPR-12945 public void mergeInvokesDefaultRequestPostProcessorFirst() { final String ATTR = "ATTR"; final String EXPECTED = "override"; MockHttpServletRequestBuilder defaultBuilder = new MockHttpServletRequestBuilder(HttpMethod.GET, "/foo/bar") .with(requestAttr(ATTR).value("default")) .with(requestAttr(ATTR).value(EXPECTED)); builder.merge(defaultBuilder); MockHttpServletRequest request = builder.buildRequest(servletContext); request = builder.postProcessRequest(request); assertEquals(EXPECTED, request.getAttribute(ATTR)); }
@Test public void handle_exception() throws Exception { String view = controller.handleException(new ProviderNotFoundException("message"), request, response); assertEquals(400, response.getStatus()); assertEquals("message", request.getAttribute("saml_error")); assertEquals("external_auth_error", view); }
@Test public void testHandleWhenNotLoggedIn() throws Exception { AccessDeniedException ex = new AccessDeniedException("something"); handler.handle(request, response, ex); assertEquals(HttpServletResponse.SC_FOUND, response.getStatus()); assertSame(request.getAttribute(WebAttributes.ACCESS_DENIED_403), ex); assertTrue(response.isCommitted()); assertEquals("http://localhost/login", response.getHeader("Location")); assertEquals(HttpServletResponse.SC_MOVED_TEMPORARILY, response.getStatus()); }
@Test public void testHandleWhenNotLoggedInAndNoCsrf() throws Exception { AccessDeniedException ex = new MissingCsrfTokenException("something"); handler.handle(request, response, ex); assertEquals(HttpServletResponse.SC_FOUND, response.getStatus()); assertSame(request.getAttribute(WebAttributes.ACCESS_DENIED_403), ex); assertTrue(response.isCommitted()); assertEquals("http://localhost/login", response.getHeader("Location")); assertEquals(HttpServletResponse.SC_MOVED_TEMPORARILY, response.getStatus()); }
@Override public void handle(MvcResult result) throws Exception { @SuppressWarnings("unchecked") Map<String, Object> configuration = new HashMap<>( (Map<String, Object>) result.getRequest() .getAttribute(ATTRIBUTE_NAME_CONFIGURATION)); configuration.remove( RestDocumentationGenerator.ATTRIBUTE_NAME_DEFAULT_SNIPPETS); getDelegate().handle(result.getRequest(), result.getResponse(), configuration); }
@Override public void handle(MvcResult result) throws Exception { @SuppressWarnings("unchecked") Map<String, Object> configuration = (Map<String, Object>) result.getRequest() .getAttribute(ATTRIBUTE_NAME_CONFIGURATION); this.delegate.handle(result.getRequest(), result.getResponse(), configuration); }
private void assertTemplate(MockHttpServletRequestBuilder builder, HttpMethod httpMethod) { MockHttpServletRequest request = builder.buildRequest(this.servletContext); assertThat((String) request .getAttribute(RestDocumentationGenerator.ATTRIBUTE_NAME_URL_TEMPLATE)) .isEqualTo("{template}"); assertThat(request.getRequestURI()).isEqualTo("t"); assertThat(request.getMethod()).isEqualTo(httpMethod.name()); }