Example usage for org.springframework.mock.web MockHttpServletRequest setMethod

List of usage examples for org.springframework.mock.web MockHttpServletRequest setMethod

Introduction

In this page you can find the example usage for org.springframework.mock.web MockHttpServletRequest setMethod.

Prototype

public void setMethod(@Nullable String method) 

Source Link

Usage

From source file:org.fenixedu.bennu.oauth.OAuthServletTest.java

@Test
public void testOAuthServletRefreshTokenRequestWithLoginExpired() {
    MockHttpServletRequest req = new MockHttpServletRequest();
    MockHttpServletResponse res = new MockHttpServletResponse();
    Authenticate.unmock();/*from   w w  w  . jav a2  s . c om*/

    User user = createUser("testOAuthServletRefreshTokenRequestWithLoginExpired", "John", "Doe", "John Doe",
            "john.doe@fenixedu.org");

    user.closeLoginPeriod();

    ExternalApplication externalApp = new ExternalApplication();
    externalApp.setAuthor(user1);
    externalApp.setName("Test External Application");
    externalApp.setDescription("This is a test external application");
    externalApp.setRedirectUrl("http://test.url/callback");

    ApplicationUserSession applicationUserSession = new ApplicationUserSession();
    applicationUserSession.setTokens(generateToken(applicationUserSession),
            generateToken(applicationUserSession));

    ApplicationUserAuthorization applicationUserAuthorization = new ApplicationUserAuthorization(user,
            externalApp);
    applicationUserAuthorization.addSession(applicationUserSession);

    externalApp.addApplicationUserAuthorization(applicationUserAuthorization);

    String clientSecret = externalApp.getExternalId() + ":" + externalApp.getSecret();
    req.addHeader(HttpHeaders.AUTHORIZATION,
            "Basic " + Base64.getEncoder().encodeToString(clientSecret.getBytes(StandardCharsets.UTF_8)));
    req.addParameter(REFRESH_TOKEN, applicationUserSession.getRefreshToken());
    req.addParameter(GRANT_TYPE, GRANT_TYPE_REFRESH_TOKEN);
    req.setMethod("POST");
    req.setPathInfo("/refresh_token");

    try {
        oauthServlet.service(req, res);
        Assert.assertEquals("must return bad request", Status.BAD_REQUEST.getStatusCode(), res.getStatus());

        user.openLoginPeriod();
        res = new MockHttpServletResponse();
        oauthServlet.service(req, res);

        final JsonObject token = new JsonParser().parse(res.getContentAsString()).getAsJsonObject();

        Assert.assertTrue("response must be a valid json and have access_token field",
                token.has("access_token") && token.get("access_token").getAsString().length() > 0);

    } catch (ServletException | IOException e) {
        Assert.fail(e.getMessage());
    }

}

From source file:org.apache.archiva.web.rss.RssFeedServletTest.java

@Test
public void testRequestNewArtifactsInRepo() throws Exception {
    MockHttpServletRequest request = new MockHttpServletRequest();
    request.setRequestURI("/feeds/test-repo");
    request.addHeader("User-Agent", "Apache Archiva unit test");
    request.setMethod("GET");

    Base64 encoder = new Base64(0, new byte[0]);
    String userPass = "user1:password1";
    String encodedUserPass = encoder.encodeToString(userPass.getBytes());
    request.addHeader("Authorization", "BASIC " + encodedUserPass);

    MockHttpServletResponse mockHttpServletResponse = new MockHttpServletResponse();

    rssFeedServlet.doGet(request, mockHttpServletResponse);

    assertEquals(RssFeedServlet.MIME_TYPE, mockHttpServletResponse.getHeader("CONTENT-TYPE"));
    assertNotNull("Should have recieved a response", mockHttpServletResponse.getContentAsString());
    assertEquals("Should have been an OK response code.", HttpServletResponse.SC_OK,
            mockHttpServletResponse.getStatus());

}

From source file:org.apache.archiva.web.rss.RssFeedServletTest.java

@Test
public void testRequestNewVersionsOfArtifact() throws Exception {
    MockHttpServletRequest request = new MockHttpServletRequest();
    request.setRequestURI("/feeds/org/apache/archiva/artifact-two");
    request.addHeader("User-Agent", "Apache Archiva unit test");
    request.setMethod("GET");

    //WebRequest request = new GetMethodWebRequest( "http://localhost/feeds/org/apache/archiva/artifact-two" );

    Base64 encoder = new Base64(0, new byte[0]);
    String userPass = "user1:password1";
    String encodedUserPass = encoder.encodeToString(userPass.getBytes());
    request.addHeader("Authorization", "BASIC " + encodedUserPass);

    MockHttpServletResponse mockHttpServletResponse = new MockHttpServletResponse();

    rssFeedServlet.doGet(request, mockHttpServletResponse);

    assertEquals(RssFeedServlet.MIME_TYPE, mockHttpServletResponse.getHeader("CONTENT-TYPE"));
    assertNotNull("Should have recieved a response", mockHttpServletResponse.getContentAsString());
    assertEquals("Should have been an OK response code.", HttpServletResponse.SC_OK,
            mockHttpServletResponse.getStatus());
}

From source file:org.apache.archiva.web.rss.RssFeedServletTest.java

@Test
public void testInvalidRequest() throws Exception {
    MockHttpServletRequest request = new MockHttpServletRequest();
    request.setRequestURI("/feeds?invalid_param=xxx");
    request.addHeader("User-Agent", "Apache Archiva unit test");
    request.setMethod("GET");

    MockHttpServletResponse mockHttpServletResponse = new MockHttpServletResponse();

    rssFeedServlet.doGet(request, mockHttpServletResponse);

    assertEquals(HttpServletResponse.SC_BAD_REQUEST, mockHttpServletResponse.getStatus());

}

From source file:org.apache.archiva.web.rss.RssFeedServletTest.java

@Test
public void testInvalidAuthenticationRequest() throws Exception {

    MockHttpServletRequest request = new MockHttpServletRequest();
    request.setRequestURI("/feeds/unauthorized-repo");
    request.addHeader("User-Agent", "Apache Archiva unit test");
    request.setMethod("GET");

    Encoder encoder = new Base64();
    String userPass = "unauthUser:unauthPass";
    String encodedUserPass = new String((byte[]) encoder.encode(userPass.getBytes()));
    request.addHeader("Authorization", "BASIC " + encodedUserPass);

    MockHttpServletResponse mockHttpServletResponse = new MockHttpServletResponse();
    rssFeedServlet.doGet(request, mockHttpServletResponse);

    assertEquals(HttpServletResponse.SC_UNAUTHORIZED, mockHttpServletResponse.getStatus());

}

From source file:org.apache.archiva.web.rss.RssFeedServletTest.java

@Test
public void testUnauthorizedRequest() throws Exception {

    MockHttpServletRequest request = new MockHttpServletRequest();
    request.setRequestURI("/feeds/unauthorized-repo");
    request.addHeader("User-Agent", "Apache Archiva unit test");
    request.setMethod("GET");

    Base64 encoder = new Base64(0, new byte[0]);
    String userPass = "user1:password1";
    String encodedUserPass = encoder.encodeToString(userPass.getBytes());
    request.addHeader("Authorization", "BASIC " + encodedUserPass);

    MockHttpServletResponse mockHttpServletResponse = new MockHttpServletResponse();
    rssFeedServlet.doGet(request, mockHttpServletResponse);

    assertEquals(HttpServletResponse.SC_UNAUTHORIZED, mockHttpServletResponse.getStatus());

}

From source file:org.apache.archiva.webdav.AbstractRepositoryServletTestCase.java

protected WebResponse getWebResponse(WebRequest webRequest) //, boolean followRedirect )
        throws Exception {

    MockHttpServletRequest request = new MockHttpServletRequest();
    request.setRequestURI(webRequest.getUrl().getPath());
    request.addHeader("User-Agent", "Apache Archiva unit test");

    request.setMethod(webRequest.getHttpMethod().name());

    if (webRequest.getHttpMethod() == HttpMethod.PUT) {
        PutMethodWebRequest putRequest = PutMethodWebRequest.class.cast(webRequest);
        request.setContentType(putRequest.contentType);
        request.setContent(IOUtils.toByteArray(putRequest.inputStream));
    }//ww  w.j a v  a2 s . c o  m

    if (webRequest instanceof MkColMethodWebRequest) {
        request.setMethod("MKCOL");
    }

    final MockHttpServletResponse response = execute(request);

    if (response.getStatus() == HttpServletResponse.SC_MOVED_PERMANENTLY
            || response.getStatus() == HttpServletResponse.SC_MOVED_TEMPORARILY) {
        String location = response.getHeader("Location");
        log.debug("follow redirect to {}", location);
        return getWebResponse(new GetMethodWebRequest(location));
    }

    return new WebResponse(null, null, 1) {
        @Override
        public String getContentAsString() {
            try {
                return response.getContentAsString();
            } catch (UnsupportedEncodingException e) {
                throw new RuntimeException(e.getMessage(), e);
            }
        }

        @Override
        public int getStatusCode() {
            return response.getStatus();
        }

        @Override
        public String getResponseHeaderValue(String headerName) {
            return response.getHeader(headerName);
        }
    };
}

From source file:org.apache.archiva.webdav.RepositoryServletNoProxyTest.java

@Test
public void testGetNoProxySnapshotRedirectToTimestampedSnapshot() throws Exception {
    String commonsLangQuery = "commons-lang/commons-lang/2.1-SNAPSHOT/commons-lang-2.1-SNAPSHOT.jar";
    String commonsLangMetadata = "commons-lang/commons-lang/2.1-SNAPSHOT/maven-metadata.xml";
    String commonsLangJar = "commons-lang/commons-lang/2.1-SNAPSHOT/commons-lang-2.1-20050821.023400-1.jar";
    String expectedArtifactContents = "dummy-commons-lang-snapshot-artifact";

    archivaConfiguration.getConfiguration().getWebapp().getUi().setApplicationUrl("http://localhost");

    File artifactFile = new File(repoRootInternal, commonsLangJar);
    artifactFile.getParentFile().mkdirs();
    FileUtils.writeStringToFile(artifactFile, expectedArtifactContents, Charset.defaultCharset());

    File metadataFile = new File(repoRootInternal, commonsLangMetadata);
    metadataFile.getParentFile().mkdirs();
    FileUtils.writeStringToFile(metadataFile, createVersionMetadata("commons-lang", "commons-lang",
            "2.1-SNAPSHOT", "20050821.023400", "1", "20050821.023400"));

    WebRequest webRequest = new GetMethodWebRequest("http://localhost/repository/internal/" + commonsLangQuery);

    MockHttpServletRequest request = new MockHttpServletRequest();
    request.setRequestURI(webRequest.getUrl().getPath());
    request.addHeader("User-Agent", "Apache Archiva unit test");
    request.setMethod(webRequest.getHttpMethod().name());

    final MockHttpServletResponse response = execute(request);

    assertEquals(HttpServletResponse.SC_MOVED_TEMPORARILY, response.getStatus());

    assertEquals("http://localhost/repository/internal/" + commonsLangJar, response.getHeader("Location"));
}

From source file:org.apache.archiva.webdav.RepositoryServletSecurityTest.java

@Test
public void testPutWithInvalidUserAndGuestHasNoWriteAccess() throws Exception {

    InputStream is = getClass().getResourceAsStream("/artifact.jar");
    assertNotNull("artifact.jar inputstream", is);

    servlet.setDavSessionProvider(davSessionProvider);

    AuthenticationResult result = new AuthenticationResult();

    EasyMock.expect(httpAuth.getAuthenticationResult(anyObject(HttpServletRequest.class),
            anyObject(HttpServletResponse.class))).andReturn(result);

    servletAuth.isAuthenticated(EasyMock.anyObject(HttpServletRequest.class),
            EasyMock.anyObject(AuthenticationResult.class));
    EasyMock.expectLastCall().andThrow(new AuthenticationException("Authentication error"));

    servletAuth.isAuthorized("guest", "internal", ArchivaRoleConstants.OPERATION_REPOSITORY_UPLOAD);

    EasyMock.expectLastCall().andThrow(new UnauthorizedException("'guest' has no write access to repository"));

    httpAuthControl.replay();//from www .jav  a  2 s  .c om
    servletAuthControl.replay();
    MockHttpServletRequest mockHttpServletRequest = new MockHttpServletRequest();
    mockHttpServletRequest.addHeader("User-Agent", "foo");
    mockHttpServletRequest.setMethod("PUT");
    mockHttpServletRequest.setRequestURI("/repository/internal/path/to/artifact.jar");
    mockHttpServletRequest.setContent(IOUtils.toByteArray(is));
    mockHttpServletRequest.setContentType("application/octet-stream");

    MockHttpServletResponse mockHttpServletResponse = new MockHttpServletResponse();

    servlet.service(mockHttpServletRequest, mockHttpServletResponse);

    httpAuthControl.verify();
    servletAuthControl.verify();

    assertEquals(HttpServletResponse.SC_UNAUTHORIZED, mockHttpServletResponse.getStatus());
}

From source file:org.apache.archiva.webdav.RepositoryServletSecurityTest.java

@Test
public void testPutWithInvalidUserAndGuestHasWriteAccess() throws Exception {

    servlet.setDavSessionProvider(davSessionProvider);

    ArchivaDavResourceFactory archivaDavResourceFactory = (ArchivaDavResourceFactory) servlet
            .getResourceFactory();/*from  w  ww.j a  va 2s.co m*/
    archivaDavResourceFactory.setHttpAuth(httpAuth);
    archivaDavResourceFactory.setServletAuth(servletAuth);

    servlet.setResourceFactory(archivaDavResourceFactory);

    AuthenticationResult result = new AuthenticationResult();

    EasyMock.expect(httpAuth.getAuthenticationResult(anyObject(HttpServletRequest.class),
            anyObject(HttpServletResponse.class))).andReturn(result);

    EasyMock.expect(servletAuth.isAuthenticated(anyObject(HttpServletRequest.class),
            anyObject(AuthenticationResult.class)))
            .andThrow(new AuthenticationException("Authentication error"));

    EasyMock.expect(
            servletAuth.isAuthorized("guest", "internal", ArchivaRoleConstants.OPERATION_REPOSITORY_UPLOAD))
            .andReturn(true);

    // ArchivaDavResourceFactory#isAuthorized()
    SecuritySession session = new DefaultSecuritySession();

    EasyMock.expect(httpAuth.getAuthenticationResult(anyObject(HttpServletRequest.class),
            anyObject(HttpServletResponse.class))).andReturn(result);

    EasyMock.expect(httpAuth.getSecuritySession(anyObject(HttpSession.class))).andReturn(session);

    EasyMock.expect(servletAuth.isAuthenticated(anyObject(HttpServletRequest.class), eq(result)))
            .andThrow(new AuthenticationException("Authentication error"));

    EasyMock.expect(httpAuth.getSessionUser(anyObject(HttpSession.class))).andReturn(null);

    // check if guest has write access
    EasyMock.expect(
            servletAuth.isAuthorized("guest", "internal", ArchivaRoleConstants.OPERATION_REPOSITORY_UPLOAD))
            .andReturn(true);

    httpAuthControl.replay();
    servletAuthControl.replay();

    InputStream is = getClass().getResourceAsStream("/artifact.jar");
    assertNotNull("artifact.jar inputstream", is);

    MockHttpServletRequest mockHttpServletRequest = new MockHttpServletRequest();
    mockHttpServletRequest.addHeader("User-Agent", "foo");
    mockHttpServletRequest.setMethod("PUT");
    mockHttpServletRequest.setRequestURI("/repository/internal/path/to/artifact.jar");
    mockHttpServletRequest.setContent(IOUtils.toByteArray(is));
    mockHttpServletRequest.setContentType("application/octet-stream");

    MockHttpServletResponse mockHttpServletResponse = new MockHttpServletResponse();

    servlet.service(mockHttpServletRequest, mockHttpServletResponse);

    httpAuthControl.verify();
    servletAuthControl.verify();

    assertEquals(HttpServletResponse.SC_CREATED, mockHttpServletResponse.getStatus());
}