package eu.dnetlib.iis.wf.importer.stream.project;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import java.io.InputStream;
import java.net.URL;
import org.apache.commons.io.IOUtils;
import org.junit.Test;
/**
* @author mhorst
*
*/
public class UrlStreamingFacadeTest {
private final int readTimeout = 60000;
private final int connectionTimeout = 60000;
private final String encoding = "utf8";
private final String contentTxtClassPath = "/eu/dnetlib/iis/wf/importer/content/sample_data.txt";
private final String contentGzClassPath = "/eu/dnetlib/iis/wf/importer/content/sample_data.gz";
// --------------------------------------- TESTS ---------------------------------------
@Test
public void testGetStreamWithoutCompression() throws Exception {
// given
boolean compress = false;
URL url = UrlStreamingFacade.class.getResource(contentTxtClassPath);
String expectedResult = IOUtils.toString(
UrlStreamingFacade.class.getResourceAsStream(contentTxtClassPath), encoding);
UrlStreamingFacade facade = new UrlStreamingFacade(url, compress, readTimeout, connectionTimeout);
// execute
try (InputStream stream = facade.getStream()) {
// assert
assertNotNull(stream);
assertEquals(expectedResult, IOUtils.toString(stream, "utf8"));
}
}
@Test
public void testGetStreamWithCompression() throws Exception {
// given
boolean compress = true;
URL url = UrlStreamingFacade.class.getResource(contentGzClassPath);
String expectedResult = IOUtils.toString(
UrlStreamingFacade.class.getResourceAsStream(contentTxtClassPath), encoding);
UrlStreamingFacade facade = new UrlStreamingFacade(url, compress, readTimeout, connectionTimeout);
// execute
try (InputStream stream = facade.getStream()) {
// assert
assertNotNull(stream);
assertEquals(expectedResult, IOUtils.toString(stream, "utf8"));
}
}
}