List of usage examples for org.apache.http.client ResponseHandler handleResponse
T handleResponse(HttpResponse response) throws ClientProtocolException, IOException;
From source file:org.vietspider.net.client.impl.AbstractHttpClient.java
public <T> T execute(final HttpHost target, final HttpRequest request, final ResponseHandler<? extends T> responseHandler, final HttpContext context) throws IOException, ClientProtocolException { if (responseHandler == null) { throw new IllegalArgumentException("Response handler must not be null."); }/*from w ww . j a v a 2 s. com*/ HttpResponse response = execute(target, request, context); T result; try { result = responseHandler.handleResponse(response); } catch (Throwable t) { HttpEntity entity = response.getEntity(); if (entity != null) { try { entity.consumeContent(); } catch (Throwable t2) { // Log this exception. The original exception is more // important and will be thrown to the caller. // this.log.warn("Error consuming content after an exception.", t2); } } if (t instanceof Error) { throw (Error) t; } if (t instanceof RuntimeException) { throw (RuntimeException) t; } if (t instanceof IOException) { throw (IOException) t; } throw new UndeclaredThrowableException(t); } // Handling the response was successful. Ensure that the content has // been fully consumed. HttpEntity entity = response.getEntity(); if (entity != null) { // Let this exception go to the caller. entity.consumeContent(); } return result; }
From source file:com.canoo.dolphin.client.impl.TestDolphinPlatformHttpClientConnector.java
@Test(expectedExceptions = DolphinRemotingException.class) public void testBadResponse() { final CountDownLatch httpWasCalled = new CountDownLatch(1); HttpClient httpClient = new DefaultHttpClient() { @Override/* ww w. j a v a 2 s . c o m*/ public <T> T execute(HttpUriRequest request, ResponseHandler<? extends T> responseHandler) throws IOException, ClientProtocolException { StatusLine statusLine = new StatusLine() { @Override public ProtocolVersion getProtocolVersion() { return new ProtocolVersion("Dummy-Protocol", 1, 1); } @Override public int getStatusCode() { return 500; } @Override public String getReasonPhrase() { return "Internal Server Error"; } }; StringEntity entity = new StringEntity("failed"); HttpResponse response = new BasicHttpResponse(statusLine); response.setEntity(entity); responseHandler.handleResponse(response); httpWasCalled.countDown(); return (T) "[]"; } }; DolphinPlatformHttpClientConnector connector = new DolphinPlatformHttpClientConnector(new ClientDolphin(), new JsonCodec(), httpClient, getDummyURL(), new ForwardableCallback<>(), new DummyUiThreadHandler()); connector.transmit(Collections.singletonList(new Command())); }
From source file:org.dasein.cloud.azure.tests.platform.AzureRelationalDatabaseTest.java
@Test public void listAllBackupsShouldReturnCorrectResultIfNoServerFound() throws CloudException, InternalException { final CloseableHttpResponse listServersResponseMock = getHttpResponseMock( getStatusLineMock(HttpServletResponse.SC_OK), new DaseinObjectToXmlEntity<ServerServiceResourcesModel>(new ServerServiceResourcesModel()), new Header[] {}); new MockUp<CloseableHttpClient>() { @Mock(invocations = 1)/*from w w w. j ava 2s . c o m*/ public <T> T execute(HttpUriRequest request, ResponseHandler<T> responseHandler) throws IOException { assertGet(request, String.format(RESOURCE_SERVERS, ACCOUNT_NO)); return responseHandler.handleResponse(listServersResponseMock); } }; assertReflectionEquals(Arrays.asList(), new AzureSqlDatabaseSupport(azureMock).listBackups(null)); }
From source file:org.dasein.cloud.azure.tests.platform.AzureRelationalDatabaseTest.java
@Test public void getDatabaseShouldReturnCorrectResultIfNoServerFound() throws CloudException, InternalException { final CloseableHttpResponse responseMock = getHttpResponseMock(getStatusLineMock(HttpServletResponse.SC_OK), new DaseinObjectToXmlEntity<ServersModel>(new ServersModel()), new Header[] {}); new MockUp<CloseableHttpClient>() { @Mock(invocations = 1)/* w ww. j a v a 2 s . com*/ public <T> T execute(HttpUriRequest request, ResponseHandler<T> responseHandler) throws IOException { assertGet(request, String.format(RESOURCE_SERVERS_NONGEN, ACCOUNT_NO)); return responseHandler.handleResponse(responseMock); } }; assertNull("database found for invalid server", new AzureSqlDatabaseSupport(azureMock).getDatabase(SERVER_ID + ":" + DATABASE_ID)); }
From source file:org.dasein.cloud.azure.tests.platform.AzureRelationalDatabaseTest.java
@Test public void listDatabasesShouldReturnCorrectResultIfNoServerFound() throws AssertionFailedError, CloudException, InternalException { final CloseableHttpResponse listServerNonGenResponseMock = getHttpResponseMock( getStatusLineMock(HttpServletResponse.SC_OK), new DaseinObjectToXmlEntity<ServersModel>(new ServersModel()), new Header[] {}); new MockUp<CloseableHttpClient>() { @Mock(invocations = 1)/*from w ww . j av a2s . c o m*/ public <T> T execute(HttpUriRequest request, ResponseHandler<T> responseHandler) throws IOException { assertGet(request, String.format(RESOURCE_SERVERS_NONGEN, ACCOUNT_NO)); return responseHandler.handleResponse(listServerNonGenResponseMock); } }; assertReflectionEquals("match fields for databases failed", Arrays.asList(), new AzureSqlDatabaseSupport(azureMock).listDatabases()); }
From source file:org.dasein.cloud.azure.tests.platform.AzureRelationalDatabaseTest.java
@Test public void listAccessShouldReturnCorrectResultIfNoFirewallRulesFound() throws CloudException, InternalException { final CloseableHttpResponse listFirewallRulesResponseMock = getHttpResponseMock( getStatusLineMock(HttpServletResponse.SC_OK), new DaseinObjectToXmlEntity<ServerServiceResourcesModel>(new ServerServiceResourcesModel()), new Header[] {}); new MockUp<CloseableHttpClient>() { @Mock(invocations = 1)// w ww. j a v a2 s. c om public <T> T execute(HttpUriRequest request, ResponseHandler<T> responseHandler) throws IOException { assertGet(request, String.format(RESOURCE_SERVER_FIREWALL, ACCOUNT_NO, SERVER_ID)); return responseHandler.handleResponse(listFirewallRulesResponseMock); } }; Database database = createDatabase(SERVER_ID, DATABASE_ID, 10, new Date().getTime(), "Basic", REGION); assertReflectionEquals("match fields of access for database failed", new ArrayList<String>(), new AzureRelationalDatabaseSupport(azureMock, database).listAccess(DATABASE_ID)); }
From source file:org.dasein.cloud.azure.tests.platform.AzureRelationalDatabaseTest.java
@Test public void listAccessShouldReturnCorrectResult() throws CloudException, InternalException { ServerServiceResourcesModel serverServiceResourcesModel = new ServerServiceResourcesModel(); serverServiceResourcesModel.setServerServiceResourcesModels(Arrays .asList(createServerServiceResourceModel("TESTFIREWALLRULE", "202.100.10.10", "202.100.10.100"))); final CloseableHttpResponse listFirewallRulesResponseMock = getHttpResponseMock( getStatusLineMock(HttpServletResponse.SC_OK), new DaseinObjectToXmlEntity<ServerServiceResourcesModel>(serverServiceResourcesModel), new Header[] {}); new MockUp<CloseableHttpClient>() { @Mock(invocations = 1)/*from w w w. j a va 2s. co m*/ public <T> T execute(HttpUriRequest request, ResponseHandler<T> responseHandler) throws IOException { assertGet(request, String.format(RESOURCE_SERVER_FIREWALL, ACCOUNT_NO, SERVER_ID)); return responseHandler.handleResponse(listFirewallRulesResponseMock); } }; Database database = createDatabase(SERVER_ID, DATABASE_ID, 10, new Date().getTime(), "Basic", REGION); assertReflectionEquals("match fields of access for database failed", Arrays.asList(String.format("%s::%s::%s", "TESTFIREWALLRULE", "202.100.10.10", "202.100.10.100")), new AzureRelationalDatabaseSupport(azureMock, database).listAccess(DATABASE_ID)); }
From source file:org.dasein.cloud.azure.tests.platform.AzureRelationalDatabaseTest.java
@Test public void listDatabaseProductsShouldReturnCorrectResult() throws CloudException, InternalException { ServerServiceResourceModel serverServiceResourceModel = new ServerServiceResourceModel(); ServerServiceResourceModel.Version versionModel = new ServerServiceResourceModel.Version(); versionModel.setName("2.0"); ServerServiceResourceModel.Edition editionModel = new ServerServiceResourceModel.Edition(); editionModel.setName("Basic"); ServerServiceResourceModel.ServiceLevelObjective serviceLevelObjectiveModel = new ServerServiceResourceModel.ServiceLevelObjective(); serviceLevelObjectiveModel.setName("10GB"); serviceLevelObjectiveModel.setId("ServiceLevelObjectiveModelID"); editionModel.setServiceLevelObjectives(Arrays.asList(serviceLevelObjectiveModel)); versionModel.setEditions(Arrays.asList(editionModel)); serverServiceResourceModel.setVersions(Arrays.asList(versionModel)); serverServiceResourceModel.setName(SERVER_ID); final CloseableHttpResponse getDatabaseResponseMock = getHttpResponseMock( getStatusLineMock(HttpServletResponse.SC_OK), new DaseinObjectToXmlEntity<ServerServiceResourceModel>(serverServiceResourceModel), new Header[] {}); new MockUp<CloseableHttpClient>() { @Mock(invocations = 1)//from w w w. j a v a 2s. c o m public <T> T execute(HttpUriRequest request, ResponseHandler<T> responseHandler) throws IOException { assertGet(request, String.format(RESOURCE_SUBSCRIPTION_META, ACCOUNT_NO)); return responseHandler.handleResponse(getDatabaseResponseMock); } }; ArrayList<DatabaseProduct> expectedDatabaseProducts = new ArrayList<DatabaseProduct>(); DatabaseProduct expectedDatabaseProduct = new DatabaseProduct(serviceLevelObjectiveModel.getName(), editionModel.getName()); expectedDatabaseProduct.setEngine(DatabaseEngine.SQLSERVER_EE); expectedDatabaseProduct.setLicenseModel(DatabaseLicenseModel.LICENSE_INCLUDED); expectedDatabaseProducts.add(expectedDatabaseProduct); assertReflectionEquals("match fields failed", expectedDatabaseProducts, new AzureSqlDatabaseSupport(azureMock).listDatabaseProducts(DatabaseEngine.SQLSERVER_EE)); }
From source file:org.dasein.cloud.azure.tests.platform.AzureRelationalDatabaseTest.java
@Test public void createFromBackupShouldPostWithCorrectRequest() throws CloudException, InternalException { DatabaseBackup databaseBackup = this.createDatabaseBackup(DATABASE_ID + "BACKUP", DATABASE_ID + "BACKUP"); final CloseableHttpResponse createDatabaseResponseMock = getHttpResponseMock( getStatusLineMock(HttpServletResponse.SC_OK), null, new Header[] {}); new MockUp<CloseableHttpClient>() { @Mock(invocations = 1)/*from ww w. jav a2 s.c o m*/ public <T> T execute(HttpUriRequest request, ResponseHandler<T> responseHandler) throws IOException { assertPost(request, String.format(RESOURCE_RESTORE_DATABASE_OPERATIONS, ACCOUNT_NO, SERVER_ID)); return responseHandler.handleResponse(createDatabaseResponseMock); } }; new AzureSqlDatabaseSupport(azureMock).createFromBackup(databaseBackup, DATABASE_ID); }
From source file:org.dasein.cloud.azure.tests.platform.AzureRelationalDatabaseTest.java
@Test public void revokeAccessShouldDeleteWithCorrectRequest() throws CloudException, InternalException { final String ruleName = "TESTFIREWALLRULE"; final String startIpAddress = "202.100.10.10"; final String endIpAddress = "202.100.10.100"; final CloseableHttpResponse deleteResponseMock = getHttpResponseMock( getStatusLineMock(HttpServletResponse.SC_OK), null, new Header[] {}); new MockUp<CloseableHttpClient>() { @Mock(invocations = 1)/*from w w w .j a v a2 s . co m*/ public <T> T execute(HttpUriRequest request, ResponseHandler<T> responseHandler) throws IOException { assertDelete(request, String.format(RESOURCE_FIREWALL_RULE, ACCOUNT_NO, SERVER_ID, ruleName)); return responseHandler.handleResponse(deleteResponseMock); } }; Database database = createDatabase(SERVER_ID, DATABASE_ID, 10, new Date().getTime(), "Basic", REGION); new AzureRelationalDatabaseSupport(azureMock, database).revokeAccess( String.format("%s:%s", SERVER_ID, DATABASE_ID), String.format("%s::%s::%s", ruleName, startIpAddress, endIpAddress)); }