@Override
  @Test
  public void multipleMaxConnectionOpenTest() throws Throwable {
    AsyncHttpClientConfig cg =
        new AsyncHttpClientConfig.Builder()
            .setAllowPoolingConnection(true)
            .setConnectionTimeoutInMs(5000)
            .setMaximumConnectionsTotal(1)
            .build();
    AsyncHttpClient c = getAsyncHttpClient(cg);

    String body = "hello there";

    // once
    Response response =
        c.preparePost(getTargetUrl()).setBody(body).execute().get(TIMEOUT, TimeUnit.SECONDS);

    assertEquals(response.getResponseBody(), body);

    // twice
    Exception exception = null;
    try {
      c.preparePost(String.format("http://127.0.0.1:%d/foo/test", port2))
          .setBody(body)
          .execute()
          .get(TIMEOUT, TimeUnit.SECONDS);
      fail("Should throw exception. Too many connections issued.");
    } catch (Exception ex) {
      ex.printStackTrace();
      exception = ex;
    }
    assertNotNull(exception);
    c.close();
  }
示例#2
0
  public void deleteResourceSet(final Token p_pat, String p_umaRegisterResourcePath, String p_id) {
    String path = p_umaRegisterResourcePath + "/" + p_id + "/";
    try {
      new ResourceRequestEnvironment.ResourceRequest(
          new ResourceRequestEnvironment(m_baseTest),
          ResourceRequestEnvironment.Method.DELETE,
          path) {

        @Override
        protected void prepareRequest(EnhancedMockHttpServletRequest request) {
          super.prepareRequest(request);

          // request.addHeader("Accept", UmaConstants.RESOURCE_SET_STATUS_MEDIA_TYPE);
          request.addHeader("Authorization", "Bearer " + p_pat.getAccessToken());
        }

        @Override
        protected void onResponse(EnhancedMockHttpServletResponse response) {
          super.onResponse(response);
          BaseTest.showResponse("UMA : TRegisterResourceSet.deleteResourceSet() : ", response);

          assertEquals(
              response.getStatus(),
              Response.Status.NO_CONTENT.getStatusCode(),
              "Unexpected response code.");
        }
      }.run();
    } catch (Exception e) {
      e.printStackTrace();
      fail();
    }
  }
示例#3
0
  public List<String> getResourceSetList(final Token p_pat, String p_umaRegisterResourcePath) {
    final List<String> result = new ArrayList<String>();
    try {
      new ResourceRequestEnvironment.ResourceRequest(
          new ResourceRequestEnvironment(m_baseTest),
          ResourceRequestEnvironment.Method.GET,
          p_umaRegisterResourcePath) {
        @Override
        protected void prepareRequest(EnhancedMockHttpServletRequest request) {
          super.prepareRequest(request);

          request.addHeader("Accept", UmaConstants.JSON_MEDIA_TYPE);
          request.addHeader("Authorization", "Bearer " + p_pat.getAccessToken());
        }

        @Override
        protected void onResponse(EnhancedMockHttpServletResponse response) {
          super.onResponse(response);
          BaseTest.showResponse("UMA : TRegisterResourceSet.getResourceSetList() : ", response);

          assertEquals(response.getStatus(), 200, "Unexpected response code.");

          List<String> list = TUma.readJsonValue(response.getContentAsString(), List.class);
          if (list != null) {
            result.addAll(list);
          }
        }
      }.run();
    } catch (Exception e) {
      e.printStackTrace();
      fail();
    }
    return result;
  }
示例#4
0
 public ResourceSetStatus registerResourceSet(
     final Token p_pat, String umaRegisterResourcePath, ResourceSet p_resourceSet) {
   try {
     m_registerStatus = registerResourceSetInternal(p_pat, umaRegisterResourcePath, p_resourceSet);
   } catch (Exception e) {
     e.printStackTrace();
     fail();
   }
   UmaTestUtil.assert_(m_registerStatus);
   return m_registerStatus;
 }
  @Test(groups = {"standalone", "default_provider"})
  public void testInvalidConnectionsPool() {

    ConnectionsPool<String, Connection> cp =
        new ConnectionsPool<String, Connection>() {

          public boolean offer(String key, Connection connection) {
            return false;
          }

          public Connection poll(String connection) {
            return null;
          }

          public boolean removeAll(Connection connection) {
            return false;
          }

          public boolean canCacheConnection() {
            return false;
          }

          public void destroy() {}
        };

    AsyncHttpClient client =
        getAsyncHttpClient(new AsyncHttpClientConfig.Builder().setConnectionsPool(cp).build());

    Exception exception = null;
    try {
      client.prepareGet(getTargetUrl()).execute().get(TIMEOUT, TimeUnit.SECONDS);
    } catch (Exception ex) {
      ex.printStackTrace();
      exception = ex;
    }
    assertNotNull(exception);
    client.close();
  }