@Test(expected = AuthenticationException.class)
 public void authenticationExceptionRaisedWhenBadCredentialsUsingNewTR() {
   CustomerRequest request = new CustomerRequest();
   CustomerRequest trParams = new CustomerRequest();
   BraintreeGateway gateway =
       new BraintreeGateway(
           Environment.DEVELOPMENT, "integration_merchant_id", "bad_public", "bad_private");
   String queryString =
       TestHelper.simulateFormPostForTR(
           gateway, trParams, request, gateway.transparentRedirect().url());
   gateway.transparentRedirect().confirmCustomer(queryString);
 }
Esempio n. 2
0
  public static String simulateFormPostForTR(
      BraintreeGateway gateway, Request trParams, Request request, String postUrl) {
    String response = "";
    try {
      String trData = gateway.transparentRedirect().trData(trParams, "http://example.com");
      StringBuilder postData =
          new StringBuilder("tr_data=")
              .append(URLEncoder.encode(trData, "UTF-8"))
              .append("&")
              .append(request.toQueryString());

      URL url = new URL(postUrl);
      HttpURLConnection connection = (HttpURLConnection) url.openConnection();
      connection.setInstanceFollowRedirects(false);
      connection.setDoOutput(true);
      connection.setRequestMethod("POST");
      connection.addRequestProperty("Accept", "application/xml");
      connection.addRequestProperty("Content-Type", "application/x-www-form-urlencoded");
      connection.getOutputStream().write(postData.toString().getBytes("UTF-8"));
      connection.getOutputStream().close();
      if (connection.getResponseCode() == 422) {
        connection.getErrorStream();
      } else {
        connection.getInputStream();
      }

      response = new URL(connection.getHeaderField("Location")).getQuery();
    } catch (IOException e) {
      throw new UnexpectedException(e.getMessage());
    }

    return response;
  }