Example usage for org.springframework.mock.web MockHttpServletResponse getStatus

List of usage examples for org.springframework.mock.web MockHttpServletResponse getStatus

Introduction

In this page you can find the example usage for org.springframework.mock.web MockHttpServletResponse getStatus.

Prototype

@Override
    public int getStatus() 

Source Link

Usage

From source file:org.jasig.cas.support.oauth.web.OAuth20MetadataPrincipalControllerTests.java

@Test
public void verifyOKWithAccessToken() throws Exception {
    final AccessToken accessToken = mock(AccessToken.class);
    when(accessToken.getId()).thenReturn(AT_ID);

    final List<PrincipalMetadata> principalMetas = Arrays.asList(
            new PrincipalMetadata(CLIENT_ID, PRINC_NAME_ONE, PRINC_DESCR_ONE),
            new PrincipalMetadata(CLIENT_ID, PRINC_NAME_TWO, PRINC_DESCR_TWO));

    final CentralOAuthService centralOAuthService = mock(CentralOAuthService.class);
    when(centralOAuthService.getToken(AT_ID, AccessToken.class)).thenReturn(accessToken);
    when(centralOAuthService.getPrincipalMetadata(accessToken)).thenReturn(principalMetas);

    final MockHttpServletRequest mockRequest = new MockHttpServletRequest("POST",
            CONTEXT + OAuthConstants.METADATA_URL);
    mockRequest.setParameter(OAuthConstants.ACCESS_TOKEN, AT_ID);
    final MockHttpServletResponse mockResponse = new MockHttpServletResponse();

    final OAuth20WrapperController oauth20WrapperController = new OAuth20WrapperController();
    oauth20WrapperController.setCentralOAuthService(centralOAuthService);
    oauth20WrapperController.afterPropertiesSet();

    final ModelAndView modelAndView = oauth20WrapperController.handleRequest(mockRequest, mockResponse);
    assertNull(modelAndView);//  w  w w  .j a v a  2s  .  c o m
    assertEquals(HttpStatus.SC_OK, mockResponse.getStatus());
    assertEquals(CONTENT_TYPE, mockResponse.getContentType());

    final ObjectMapper mapper = new ObjectMapper();

    final String expected = "{\"data\":[" + "{\"client_id\":\"" + CLIENT_ID + "\",\"name\":\"" + PRINC_NAME_ONE
            + "\",\"description\":\"" + PRINC_DESCR_ONE + "\",\"scope\":[]}," + "{\"client_id\":\"" + CLIENT_ID
            + "\",\"name\":\"" + PRINC_NAME_TWO + "\",\"description\":\"" + PRINC_DESCR_TWO
            + "\",\"scope\":[]}]}";
    final JsonNode expectedObj = mapper.readTree(expected);
    final JsonNode receivedObj = mapper.readTree(mockResponse.getContentAsString());

    final JsonNode expectedData = expectedObj.get("data");
    final JsonNode receivedData = receivedObj.get("data");
    assertEquals(expectedData.size(), receivedData.size());

    final JsonNode expectedPrincipalOne = expectedData.get(0);
    final JsonNode receivedPrincipalOne = receivedData.get(0);
    assertEquals(expectedPrincipalOne.get("client_id"), receivedPrincipalOne.get("client_id"));
    assertEquals(expectedPrincipalOne.get("name"), receivedPrincipalOne.get("name"));
    assertEquals(expectedPrincipalOne.get("description"), receivedPrincipalOne.get("description"));
    assertEquals(expectedPrincipalOne.get("scope").size(), receivedPrincipalOne.get("scope").size());

    final JsonNode expectedPrincipalTwo = expectedData.get(1);
    final JsonNode receivedPrincipalTwo = receivedData.get(1);
    assertEquals(expectedPrincipalTwo.get("client_id"), receivedPrincipalTwo.get("client_id"));
    assertEquals(expectedPrincipalTwo.get("name"), receivedPrincipalTwo.get("name"));
    assertEquals(expectedPrincipalTwo.get("description"), receivedPrincipalTwo.get("description"));
    assertEquals(expectedPrincipalTwo.get("scope").size(), receivedPrincipalTwo.get("scope").size());
}

From source file:org.jasig.cas.support.oauth.web.OAuth20MetadataPrincipalControllerTests.java

@Test
public void verifyOKWithAuthHeader() throws Exception {
    final AccessToken accessToken = mock(AccessToken.class);
    when(accessToken.getId()).thenReturn(AT_ID);

    final List<PrincipalMetadata> principalMetas = Arrays.asList(
            new PrincipalMetadata(CLIENT_ID, PRINC_NAME_ONE, PRINC_DESCR_ONE),
            new PrincipalMetadata(CLIENT_ID, PRINC_NAME_TWO, PRINC_DESCR_TWO));

    final CentralOAuthService centralOAuthService = mock(CentralOAuthService.class);
    when(centralOAuthService.getToken(AT_ID, AccessToken.class)).thenReturn(accessToken);
    when(centralOAuthService.getPrincipalMetadata(accessToken)).thenReturn(principalMetas);

    final MockHttpServletRequest mockRequest = new MockHttpServletRequest("POST",
            CONTEXT + OAuthConstants.METADATA_URL);
    mockRequest.addHeader("Authorization", OAuthConstants.BEARER_TOKEN + " " + AT_ID);
    final MockHttpServletResponse mockResponse = new MockHttpServletResponse();

    final OAuth20WrapperController oauth20WrapperController = new OAuth20WrapperController();
    oauth20WrapperController.setCentralOAuthService(centralOAuthService);
    oauth20WrapperController.afterPropertiesSet();

    final ModelAndView modelAndView = oauth20WrapperController.handleRequest(mockRequest, mockResponse);
    assertNull(modelAndView);//from   w ww .ja  v  a 2s .co m
    assertEquals(HttpStatus.SC_OK, mockResponse.getStatus());
    assertEquals(CONTENT_TYPE, mockResponse.getContentType());

    final ObjectMapper mapper = new ObjectMapper();

    final String expected = "{\"data\":[" + "{\"client_id\":\"" + CLIENT_ID + "\",\"name\":\"" + PRINC_NAME_ONE
            + "\",\"description\":\"" + PRINC_DESCR_ONE + "\",\"scope\":[]}," + "{\"client_id\":\"" + CLIENT_ID
            + "\",\"name\":\"" + PRINC_NAME_TWO + "\",\"description\":\"" + PRINC_DESCR_TWO
            + "\",\"scope\":[]}]}";
    final JsonNode expectedObj = mapper.readTree(expected);
    final JsonNode receivedObj = mapper.readTree(mockResponse.getContentAsString());

    final JsonNode expectedData = expectedObj.get("data");
    final JsonNode receivedData = receivedObj.get("data");
    assertEquals(expectedData.size(), receivedData.size());

    final JsonNode expectedPrincipalOne = expectedData.get(0);
    final JsonNode receivedPrincipalOne = receivedData.get(0);
    assertEquals(expectedPrincipalOne.get("client_id"), receivedPrincipalOne.get("client_id"));
    assertEquals(expectedPrincipalOne.get("name"), receivedPrincipalOne.get("name"));
    assertEquals(expectedPrincipalOne.get("description"), receivedPrincipalOne.get("description"));
    assertEquals(expectedPrincipalOne.get("scope").size(), receivedPrincipalOne.get("scope").size());

    final JsonNode expectedPrincipalTwo = expectedData.get(1);
    final JsonNode receivedPrincipalTwo = receivedData.get(1);
    assertEquals(expectedPrincipalTwo.get("client_id"), receivedPrincipalTwo.get("client_id"));
    assertEquals(expectedPrincipalTwo.get("name"), receivedPrincipalTwo.get("name"));
    assertEquals(expectedPrincipalTwo.get("description"), receivedPrincipalTwo.get("description"));
    assertEquals(expectedPrincipalTwo.get("scope").size(), receivedPrincipalTwo.get("scope").size());
}

From source file:org.springsource.restbucks.training.payment.web.PaymentProcessIntegrationTest.java

/**
 * Polls the order resource every 2 seconds and uses an {@code If-None-Match} header alongside the {@code ETag} of the
 * first response to avoid sending the representation over and over again.
 * /*from  ww w  .  j a v  a2 s.  c  o m*/
 * @param response
 * @return
 * @throws Exception
 */
private MockHttpServletResponse pollUntilOrderHasReceiptLink(MockHttpServletResponse response)
        throws Exception {

    // Grab
    String content = response.getContentAsString();
    LinkDiscoverer discoverer = getDiscovererFor(response);
    Link orderLink = discoverer.findLinkWithRel(ORDER_REL, content);

    // Poll order until receipt link is set
    Link receiptLink = null;
    String etag = null;
    MockHttpServletResponse pollResponse;

    do {

        HttpHeaders headers = new HttpHeaders();
        if (etag != null) {
            headers.setIfNoneMatch(etag);
        }

        log.info("Poll state of order until receipt is ready");

        ResultActions action = mvc.perform(get(orderLink.getHref()).headers(headers));
        pollResponse = action.andReturn().getResponse();

        int status = pollResponse.getStatus();
        etag = pollResponse.getHeader("ETag");

        log.info(String.format("Received %s with ETag of %s", status, etag));

        if (status == HttpStatus.OK.value()) {

            action.andExpect(linkWithRelIsPresent(Link.REL_SELF)). //
                    andExpect(linkWithRelIsNotPresent(UPDATE_REL)). //
                    andExpect(linkWithRelIsNotPresent(CANCEL_REL));

            receiptLink = discoverer.findLinkWithRel(RECEIPT_REL, pollResponse.getContentAsString());

        } else if (status == HttpStatus.NO_CONTENT.value()) {
            action.andExpect(content().string(isEmptyOrNullString()));
        }

        if (receiptLink == null) {
            Thread.sleep(2000);
        }

    } while (receiptLink == null);

    return pollResponse;
}

From source file:com.doitnext.http.router.RestRouterServletTest.java

@Test
public void testHandleStores() throws Exception {
    RestRouterServlet servlet = new RestRouterServlet();
    servlet.setPathPrefix("/sports-api");
    servlet.setRestPackageRoot("com.doitnext.http.router.exampleclasses");
    servlet.setEndpointResolver(endpointResolver);
    servlet.setMethodInvoker(methodInvoker);
    servlet.setErrorHandler(errorHandler);
    servlet.setDynamicEndpointResolver(null);
    servlet.afterPropertiesSet();// w ww  .  ja v a  2 s. c  om

    MockHttpServletRequest request;
    MockHttpServletResponse response;

    Object[][] testCases = { { "GET", "/mocker", "/sports-api/teams/favorites/user01/path/to/resource",
            "city=Atlanta", "application/json; model=hashmap", null, null, "user01", "path/to/resource" }, };

    for (Object[] testCase : testCases) {
        request = new MockHttpServletRequest();
        response = new MockHttpServletResponse();
        setUpRequest(testCase, request);
        servlet.handleRequest(request, response);
        String content = response.getContentAsString();
        System.out.println(content);
        Assert.assertEquals(200, response.getStatus());
        HashMap<String, String> t = new HashMap<String, String>();
        @SuppressWarnings("unchecked")
        Map<String, String> returnVal = objectMapper.readValue(content, t.getClass());
        Assert.assertEquals(testCase[7], returnVal.get("userId"));
        Assert.assertEquals(testCase[8], returnVal.get("storePath"));

    }
}

From source file:org.springsource.restbucks.payment.web.PaymentProcessIntegrationTest.java

/**
 * Polls the order resource every 2 seconds and uses an {@code If-None-Match} header alongside the {@code ETag} of the
 * first response to avoid sending the representation over and over again.
 * /*from   w  ww.ja v  a2  s .c om*/
 * @param response
 * @return
 * @throws Exception
 */
private MockHttpServletResponse pollUntilOrderHasReceiptLink(MockHttpServletResponse response)
        throws Exception {

    // Grab
    String content = response.getContentAsString();
    LinkDiscoverer discoverer = getDiscovererFor(response);
    Link orderLink = discoverer.findLinkWithRel(ORDER_REL, content);

    // Poll order until receipt link is set
    Link receiptLink = null;
    String etag = null;
    MockHttpServletResponse pollResponse;

    do {

        HttpHeaders headers = new HttpHeaders();
        if (etag != null) {
            headers.setIfNoneMatch(etag);
        }

        LOG.info("Poll state of order until receipt is ready");

        ResultActions action = mvc.perform(get(orderLink.expand().getHref()).headers(headers));
        pollResponse = action.andReturn().getResponse();

        int status = pollResponse.getStatus();
        etag = pollResponse.getHeader("ETag");

        LOG.info(String.format("Received %s with ETag of %s", status, etag));

        if (status == HttpStatus.OK.value()) {

            action.andExpect(linkWithRelIsPresent(Link.REL_SELF)). //
                    andExpect(linkWithRelIsNotPresent(UPDATE_REL)). //
                    andExpect(linkWithRelIsNotPresent(CANCEL_REL));

            receiptLink = discoverer.findLinkWithRel(RECEIPT_REL, pollResponse.getContentAsString());

        } else if (status == HttpStatus.NO_CONTENT.value()) {
            action.andExpect(content().string(isEmptyOrNullString()));
        }

        if (receiptLink == null) {
            Thread.sleep(2000);
        }

    } while (receiptLink == null);

    return pollResponse;
}

From source file:org.auraframework.integration.test.http.resource.InlineJsTest.java

@Test
public void testResponseWith404WhenTokenValidationFails() throws Exception {
    // Arrange//from w  w  w.  j  a  v a  2s  . c o m
    if (contextService.isEstablished()) {
        contextService.endContext();
    }
    DefDescriptor<ApplicationDef> appDesc = addSourceAutoCleanup(ApplicationDef.class,
            "<aura:application></aura:application>");
    AuraContext context = contextService.startContext(AuraContext.Mode.PROD, AuraContext.Format.MANIFEST,
            AuraContext.Authentication.AUTHENTICATED, appDesc);
    context.setFrameworkUID(configAdapter.getAuraFrameworkNonce());
    HttpServletRequest request = mock(HttpServletRequest.class);
    MockHttpServletResponse response = new MockHttpServletResponse();

    ConfigAdapter configAdapter = mock(ConfigAdapter.class);

    InlineJs inlineJs = getInlineJs();
    inlineJs.setConfigAdapter(configAdapter);

    // Force token validation to fail
    Mockito.when(configAdapter.validateBootstrap(Mockito.anyString())).thenReturn(false);

    // Act
    inlineJs.write(request, response, context);

    // Assert
    // JWT token failure returns 404 response code
    assertEquals(HttpStatus.SC_NOT_FOUND, response.getStatus());
}

From source file:org.cloudfoundry.identity.uaa.mock.token.RefreshTokenMockMvcTests.java

@Test
void refreshTokenGrantType_withOpaqueTokens_preservesRefreshTokenExpiry() throws Exception {
    createClientAndUserInRandomZone();/* ww w .  j a  v  a  2 s .  c  o m*/
    int refreshTokenValiditySeconds = 20;
    client.setRefreshTokenValiditySeconds(refreshTokenValiditySeconds);
    clientDetailsService.updateClientDetails(client, zone.getId());
    long firstGrantMillis = 1000L;
    when(timeService.getCurrentTimeMillis()).thenReturn(firstGrantMillis);
    CompositeToken tokenResponse = getTokensWithPasswordGrant(client.getClientId(), SECRET, user.getUserName(),
            SECRET, getZoneHostUrl(zone), "opaque");
    String firstRefreshToken = tokenResponse.getRefreshToken().getValue();

    long notYetExpiredTimeMillis = 5000L;
    when(timeService.getCurrentTimeMillis()).thenReturn(notYetExpiredTimeMillis);
    MockHttpServletResponse refreshResponse = useRefreshToken(firstRefreshToken, client.getClientId(), SECRET,
            getZoneHostUrl(zone));
    String secondRefreshToken = JsonUtils.readValue(refreshResponse.getContentAsString(), CompositeToken.class)
            .getRefreshToken().getValue();
    assertEquals(HttpStatus.SC_OK, refreshResponse.getStatus());

    long expiredTimeMillis = firstGrantMillis + refreshTokenValiditySeconds * 1000L + 1L;
    when(timeService.getCurrentTimeMillis()).thenReturn(expiredTimeMillis);
    MockHttpServletResponse expiredResponse = useRefreshToken(firstRefreshToken, client.getClientId(), SECRET,
            getZoneHostUrl(zone));
    assertEquals(HttpStatus.SC_UNAUTHORIZED, expiredResponse.getStatus());
    MockHttpServletResponse alsoExpiredResponse = useRefreshToken(secondRefreshToken, client.getClientId(),
            SECRET, getZoneHostUrl(zone));
    assertEquals(HttpStatus.SC_UNAUTHORIZED, alsoExpiredResponse.getStatus());
}

From source file:org.jasig.cas.support.oauth.web.OAuth20TokenAuthorizationCodeControllerTests.java

@Test
public void verifyNoCode() throws Exception {
    final MockHttpServletRequest mockRequest = new MockHttpServletRequest("POST",
            CONTEXT + OAuthConstants.TOKEN_URL);
    mockRequest.setParameter(OAuthConstants.GRANT_TYPE, OAuthConstants.AUTHORIZATION_CODE);
    mockRequest.setParameter(OAuthConstants.CLIENT_ID, CLIENT_ID);
    mockRequest.setParameter(OAuthConstants.CLIENT_SECRET, CLIENT_SECRET);
    mockRequest.setParameter(OAuthConstants.REDIRECT_URI, REDIRECT_URI);

    final MockHttpServletResponse mockResponse = new MockHttpServletResponse();

    final OAuth20WrapperController oauth20WrapperController = new OAuth20WrapperController();
    oauth20WrapperController.afterPropertiesSet();

    final ModelAndView modelAndView = oauth20WrapperController.handleRequest(mockRequest, mockResponse);
    assertNull(modelAndView);/*w ww  .j  a  va 2  s  . com*/
    assertEquals(HttpStatus.SC_BAD_REQUEST, mockResponse.getStatus());
    assertEquals("application/json", mockResponse.getContentType());

    final ObjectMapper mapper = new ObjectMapper();

    final String expected = "{\"error\":\"" + OAuthConstants.INVALID_REQUEST + "\",\"error_description\":\""
            + new InvalidParameterException(OAuthConstants.CODE).getMessage() + "\"}";
    final JsonNode expectedObj = mapper.readTree(expected);
    final JsonNode receivedObj = mapper.readTree(mockResponse.getContentAsString());
    assertEquals(expectedObj.get("error").asText(), receivedObj.get("error").asText());
    assertEquals(expectedObj.get("error_description").asText(), receivedObj.get("error_description").asText());
}

From source file:org.jasig.cas.support.oauth.web.OAuth20TokenAuthorizationCodeControllerTests.java

@Test
public void verifyNoClientId() throws Exception {
    final MockHttpServletRequest mockRequest = new MockHttpServletRequest("POST",
            CONTEXT + OAuthConstants.TOKEN_URL);
    mockRequest.setParameter(OAuthConstants.GRANT_TYPE, OAuthConstants.AUTHORIZATION_CODE);
    mockRequest.setParameter(OAuthConstants.CODE, CODE);
    mockRequest.setParameter(OAuthConstants.CLIENT_SECRET, CLIENT_SECRET);
    mockRequest.setParameter(OAuthConstants.REDIRECT_URI, REDIRECT_URI);

    final MockHttpServletResponse mockResponse = new MockHttpServletResponse();

    final OAuth20WrapperController oauth20WrapperController = new OAuth20WrapperController();
    oauth20WrapperController.afterPropertiesSet();

    final ModelAndView modelAndView = oauth20WrapperController.handleRequest(mockRequest, mockResponse);
    assertNull(modelAndView);/*from   w ww . j  a va  2s .  c  o  m*/
    assertEquals(HttpStatus.SC_BAD_REQUEST, mockResponse.getStatus());
    assertEquals("application/json", mockResponse.getContentType());

    final ObjectMapper mapper = new ObjectMapper();

    final String expected = "{\"error\":\"" + OAuthConstants.INVALID_REQUEST + "\",\"error_description\":\""
            + new InvalidParameterException(OAuthConstants.CLIENT_ID).getMessage() + "\"}";
    final JsonNode expectedObj = mapper.readTree(expected);
    final JsonNode receivedObj = mapper.readTree(mockResponse.getContentAsString());
    assertEquals(expectedObj.get("error").asText(), receivedObj.get("error").asText());
    assertEquals(expectedObj.get("error_description").asText(), receivedObj.get("error_description").asText());
}