Examples of FakeHttpServletRequest


Examples of org.apache.shindig.common.testing.FakeHttpServletRequest

    assertNull(args.getRequestOption("random"));
  }

  @Test
  public void testInitFromRequest_oauthDefaults() throws Exception {
    FakeHttpServletRequest req = new FakeHttpServletRequest();
    OAuthArguments args = new OAuthArguments(AuthType.OAUTH, req);
    assertEquals(UseToken.ALWAYS, args.getUseToken());
  }
View Full Code Here

Examples of org.apache.shindig.common.testing.FakeHttpServletRequest

    assertEquals("baz", args.getRequestOption("quux"));
  }

  @Test
  public void testParseUseToken() throws Exception {
    FakeHttpServletRequest req = new FakeHttpServletRequest();
    req.setParameter("OAUTH_USE_TOKEN", "ALWAYS");
    OAuthArguments args = new OAuthArguments(AuthType.SIGNED, req);
    assertEquals(UseToken.ALWAYS, args.getUseToken());

    req.setParameter("OAUTH_USE_TOKEN", "if_available");
    args = new OAuthArguments(AuthType.SIGNED, req);
    assertEquals(UseToken.IF_AVAILABLE, args.getUseToken());

    req.setParameter("OAUTH_USE_TOKEN", "never");
    args = new OAuthArguments(AuthType.SIGNED, req);
    assertEquals(UseToken.NEVER, args.getUseToken());

    req.setParameter("OAUTH_USE_TOKEN", "");
    args = new OAuthArguments(AuthType.SIGNED, req);
    assertEquals(UseToken.NEVER, args.getUseToken());

    req.setParameter("OAUTH_USE_TOKEN", "");
    args = new OAuthArguments(AuthType.OAUTH, req);
    assertEquals(UseToken.ALWAYS, args.getUseToken());

    try {
      req.setParameter("OAUTH_USE_TOKEN", "stuff");
      new OAuthArguments(AuthType.OAUTH, req);
      fail("Should have thrown");
    } catch (GadgetException e) {
      // good.
    }
View Full Code Here

Examples of org.apache.shindig.common.testing.FakeHttpServletRequest

  public FakeHttpServletRequest sign(String consumerKey, String consumerSecret, String requestor,
      String token, String tokenSecret, OAuthParamLocation paramLocationEnum,
      BodySigning bodySigning)
      throws Exception {
    FakeHttpServletRequest request = new FakeHttpServletRequest(url);

    List<OAuth.Parameter> oauthParams = Lists.newArrayList();
    UriBuilder target = new UriBuilder(Uri.parse(url));
    String query = target.getQuery();
    target.setQuery(null);
    oauthParams.addAll(OAuth.decodeForm(query));

    if (body != null) {
      if (OAuth.isFormEncoded(contentType)) {
        oauthParams.addAll(OAuth.decodeForm(body));
      } else if (bodySigning == BodySigning.LEGACY) {
        oauthParams.add(new OAuth.Parameter(body, ""));
      } else if (bodySigning == BodySigning.HASH) {
        oauthParams.add(
            new OAuth.Parameter(OAuthConstants.OAUTH_BODY_HASH,
                new String(Base64.encodeBase64(DigestUtils.sha(body.getBytes())), "UTF-8")));
      }
    }

    oauthParams.add(new OAuth.Parameter(OAuth.OAUTH_CONSUMER_KEY, consumerKey));
    oauthParams.add(new OAuth.Parameter("xoauth_requestor_id", requestor));

    OAuthConsumer consumer = new OAuthConsumer(null,consumerKey,consumerSecret, null);
    OAuthAccessor accessor = new OAuthAccessor(consumer);
    if (!Strings.isNullOrEmpty(token)) {
      accessor.accessToken = token;
      accessor.tokenSecret = tokenSecret;
    }
    OAuthMessage message = accessor.newRequestMessage(method, target.toString(), oauthParams);

    List<Map.Entry<String, String>> entryList = selectOAuthParams(message);

    switch (paramLocationEnum) {
      case AUTH_HEADER:
        request.setHeader("Authorization", getAuthorizationHeader(entryList));
        break;
      case POST_BODY:
        if (!OAuth.isFormEncoded(contentType)) {
          throw new RuntimeException(
              "OAuth param location can only be post_body if post body is of " +
                  "type x-www-form-urlencoded");
        }
        // All message params should be added if oauth params are added to body
        for (Map.Entry<String, String> param : message.getParameters()) {
          request.setParameter(param.getKey(), true, param.getValue());
        }
        String oauthData = OAuth.formEncode(message.getParameters());
        request.setPostData(CharsetUtil.getUtf8Bytes(oauthData));
        break;
      case URI_QUERY:
        request.setQueryString(Uri.parse(OAuth.addParameters(url, entryList)).getQuery());
        break;
    }

    if (body != null && paramLocationEnum != OAuthParamLocation.POST_BODY) {
      request.setContentType(contentType);
      request.setPostData(body, "UTF-8");
      if (contentType.contains(OAuth.FORM_ENCODED)) {
        List<OAuth.Parameter> bodyParams = OAuth.decodeForm(body);
        for (OAuth.Parameter bodyParam : bodyParams) {
          request.setParameter(bodyParam.getKey(), bodyParam.getValue());
        }
      }
    }
    request.setMethod(method);

    return request;
  }
View Full Code Here

Examples of org.apache.shindig.common.testing.FakeHttpServletRequest

   *
   * @throws Exception
   */
  @Test
  public void testGetAccessToken() throws Exception {
    FakeHttpServletRequest req = new FakeHttpServletRequest(
        "http://localhost:8080/oauth2");
    req.setContentType("application/x-www-form-urlencoded");
    req.setPostData(
        "client_id=" + PUBLIC_CLIENT_ID
            + "&grant_type=authorization_code&redirect_uri="
            + URLEncoder.encode(PUBLIC_REDIRECT_URI, "UTF-8") + "&code="
            + PUBLIC_AUTH_CODE, "UTF-8");
    req.setMethod("GET");
    req.setServletPath("/oauth2");
    req.setPathInfo("/access_token");
    HttpServletResponse resp = mock(HttpServletResponse.class);
    resp.setStatus(HttpServletResponse.SC_OK);
    MockServletOutputStream outputStream = new MockServletOutputStream();
    EasyMock.expect(resp.getOutputStream()).andReturn(outputStream).anyTimes();
    PrintWriter writer = new PrintWriter(outputStream);
View Full Code Here

Examples of org.apache.shindig.common.testing.FakeHttpServletRequest

   *
   * @throws Exception
   */
  @Test
  public void testGetAuthorizationCode() throws Exception {
    FakeHttpServletRequest req = new FakeHttpServletRequest(
        "http://localhost:8080/oauth2");
    req.setContentType("application/x-www-form-urlencoded");
    req.setPostData(
        "client_id=" + PUBLIC_CLIENT_ID + "&response_type=code&redirect_uri="
            + URLEncoder.encode(PUBLIC_REDIRECT_URI, "UTF-8"), "UTF-8");
    req.setMethod("GET");
    req.setServletPath("/oauth2");
    req.setPathInfo("/authorize");
    HttpServletResponse resp = mock(HttpServletResponse.class);
    Capture<String> redirectURI = new Capture<String>();
    resp.setHeader(EasyMock.eq("Location"), EasyMock.capture(redirectURI));
    resp.setStatus(EasyMock.eq(HttpServletResponse.SC_FOUND));
    MockServletOutputStream outputStream = new MockServletOutputStream();
View Full Code Here

Examples of org.apache.shindig.common.testing.FakeHttpServletRequest

   *
   * @throws Exception
   */
  @Test
  public void testGetAuthorizationCodePreserveState() throws Exception {
    FakeHttpServletRequest req = new FakeHttpServletRequest(
        "http://localhost:8080", "/oauth2", "client_id=" + PUBLIC_CLIENT_ID
            + "&response_type=code&state=PRESERVEME&redirect_uri="
            + URLEncoder.encode(PUBLIC_REDIRECT_URI, "UTF-8"));
    req.setMethod("GET");
    req.setServletPath("/oauth2");
    req.setPathInfo("/authorize");
    HttpServletResponse resp = mock(HttpServletResponse.class);
    Capture<String> redirectURI = new Capture<String>();
    resp.setHeader(EasyMock.eq("Location"), EasyMock.capture(redirectURI));
    resp.setStatus(EasyMock.eq(HttpServletResponse.SC_FOUND));
    MockServletOutputStream outputStream = new MockServletOutputStream();
View Full Code Here

Examples of org.apache.shindig.common.testing.FakeHttpServletRequest

   *
   * @throws Exception
   */
  @Test
  public void testGetAuthorizationCodeConfidential() throws Exception {
    FakeHttpServletRequest req = new FakeHttpServletRequest(
        "http://localhost:8080", "/oauth2", "client_id=" + CONF_CLIENT_ID
            + "&response_type=code&client_secret=" + CONF_CLIENT_SECRET
            + "redirect_uri=" + URLEncoder.encode(REDIRECT_URI, "UTF-8"));
    req.setMethod("GET");
    req.setServletPath("/oauth2");
    req.setPathInfo("/authorize");
    HttpServletResponse resp = mock(HttpServletResponse.class);
    Capture<String> redirectURI = new Capture<String>();
    resp.setHeader(EasyMock.eq("Location"), EasyMock.capture(redirectURI));
    resp.setStatus(EasyMock.eq(HttpServletResponse.SC_FOUND));
    MockServletOutputStream outputStream = new MockServletOutputStream();
View Full Code Here

Examples of org.apache.shindig.common.testing.FakeHttpServletRequest

   *
   * @throws Exception
   */
  @Test
  public void testGetAuthorizationCodeNoRedirect() throws Exception {
    FakeHttpServletRequest req = new FakeHttpServletRequest(
        "http://localhost:8080", "/oauth2", "client_id=" + CONF_CLIENT_ID
            + "&response_type=code");
    req.setMethod("GET");
    req.setServletPath("/oauth2");
    req.setPathInfo("/authorize");
    HttpServletResponse resp = mock(HttpServletResponse.class);
    Capture<String> redirectURI = new Capture<String>();
    resp.setHeader(EasyMock.eq("Location"), EasyMock.capture(redirectURI));
    Capture<Integer> respCode = new Capture<Integer>();
    resp.setStatus(EasyMock.capture(respCode));
View Full Code Here

Examples of org.apache.shindig.common.testing.FakeHttpServletRequest

   *
   * @throws Exception
   */
  @Test
  public void testGetAuthorizationCodeBadRedirect() throws Exception {
    FakeHttpServletRequest req = new FakeHttpServletRequest(
        "http://localhost:8080", "/oauth2", "client_id=" + CONF_CLIENT_ID
            + "&response_type=code&redirect_uri="
            + URLEncoder.encode("http://example.org/redirect/", "UTF-8"));
    req.setMethod("GET");
    req.setServletPath("/oauth2");
    req.setPathInfo("/authorize");
    HttpServletResponse resp = mock(HttpServletResponse.class);
    resp.setStatus(HttpServletResponse.SC_FORBIDDEN);
    MockServletOutputStream outputStream = new MockServletOutputStream();
    EasyMock.expect(resp.getOutputStream()).andReturn(outputStream).anyTimes();
    PrintWriter writer = new PrintWriter(outputStream);
View Full Code Here

Examples of org.apache.shindig.common.testing.FakeHttpServletRequest

   *
   * @throws Exception
   */
  @Test
  public void testConfidentialAuthCodeFlow() throws Exception {
    FakeHttpServletRequest req = new FakeHttpServletRequest(
        "http://localhost:8080", "/oauth2", "client_id=" + CONF_CLIENT_ID
            + "&client_secret=" + CONF_CLIENT_SECRET
            + "&response_type=code&redirect_uri="
            + URLEncoder.encode(REDIRECT_URI, "UTF-8"));
    req.setMethod("GET");
    req.setServletPath("/oauth2");
    req.setPathInfo("/authorize");
    HttpServletResponse resp = mock(HttpServletResponse.class);
    Capture<String> redirectURI = new Capture<String>();
    resp.setHeader(EasyMock.eq("Location"), EasyMock.capture(redirectURI));
    resp.setStatus(EasyMock.eq(HttpServletResponse.SC_FOUND));
    MockServletOutputStream outputStream = new MockServletOutputStream();
    EasyMock.expect(resp.getOutputStream()).andReturn(outputStream).anyTimes();
    PrintWriter writer = new PrintWriter(outputStream);
    EasyMock.expect(resp.getWriter()).andReturn(writer).anyTimes();
    replay();
    servlet.service(req, resp);
    writer.flush();
    String response = new String(outputStream.getBuffer(), "UTF-8");
    assertTrue(response == null || response.equals(""));
    verify();
    assertTrue(redirectURI.getValue().startsWith(REDIRECT_URI + "?code="));
    String code = redirectURI.getValue().substring(
        redirectURI.getValue().indexOf("=") + 1);
    UUID id = UUID.fromString(code);
    assertTrue(id != null);

    reset();

    req = new FakeHttpServletRequest("http://localhost:8080", "/oauth2",
        "client_id=" + CONF_CLIENT_ID
            + "&grant_type=authorization_code&redirect_uri="
            + URLEncoder.encode(REDIRECT_URI, "UTF-8") + "&code=" + code
            + "&client_secret=" + CONF_CLIENT_SECRET);
    req.setMethod("GET");
    req.setServletPath("/oauth2");
    req.setPathInfo("/access_token");
    resp = mock(HttpServletResponse.class);
    resp.setStatus(HttpServletResponse.SC_OK);
    outputStream = new MockServletOutputStream();
    EasyMock.expect(resp.getOutputStream()).andReturn(outputStream).anyTimes();
    writer = new PrintWriter(outputStream);
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.