@Test
  public void testGetTemporaryCredentialsURIQuery() throws Exception {
    Map<String, String> parameters = new HashMap<String, String>();
    parameters.put(OAuth.OAUTH_CALLBACK, OAuthTestUtils.CALLBACK);

    // check all parameter transmissions
    for (ParameterStyle style : ParameterStyle.values()) {
      // for all signing methods
      for (String signMethod : OAuthTestUtils.SIGN_METHOD) {
        LOG.log(
            Level.INFO,
            "Preparing request with parameter style: {0} and signature method: {1}",
            new String[] {style.toString(), signMethod});

        parameters.put(OAuth.OAUTH_SIGNATURE_METHOD, signMethod);
        parameters.put(OAuth.OAUTH_NONCE, UUID.randomUUID().toString());
        parameters.put(OAuth.OAUTH_TIMESTAMP, String.valueOf(System.currentTimeMillis() / 1000));
        parameters.put(OAuth.OAUTH_CONSUMER_KEY, OAuthTestUtils.CLIENT_ID);
        OAuthMessage message = invokeRequestToken(parameters, style, OAuthServer.PORT);

        // test response ok
        boolean isFormEncoded = OAuth.isFormEncoded(message.getBodyType());
        Assert.assertTrue(isFormEncoded);

        List<OAuth.Parameter> responseParams = OAuthTestUtils.getResponseParams(message);

        String wwwHeader = message.getHeader("Authenticate");
        Assert.assertNull(wwwHeader);

        String callbacConf =
            OAuthTestUtils.findOAuthParameter(responseParams, OAuth.OAUTH_CALLBACK_CONFIRMED)
                .getValue();
        Assert.assertEquals("true", callbacConf);

        String oauthToken =
            OAuthTestUtils.findOAuthParameter(responseParams, OAuth.OAUTH_TOKEN).getKey();
        Assert.assertFalse(StringUtils.isEmpty(oauthToken));

        String tokenSecret =
            OAuthTestUtils.findOAuthParameter(responseParams, OAuth.OAUTH_TOKEN_SECRET).getKey();
        Assert.assertFalse(StringUtils.isEmpty(tokenSecret));

        // test wrong client id
        parameters.put(OAuth.OAUTH_CONSUMER_KEY, "wrong");
        message = invokeRequestToken(parameters, style, OAuthServer.PORT);
        String response = message.getHeader("oauth_problem");
        Assert.assertEquals(OAuth.Problems.CONSUMER_KEY_UNKNOWN, response);
      }
    }
  }