use of org.finra.herd.dao.HttpClientOperations in project herd by FINRAOS.
the class DownloaderWebClientTest method testGetBusinessObjectDataAssertNoAuthorizationHeaderWhenNoSsl.
@Test
public void testGetBusinessObjectDataAssertNoAuthorizationHeaderWhenNoSsl() throws Exception {
HttpClientOperations mockHttpClientOperations = mock(HttpClientOperations.class);
HttpClientOperations originalHttpClientOperations = (HttpClientOperations) ReflectionTestUtils.getField(downloaderWebClient, "httpClientOperations");
ReflectionTestUtils.setField(downloaderWebClient, "httpClientOperations", mockHttpClientOperations);
try {
CloseableHttpResponse closeableHttpResponse = mock(CloseableHttpResponse.class);
when(mockHttpClientOperations.execute(any(), any())).thenReturn(closeableHttpResponse);
when(closeableHttpResponse.getStatusLine()).thenReturn(new BasicStatusLine(HttpVersion.HTTP_1_1, 200, "OK"));
when(closeableHttpResponse.getEntity()).thenReturn(new StringEntity(xmlHelper.objectToXml(new BusinessObjectData())));
DownloaderInputManifestDto manifest = new DownloaderInputManifestDto();
downloaderWebClient.getRegServerAccessParamsDto().setUseSsl(false);
downloaderWebClient.getBusinessObjectData(manifest);
verify(mockHttpClientOperations).execute(any(), argThat(httpUriRequest -> httpUriRequest.getFirstHeader("Authorization") == null));
} finally {
ReflectionTestUtils.setField(downloaderWebClient, "httpClientOperations", originalHttpClientOperations);
}
}
use of org.finra.herd.dao.HttpClientOperations in project herd by FINRAOS.
the class DownloaderWebClientTest method testGetBusinessObjectDataDownloadCredentialAssertHttpClientClosedWhenIOException.
@Test
public void testGetBusinessObjectDataDownloadCredentialAssertHttpClientClosedWhenIOException() throws Exception {
HttpClientOperations mockHttpClientOperations = mock(HttpClientOperations.class);
HttpClientOperations originalHttpClientOperations = (HttpClientOperations) ReflectionTestUtils.getField(downloaderWebClient, "httpClientOperations");
ReflectionTestUtils.setField(downloaderWebClient, "httpClientOperations", mockHttpClientOperations);
try {
IOException expectedException = new IOException();
CloseableHttpClient closeableHttpClient = mock(CloseableHttpClient.class);
when(mockHttpClientOperations.createHttpClient()).thenReturn(closeableHttpClient);
when(mockHttpClientOperations.execute(any(), any())).thenThrow(expectedException);
DownloaderInputManifestDto downloaderInputManifestDto = new DownloaderInputManifestDto();
String storageName = "storageName";
try {
downloaderWebClient.getStorageUnitDownloadCredential(downloaderInputManifestDto, storageName);
verify(closeableHttpClient).close();
fail();
} catch (Exception e) {
assertEquals(expectedException, e);
}
} finally {
ReflectionTestUtils.setField(downloaderWebClient, "httpClientOperations", originalHttpClientOperations);
}
}
use of org.finra.herd.dao.HttpClientOperations in project herd by FINRAOS.
the class DownloaderWebClientTest method testGetBusinessObjectDataAssertNamespaceOptional.
@Test
public void testGetBusinessObjectDataAssertNamespaceOptional() throws Exception {
HttpClientOperations mockHttpClientOperations = mock(HttpClientOperations.class);
HttpClientOperations originalHttpClientOperations = (HttpClientOperations) ReflectionTestUtils.getField(downloaderWebClient, "httpClientOperations");
ReflectionTestUtils.setField(downloaderWebClient, "httpClientOperations", mockHttpClientOperations);
try {
String expectedHttpMethod = "GET";
String expectedUri = "https://testWebServiceHostname:1234/herd-app/rest/businessObjectData" + "/businessObjectDefinitionNames/businessObjectDefinitionName/businessObjectFormatUsages/businessObjectFormatUsage" + "/businessObjectFormatFileTypes/businessObjectFormatFileType?partitionKey=partitionKey&partitionValue=partitionValue&" + "businessObjectFormatVersion=0&businessObjectDataVersion=1";
CloseableHttpResponse closeableHttpResponse = mock(CloseableHttpResponse.class);
when(mockHttpClientOperations.execute(any(), any())).thenReturn(closeableHttpResponse);
when(closeableHttpResponse.getStatusLine()).thenReturn(new BasicStatusLine(HttpVersion.HTTP_1_1, 200, "OK"));
BusinessObjectData expectedBusinessObjectData = new BusinessObjectData();
expectedBusinessObjectData.setId(1234);
StringEntity httpEntity = new StringEntity(xmlHelper.objectToXml(expectedBusinessObjectData));
when(closeableHttpResponse.getEntity()).thenReturn(httpEntity);
DownloaderInputManifestDto manifest = new DownloaderInputManifestDto();
manifest.setBusinessObjectDefinitionName("businessObjectDefinitionName");
manifest.setBusinessObjectFormatUsage("businessObjectFormatUsage");
manifest.setBusinessObjectFormatFileType("businessObjectFormatFileType");
manifest.setBusinessObjectFormatVersion("0");
manifest.setPartitionKey("partitionKey");
manifest.setPartitionValue("partitionValue");
manifest.setBusinessObjectDataVersion("1");
assertEquals(expectedBusinessObjectData.getId(), downloaderWebClient.getBusinessObjectData(manifest).getId());
verify(mockHttpClientOperations).execute(any(), argThat(httpUriRequest -> Objects.equal(expectedHttpMethod, httpUriRequest.getMethod()) && Objects.equal(expectedUri, httpUriRequest.getURI().toString())));
} finally {
ReflectionTestUtils.setField(downloaderWebClient, "httpClientOperations", originalHttpClientOperations);
}
}
use of org.finra.herd.dao.HttpClientOperations in project herd by FINRAOS.
the class DownloaderWebClientTest method testGetBusinessObjectDataDownloadCredentialAssertNoAuthorizationHeaderWhenNoSsl.
@Test
public void testGetBusinessObjectDataDownloadCredentialAssertNoAuthorizationHeaderWhenNoSsl() throws Exception {
HttpClientOperations mockHttpClientOperations = mock(HttpClientOperations.class);
HttpClientOperations originalHttpClientOperations = (HttpClientOperations) ReflectionTestUtils.getField(downloaderWebClient, "httpClientOperations");
ReflectionTestUtils.setField(downloaderWebClient, "httpClientOperations", mockHttpClientOperations);
try {
CloseableHttpResponse closeableHttpResponse = mock(CloseableHttpResponse.class);
when(mockHttpClientOperations.execute(any(), any())).thenReturn(closeableHttpResponse);
when(closeableHttpResponse.getStatusLine()).thenReturn(new BasicStatusLine(HttpVersion.HTTP_1_1, 200, "SUCCESS"));
when(closeableHttpResponse.getEntity()).thenReturn(new StringEntity(xmlHelper.objectToXml(new StorageUnitDownloadCredential())));
DownloaderInputManifestDto downloaderInputManifestDto = new DownloaderInputManifestDto();
String storageName = "storageName";
boolean useSsl = false;
downloaderWebClient.getRegServerAccessParamsDto().setUseSsl(useSsl);
downloaderWebClient.getStorageUnitDownloadCredential(downloaderInputManifestDto, storageName);
verify(mockHttpClientOperations).execute(any(), argThat(httpUriRequest -> httpUriRequest.getFirstHeader("Authorization") == null));
} finally {
ReflectionTestUtils.setField(downloaderWebClient, "httpClientOperations", originalHttpClientOperations);
}
}
use of org.finra.herd.dao.HttpClientOperations in project herd by FINRAOS.
the class DownloaderWebClientTest method testGetBusinessObjectDataDownloadCredentialAssertThrowIOExceptionWhenClosingHttpClientThrowsIOException.
/**
* Asserts that the http client is closed and if an exception is thrown during closing of the http client, the same exception is bubbled up.
*/
@Test
public void testGetBusinessObjectDataDownloadCredentialAssertThrowIOExceptionWhenClosingHttpClientThrowsIOException() throws Exception {
HttpClientOperations mockHttpClientOperations = mock(HttpClientOperations.class);
HttpClientOperations originalHttpClientOperations = (HttpClientOperations) ReflectionTestUtils.getField(downloaderWebClient, "httpClientOperations");
ReflectionTestUtils.setField(downloaderWebClient, "httpClientOperations", mockHttpClientOperations);
try {
CloseableHttpClient closeableHttpClient = mock(CloseableHttpClient.class);
when(mockHttpClientOperations.createHttpClient()).thenReturn(closeableHttpClient);
doThrow(IOException.class).when(closeableHttpClient).close();
CloseableHttpResponse closeableHttpResponse = mock(CloseableHttpResponse.class);
when(mockHttpClientOperations.execute(any(), any())).thenReturn(closeableHttpResponse);
when(closeableHttpResponse.getStatusLine()).thenReturn(new BasicStatusLine(HttpVersion.HTTP_1_1, 200, "SUCCESS"));
when(closeableHttpResponse.getEntity()).thenReturn(new StringEntity(xmlHelper.objectToXml(new StorageUnitDownloadCredential())));
DownloaderInputManifestDto downloaderInputManifestDto = new DownloaderInputManifestDto();
String storageName = "storageName";
try {
downloaderWebClient.getStorageUnitDownloadCredential(downloaderInputManifestDto, storageName);
verify(closeableHttpClient).close();
fail();
} catch (Exception e) {
assertEquals(IOException.class, e.getClass());
}
} finally {
ReflectionTestUtils.setField(downloaderWebClient, "httpClientOperations", originalHttpClientOperations);
}
}
Aggregations