Example usage for org.apache.http.client.utils URLEncodedUtils parse

List of usage examples for org.apache.http.client.utils URLEncodedUtils parse

Introduction

In this page you can find the example usage for org.apache.http.client.utils URLEncodedUtils parse.

Prototype

public static List<NameValuePair> parse(final HttpEntity entity) throws IOException 

Source Link

Document

Returns a list of NameValuePair NameValuePairs as parsed from an HttpEntity .

Usage

From source file:com.socialize.test.unit.SocializeRequestFactoryTest.java

@UsesMocks({ UserProviderCredentialsMap.class, AuthProviderData.class, AuthProviderInfo.class,
        UserProviderCredentials.class })
public void testAuthRequestCreate() throws Exception {

    SocializeSession session = AndroidMock.createMock(SocializeSession.class);
    UserProviderCredentialsMap userProviderCredentialsMap = AndroidMock
            .createMock(UserProviderCredentialsMap.class);
    AuthProviderData data = AndroidMock.createMock(AuthProviderData.class);
    AuthProviderInfo authProviderInfo = AndroidMock.createMock(AuthProviderInfo.class);
    UserProviderCredentials userProviderCredentials = AndroidMock.createMock(UserProviderCredentials.class);

    AuthProviderType type = AuthProviderType.SOCIALIZE;

    final String endpoint = "foobar/";
    final String udid = "testid";

    final String accessToken = "foobar_accessToken";
    final String tokenSecret = "foobar_tokenSecret";
    final String userId = "foobar_userId";

    OAuthRequestSigner signer = new OAuthRequestSigner() {

        @Override/*from  ww  w.j a  v  a  2 s.  co  m*/
        public <R extends HttpUriRequest> R sign(SocializeSession session, R request,
                OAuthSignListener listener) throws SocializeException {
            assertTrue(request instanceof HttpPost);
            HttpPost post = (HttpPost) request;
            assertEquals(post.getURI().toString(), endpoint);
            assertNotNull(post.getEntity());
            addResult(true);
            return request;
        }

        @Override
        public <R extends HttpUriRequest> R sign(SocializeSession session, R request)
                throws SocializeException {
            return sign(session, request, null);
        }

        @Override
        public <R extends HttpUriRequest> R sign(String consumerKey, String consumerSecret, String accessToken,
                String accessTokenSecret, R request, OAuthSignListener listener) throws SocializeException {
            return null;
        }
    };

    SocializeRequestFactory<SocializeObject> factory = new DefaultSocializeRequestFactory<SocializeObject>(
            signer, null);

    AndroidMock.expect(session.getUserProviderCredentials()).andReturn(userProviderCredentialsMap);
    AndroidMock.expect(data.getAuthProviderInfo()).andReturn(authProviderInfo);
    AndroidMock.expect(authProviderInfo.getType()).andReturn(type).anyTimes();
    AndroidMock.expect(userProviderCredentialsMap.get(type)).andReturn(userProviderCredentials);
    AndroidMock.expect(userProviderCredentials.getAuthProviderInfo()).andReturn(authProviderInfo).anyTimes();
    AndroidMock.expect(userProviderCredentials.getAccessToken()).andReturn(accessToken).anyTimes();
    AndroidMock.expect(userProviderCredentials.getTokenSecret()).andReturn(tokenSecret).anyTimes();
    AndroidMock.expect(userProviderCredentials.getUserId()).andReturn(userId).anyTimes();

    AndroidMock.replay(session, data, authProviderInfo, userProviderCredentialsMap, userProviderCredentials);

    HttpUriRequest req = factory.getAuthRequest(session, endpoint, udid, data);

    assertTrue(req instanceof HttpPost);

    HttpPost post = (HttpPost) req;

    HttpEntity entity = post.getEntity();

    assertNotNull(entity);

    assertTrue(entity instanceof UrlEncodedFormEntity);

    List<NameValuePair> parsed = URLEncodedUtils.parse(entity);

    assertEquals(1, parsed.size());

    NameValuePair nvp = parsed.get(0);

    assertEquals("payload", nvp.getName());

    JSONObject jsonExpected = new JSONObject();
    jsonExpected.put("udid", udid);
    jsonExpected.put("auth_type", type.getId());
    jsonExpected.put("auth_token", accessToken);
    jsonExpected.put("auth_token_secret", tokenSecret);
    jsonExpected.put("auth_id", userId);

    assertEquals(jsonExpected.toString(), nvp.getValue());

    assertTrue((Boolean) getNextResult());

    AndroidMock.verify(session);
}

From source file:org.whitesource.agent.client.WssServiceClientTest.java

@Test
public void testCheckPoliciesRequestSentOk() {
    final Collection<AgentProjectInfo> projects = new ArrayList<AgentProjectInfo>();
    final AgentProjectInfo projectInfo = new AgentProjectInfo();
    projectInfo.setProjectToken("projectToken");
    projectInfo.setCoordinates(new Coordinates("groupId", "artifactId", "version"));
    projectInfo.setParentCoordinates(new Coordinates("groupId", "parent-artifactId", "version"));
    final DependencyInfo dependencyInfo = new DependencyInfo("dep-groupId", "dep-artifactId", "dep-version");
    projectInfo.getDependencies().add(dependencyInfo);
    projects.add(projectInfo);/*from w  ww  .j  ava2  s  . c o  m*/
    final CheckPoliciesRequest checkPoliciesRequest = requestFactory.newCheckPoliciesRequest("orgToken",
            projects);

    HttpRequestHandler handler = new HttpRequestHandler() {
        @Override
        public void handle(HttpRequest request, HttpResponse response, HttpContext context)
                throws HttpException, IOException {
            HttpEntity entity = ((HttpEntityEnclosingRequest) request).getEntity();
            List<NameValuePair> nvps = URLEncodedUtils.parse(entity);
            for (NameValuePair nvp : nvps) {
                if (nvp.getName().equals(APIConstants.PARAM_REQUEST_TYPE)) {
                    assertEquals(nvp.getValue(), checkPoliciesRequest.type().toString());
                } else if (nvp.getName().equals(APIConstants.PARAM_AGENT)) {
                    assertEquals(nvp.getValue(), checkPoliciesRequest.agent());
                } else if (nvp.getName().equals(APIConstants.PARAM_AGENT_VERSION)) {
                    assertEquals(nvp.getValue(), checkPoliciesRequest.agentVersion());
                } else if (nvp.getName().equals(APIConstants.PARAM_TOKEN)) {
                    assertEquals(nvp.getValue(), checkPoliciesRequest.orgToken());
                } else if (nvp.getName().equals(APIConstants.PARAM_DIFF)) {
                    Gson gson = new Gson();
                    Type type = new TypeToken<Collection<AgentProjectInfo>>() {
                    }.getType();
                    final Collection<AgentProjectInfo> tmpProjects = gson.fromJson(nvp.getValue(), type);
                    assertEquals(tmpProjects.size(), 1);
                    final AgentProjectInfo info = tmpProjects.iterator().next();
                    assertEquals(info.getProjectToken(), projectInfo.getProjectToken());
                    assertEquals(info.getCoordinates(), projectInfo.getCoordinates());
                    assertEquals(info.getParentCoordinates(), projectInfo.getParentCoordinates());
                    assertEquals(info.getDependencies().size(), 1);
                    assertEquals(info.getDependencies().iterator().next(), dependencyInfo);
                }
            }
        }
    };
    server.register("/agent", handler);
    try {
        client.checkPolicies(checkPoliciesRequest);
    } catch (WssServiceException e) {
        // suppress exception
    }
}

From source file:groovyx.net.http.ParserRegistry.java

/**
 * Default parser used to decode a URL-encoded response.
 * @see ContentType#URLENC//from w ww  . ja  va 2  s .c om
 * @param resp
 * @return
 * @throws IOException
 */
public Map<String, String> parseForm(final HttpResponse resp) throws IOException {
    HttpEntity entity = resp.getEntity();
    /* URLEncodedUtils won't parse the content unless the content-type is
       application/x-www-form-urlencoded.  Since we want to be able to force
       parsing regardless of what the content-type header says, we need to
       'spoof' the content-type if it's not already acceptable. */
    if (!ContentType.URLENC.toString().equals(ParserRegistry.getContentType(resp))) {
        entity = new HttpEntityWrapper(entity) {
            @Override
            public org.apache.http.Header getContentType() {
                String value = ContentType.URLENC.toString();
                String charset = ParserRegistry.getCharset(resp);
                if (charset != null)
                    value += "; charset=" + charset;
                return new BasicHeader("Content-Type", value);
            };
        };
    }
    List<NameValuePair> params = URLEncodedUtils.parse(entity);
    Map<String, String> paramMap = new HashMap<String, String>(params.size());
    for (NameValuePair param : params)
        paramMap.put(param.getName(), param.getValue());
    return paramMap;
}

From source file:com.gsma.mobileconnect.impl.RequestTokenTest.java

@Test
public void requestToken_withDefaults_shouldCreateExpectedRequest()
        throws OIDCException, DiscoveryResponseExpiredException, IOException, RestException {
    // GIVEN//from   w  ww.  j  a  v a  2 s .co m
    RestClient mockedRestClient = mock(RestClient.class);
    IOIDC ioidc = Factory.getOIDC(mockedRestClient);
    CaptureRequestTokenResponse captureRequestTokenResponse = new CaptureRequestTokenResponse();
    DiscoveryResponse discoveryResponse = new DiscoveryResponse(true, new Date(Long.MAX_VALUE), 0, null,
            parseJson(OPERATOR_JSON_STRING));

    final CaptureHttpRequestBase captureHttpRequestBase = new CaptureHttpRequestBase();
    final RestResponse restResponse = new RestResponse(null, 0, null, "{}");

    doAnswer(new Answer() {
        public Object answer(InvocationOnMock invocationOnMock) throws Throwable {
            Object[] args = invocationOnMock.getArguments();
            HttpRequestBase requestBase = (HttpRequestBase) args[0];
            captureHttpRequestBase.setValue(requestBase);
            return restResponse;
        }
    }).when(mockedRestClient).callRestEndPoint(any(HttpRequestBase.class), any(HttpClientContext.class),
            eq(30000), Matchers.<List<KeyValuePair>>any());

    // WHEN
    ioidc.requestToken(discoveryResponse, "", "", null, captureRequestTokenResponse);

    // THEN
    HttpRequestBase request = captureHttpRequestBase.getValue();

    assertEquals(TOKEN_HREF, request.getURI().toString());
    assertEquals("POST", request.getMethod());
    assertEquals("application/x-www-form-urlencoded", request.getFirstHeader("Content-Type").getValue());
    assertEquals("application/json", request.getFirstHeader("accept").getValue());

    assertTrue(request instanceof HttpPost);

    HttpPost postRequest = (HttpPost) request;
    List<NameValuePair> contents = URLEncodedUtils.parse(postRequest.getEntity());

    assertEquals("", findValueOfName(contents, "code"));
    assertEquals("authorization_code", findValueOfName(contents, "grant_type"));
    assertEquals("", findValueOfName(contents, "redirect_uri"));
}

From source file:com.gsma.mobileconnect.impl.RequestTokenTest.java

@Test
public void requestToken_withAllOptionsSet_shouldCreateExpectedRequest()
        throws OIDCException, DiscoveryResponseExpiredException, IOException, RestException {
    // GIVEN//from www.ja  va 2 s  . c o  m
    RestClient mockedRestClient = mock(RestClient.class);
    IOIDC ioidc = Factory.getOIDC(mockedRestClient);
    CaptureRequestTokenResponse captureRequestTokenResponse = new CaptureRequestTokenResponse();
    DiscoveryResponse discoveryResponse = new DiscoveryResponse(true, new Date(Long.MAX_VALUE), 0, null,
            parseJson(OPERATOR_JSON_STRING));

    TokenOptions options = new TokenOptions();
    options.setTimeout(333);

    final CaptureHttpRequestBase captureHttpRequestBase = new CaptureHttpRequestBase();
    final RestResponse restResponse = new RestResponse(null, 0, null, "{}");

    doAnswer(new Answer() {
        public Object answer(InvocationOnMock invocationOnMock) throws Throwable {
            Object[] args = invocationOnMock.getArguments();
            HttpRequestBase requestBase = (HttpRequestBase) args[0];
            captureHttpRequestBase.setValue(requestBase);
            return restResponse;
        }
    }).when(mockedRestClient).callRestEndPoint(any(HttpRequestBase.class), any(HttpClientContext.class),
            eq(options.getTimeout()), Matchers.<List<KeyValuePair>>any());

    String expectedRedirectURI = "expected-redirect-uri";
    String expectedCode = "expected-code";

    // WHEN
    ioidc.requestToken(discoveryResponse, expectedRedirectURI, expectedCode, options,
            captureRequestTokenResponse);

    // THEN
    HttpRequestBase request = captureHttpRequestBase.getValue();

    assertEquals(TOKEN_HREF, request.getURI().toString());
    assertEquals("POST", request.getMethod());
    assertEquals("application/x-www-form-urlencoded", request.getFirstHeader("Content-Type").getValue());
    assertEquals("application/json", request.getFirstHeader("accept").getValue());

    assertTrue(request instanceof HttpPost);

    HttpPost postRequest = (HttpPost) request;
    List<NameValuePair> contents = URLEncodedUtils.parse(postRequest.getEntity());

    assertEquals(expectedCode, findValueOfName(contents, "code"));
    assertEquals("authorization_code", findValueOfName(contents, "grant_type"));
    assertEquals(expectedRedirectURI, findValueOfName(contents, "redirect_uri"));
}

From source file:com.socialize.test.unit.SocializeRequestFactoryTest.java

@SuppressWarnings("unchecked")
@UsesMocks({ SocializeObjectFactory.class, JSONObject.class, SocializeSession.class })
public void testPostRequestCreate() throws Exception {

    SocializeObjectFactory<SocializeObject> factory = AndroidMock.createMock(SocializeObjectFactory.class);
    SocializeSession session = AndroidMock.createMock(SocializeSession.class);

    SocializeObject object = new SocializeObject();
    final String jsonData = "{ 'entity': 'http://www.example.com/interesting-story/', 'text': 'this was a great story' }";
    final String endpoint = "foobar/";

    /**//  w w  w .j ava 2s .c  o m
     * The toString() method can't be mocked by EasyMock (no idea why!) so
     * we can't use a mock for the JSON object. We'll have to do it
     * manually.
     */
    JSONObject json = new JSONObject() {
        @Override
        public String toString() {
            return jsonData;
        }
    };

    AndroidMock.expect(factory.toJSON(object)).andReturn(json);

    OAuthRequestSigner signer = new OAuthRequestSigner() {

        @Override
        public <R extends HttpUriRequest> R sign(SocializeSession session, R request,
                OAuthSignListener listener) throws SocializeException {
            HttpPost.class.isInstance(request);
            assertEquals(request.getURI().toString(), endpoint);
            addResult(true);
            return request;
        }

        @Override
        public <R extends HttpUriRequest> R sign(SocializeSession session, R request)
                throws SocializeException {
            return sign(session, request, null);
        }

        @Override
        public <R extends HttpUriRequest> R sign(String consumerKey, String consumerSecret, String accessToken,
                String accessTokenSecret, R request, OAuthSignListener listener) throws SocializeException {
            return null;
        }
    };

    SocializeRequestFactory<SocializeObject> reqFactory = new DefaultSocializeRequestFactory<SocializeObject>(
            signer, factory);

    AndroidMock.replay(factory);

    HttpUriRequest req = reqFactory.getPostRequest(session, endpoint, object);

    assertTrue((Boolean) getNextResult());
    assertTrue(HttpPost.class.isInstance(req));
    assertTrue(HttpEntityEnclosingRequestBase.class.isAssignableFrom(req.getClass()));

    HttpEntityEnclosingRequestBase post = (HttpEntityEnclosingRequestBase) req;

    HttpEntity entity = post.getEntity();

    assertNotNull(entity);

    assertTrue(entity instanceof UrlEncodedFormEntity);

    List<NameValuePair> parsed = URLEncodedUtils.parse(entity);

    assertEquals(1, parsed.size());

    NameValuePair nvp = parsed.get(0);

    assertEquals("payload", nvp.getName());
    assertEquals(jsonData, nvp.getValue());

    AndroidMock.verify(factory);
}

From source file:com.socialize.test.unit.SocializeRequestFactoryTest.java

@SuppressWarnings("unchecked")
@UsesMocks({ SocializeObjectFactory.class, SocializeSession.class })
public void testPostRequestCreateCollection() throws Exception {

    SocializeObjectFactory<SocializeObject> factory = AndroidMock.createMock(SocializeObjectFactory.class);
    SocializeSession session = AndroidMock.createMock(SocializeSession.class);

    SocializeObject object0 = new SocializeObject();
    SocializeObject object1 = new SocializeObject();
    final String jsonData = "foo";
    final String endpoint = "foobar/";

    /**/*  ww  w.  ja v a2s  .  com*/
     * The toString() method can't be mocked by EasyMock (no idea why!) so
     * we can't use a mock for the JSON object. We'll have to do it
     * manually.
     */
    JSONArray jsonArray = new JSONArray() {
        @Override
        public String toString() {
            return jsonData;
        }
    };

    Collection<SocializeObject> objects = new ArrayList<SocializeObject>(1);
    objects.add(object0);
    objects.add(object1);

    AndroidMock.expect(factory.toJSON(objects)).andReturn(jsonArray);
    AndroidMock.replay(factory);

    OAuthRequestSigner signer = new OAuthRequestSigner() {

        @Override
        public <R extends HttpUriRequest> R sign(SocializeSession session, R request,
                OAuthSignListener listener) throws SocializeException {
            HttpPost.class.isInstance(request);
            assertEquals(request.getURI().toString(), endpoint);
            addResult(true);
            return request;
        }

        @Override
        public <R extends HttpUriRequest> R sign(SocializeSession session, R request)
                throws SocializeException {
            return sign(session, request, null);
        }

        @Override
        public <R extends HttpUriRequest> R sign(String consumerKey, String consumerSecret, String accessToken,
                String accessTokenSecret, R request, OAuthSignListener listener) throws SocializeException {
            return null;
        }
    };

    SocializeRequestFactory<SocializeObject> reqFactory = new DefaultSocializeRequestFactory<SocializeObject>(
            signer, factory);

    HttpUriRequest req = reqFactory.getPostRequest(session, endpoint, objects);

    assertTrue((Boolean) getNextResult());
    assertTrue(HttpPost.class.isInstance(req));
    assertTrue(HttpEntityEnclosingRequestBase.class.isAssignableFrom(req.getClass()));

    HttpEntityEnclosingRequestBase post = (HttpEntityEnclosingRequestBase) req;

    HttpEntity entity = post.getEntity();

    assertNotNull(entity);

    assertTrue(entity instanceof UrlEncodedFormEntity);

    List<NameValuePair> parsed = URLEncodedUtils.parse(entity);

    assertEquals(1, parsed.size());

    NameValuePair nvp = parsed.get(0);

    assertEquals("payload", nvp.getName());
    assertEquals(jsonData, nvp.getValue());

    AndroidMock.verify(factory);
}

From source file:com.socialize.test.unit.SocializeRequestFactoryTest.java

@SuppressWarnings("unchecked")
@UsesMocks({ SocializeObjectFactory.class, SocializeSession.class })
public void testPutRequestCreateCollection() throws Exception {

    SocializeObjectFactory<SocializeObject> factory = AndroidMock.createMock(SocializeObjectFactory.class);
    SocializeSession session = AndroidMock.createMock(SocializeSession.class);

    SocializeObject object0 = new SocializeObject();
    SocializeObject object1 = new SocializeObject();
    final String jsonData = "foo";
    final String endpoint = "foobar/";

    /**/*from  w  w w.j a v a 2 s.  c  o  m*/
     * The toString() method can't be mocked by EasyMock (no idea why!) so
     * we can't use a mock for the JSON object. We'll have to do it
     * manually.
     */
    JSONArray jsonArray = new JSONArray() {
        @Override
        public String toString() {
            return jsonData;
        }
    };

    Collection<SocializeObject> objects = new ArrayList<SocializeObject>(1);
    objects.add(object0);
    objects.add(object1);

    AndroidMock.expect(factory.toJSON(objects)).andReturn(jsonArray);
    AndroidMock.replay(factory);

    OAuthRequestSigner signer = new OAuthRequestSigner() {

        @Override
        public <R extends HttpUriRequest> R sign(SocializeSession session, R request,
                OAuthSignListener listener) throws SocializeException {
            HttpPut.class.isInstance(request);
            assertEquals(request.getURI().toString(), endpoint);
            addResult(true);
            return request;
        }

        @Override
        public <R extends HttpUriRequest> R sign(SocializeSession session, R request)
                throws SocializeException {
            return sign(session, request, null);
        }

        @Override
        public <R extends HttpUriRequest> R sign(String consumerKey, String consumerSecret, String accessToken,
                String accessTokenSecret, R request, OAuthSignListener listener) throws SocializeException {
            return null;
        }
    };

    SocializeRequestFactory<SocializeObject> reqFactory = new DefaultSocializeRequestFactory<SocializeObject>(
            signer, factory);

    HttpUriRequest req = reqFactory.getPutRequest(session, endpoint, objects);

    assertTrue((Boolean) getNextResult());
    assertTrue(HttpPut.class.isInstance(req));
    assertTrue(HttpEntityEnclosingRequestBase.class.isAssignableFrom(req.getClass()));

    HttpEntityEnclosingRequestBase post = (HttpEntityEnclosingRequestBase) req;

    HttpEntity entity = post.getEntity();

    assertNotNull(entity);

    assertTrue(entity instanceof UrlEncodedFormEntity);

    List<NameValuePair> parsed = URLEncodedUtils.parse(entity);

    assertEquals(1, parsed.size());

    NameValuePair nvp = parsed.get(0);

    assertEquals("payload", nvp.getName());
    assertEquals(jsonData, nvp.getValue());

    AndroidMock.verify(factory);
}

From source file:com.socialize.test.unit.SocializeRequestFactoryTest.java

@SuppressWarnings("unchecked")
@UsesMocks({ SocializeObjectFactory.class, JSONObject.class, SocializeSession.class })
public void testPutRequestCreate() throws Exception {

    SocializeObjectFactory<SocializeObject> factory = AndroidMock.createMock(SocializeObjectFactory.class);
    SocializeSession session = AndroidMock.createMock(SocializeSession.class);

    SocializeObject object = new SocializeObject();
    final String jsonData = "foobar";
    final String endpoint = "foobar/";

    /**// w  w  w  .j av  a2 s  .  co m
     * The toString() method can't be mocked by EasyMock (no idea why!) so
     * we can't use a mock for the JSON object. We'll have to do it
     * manually.
     */
    JSONObject json = new JSONObject() {
        @Override
        public String toString() {
            return jsonData;
        }
    };

    AndroidMock.expect(factory.toJSON(object)).andReturn(json);

    OAuthRequestSigner signer = new OAuthRequestSigner() {

        @Override
        public <R extends HttpUriRequest> R sign(SocializeSession session, R request,
                OAuthSignListener listener) throws SocializeException {
            HttpPut.class.isInstance(request);
            assertEquals(request.getURI().toString(), endpoint);
            addResult(true);
            return request;
        }

        @Override
        public <R extends HttpUriRequest> R sign(SocializeSession session, R request)
                throws SocializeException {
            return sign(session, request, null);
        }

        @Override
        public <R extends HttpUriRequest> R sign(String consumerKey, String consumerSecret, String accessToken,
                String accessTokenSecret, R request, OAuthSignListener listener) throws SocializeException {
            return null;
        }
    };

    SocializeRequestFactory<SocializeObject> reqFactory = new DefaultSocializeRequestFactory<SocializeObject>(
            signer, factory);

    AndroidMock.replay(factory);

    HttpUriRequest req = reqFactory.getPutRequest(session, endpoint, object);

    assertTrue((Boolean) getNextResult());
    assertTrue(HttpPut.class.isInstance(req));
    assertTrue(HttpEntityEnclosingRequestBase.class.isAssignableFrom(req.getClass()));

    HttpEntityEnclosingRequestBase post = (HttpEntityEnclosingRequestBase) req;

    HttpEntity entity = post.getEntity();

    assertNotNull(entity);

    assertTrue(entity instanceof UrlEncodedFormEntity);

    List<NameValuePair> parsed = URLEncodedUtils.parse(entity);

    assertEquals(1, parsed.size());

    NameValuePair nvp = parsed.get(0);

    assertEquals("payload", nvp.getName());
    assertEquals(jsonData, nvp.getValue());

    AndroidMock.verify(factory);
}