use of ddf.catalog.operation.ResourceResponse in project ddf by codice.
the class ResourceReaderTest method testRetrieveResourceMimeTypeTextHtml.
/**
* Tests the case in which the Resource in the ResourceResponse returned by the URLResourceReader
* has a text/html mime type.
*/
@Test
public void testRetrieveResourceMimeTypeTextHtml() throws Exception {
// Setup
String httpUriStr = HTTP_SCHEME_PLUS_SEP + MOCK_HTTP_SERVER_HOST + ":" + MOCK_HTTP_SERVER_PORT + MOCK_HTTP_SERVER_PATH;
URI uri = new URI(httpUriStr);
Response mockResponse = getMockResponse();
setupMockWebClient(mockResponse);
ResourceResponse mockResourceResponse = getMockResourceResponse(new MimeType("application/octet-stream"));
URLResourceReader mockUrlResourceReader = getMockUrlResourceReader(uri, mockResourceResponse);
setupMockTika(MediaType.TEXT_HTML);
OgcUrlResourceReader resourceReader = new OgcUrlResourceReader(mockUrlResourceReader, mockTika);
HashMap<String, Serializable> arguments = new HashMap<String, Serializable>();
// Perform Test
ResourceResponse resourceResponse = resourceReader.retrieveResource(uri, arguments);
// Verify
StringWriter writer = new StringWriter();
IOUtils.copy(resourceResponse.getResource().getInputStream(), writer, MOCK_HTTP_SERVER_ENCODING);
String responseString = writer.toString();
LOGGER.info("Response {}", responseString);
assertThat(responseString, is("<html><script type=\"text/javascript\">window.location.replace(\"" + httpUriStr + "\");</script></html>"));
}
use of ddf.catalog.operation.ResourceResponse in project ddf by codice.
the class ResourceReaderTest method testRetrieveResourceOriginalUrlResourceReaderResponseReturned.
/**
* Tests the case in which the mime type of the Resource in the ResourceResponse returned by the
* URLResourceReader is not text/html, application/unknown or application/octet-stream. The
* original response from the URLResourceReader is returned.
*/
@Test
public void testRetrieveResourceOriginalUrlResourceReaderResponseReturned() throws Exception {
// Setup
String httpUriStr = HTTP_SCHEME_PLUS_SEP + MOCK_HTTP_SERVER_HOST + ":" + MOCK_HTTP_SERVER_PORT + MOCK_HTTP_SERVER_PATH;
URI uri = new URI(httpUriStr);
ResourceResponse mockResourceResponse = getMockResourceResponse(new MimeType("image/jpeg"));
URLResourceReader mockUrlResourceReader = getMockUrlResourceReader(uri, mockResourceResponse);
setupMockTika(null);
OgcUrlResourceReader resourceReader = new OgcUrlResourceReader(mockUrlResourceReader, mockTika);
HashMap<String, Serializable> arguments = new HashMap<String, Serializable>();
// Perform Test
ResourceResponse resourceResponse = resourceReader.retrieveResource(uri, arguments);
// Verify
assertThat(resourceResponse, is(mockResourceResponse));
}
use of ddf.catalog.operation.ResourceResponse in project ddf by codice.
the class ResourceReaderTest method testRetrieveResourceTextHtmlDetectedByTika.
@Test
public void testRetrieveResourceTextHtmlDetectedByTika() throws Exception {
// Setup
Response mockResponse = getMockResponse();
setupMockWebClient(mockResponse);
setupMockTika(MediaType.TEXT_HTML);
URLResourceReader urlResourceReader = new URLResourceReader(null) {
@Override
protected WebClient getWebClient(URI uri, Map<String, Serializable> properties) {
return mockWebClient;
}
};
OgcUrlResourceReader resourceReader = new OgcUrlResourceReader(urlResourceReader, mockTika);
String httpUriStr = HTTP_SCHEME_PLUS_SEP + MOCK_HTTP_SERVER_HOST + ":" + MOCK_HTTP_SERVER_PORT + MOCK_HTTP_SERVER_PATH;
URI uri = new URI(httpUriStr);
HashMap<String, Serializable> arguments = new HashMap<String, Serializable>();
// Perform Test
ResourceResponse resourceResponse = resourceReader.retrieveResource(uri, arguments);
// Verify
StringWriter writer = new StringWriter();
IOUtils.copy(resourceResponse.getResource().getInputStream(), writer, MOCK_HTTP_SERVER_ENCODING);
String responseString = writer.toString();
LOGGER.info("Response {}", responseString);
assertThat(responseString, is("<html><script type=\"text/javascript\">window.location.replace(\"" + httpUriStr + "\");</script></html>"));
}
use of ddf.catalog.operation.ResourceResponse in project ddf by codice.
the class ResourceReaderTest method getMockResourceResponse.
private ResourceResponse getMockResourceResponse(MimeType mimeType) {
Resource mockResource = mock(Resource.class);
when(mockResource.getMimeType()).thenReturn(mimeType);
ResourceResponse mockResourceResponse = mock(ResourceResponse.class);
when(mockResourceResponse.getResource()).thenReturn(mockResource);
return mockResourceResponse;
}
Aggregations