src/test/java/org/embulk/input/s3/TestS3FileInputPlugin.java in embulk-input-s3-0.3.3 vs src/test/java/org/embulk/input/s3/TestS3FileInputPlugin.java in embulk-input-s3-0.3.4
- old
+ new
@@ -1,18 +1,13 @@
package org.embulk.input.s3;
import com.amazonaws.services.s3.AmazonS3;
-import com.amazonaws.services.s3.model.ListObjectsRequest;
-import com.amazonaws.services.s3.model.ObjectListing;
import com.amazonaws.services.s3.model.Region;
-import com.amazonaws.services.s3.model.S3ObjectSummary;
-import com.amazonaws.services.s3.model.StorageClass;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
import org.embulk.EmbulkTestRuntime;
import org.embulk.config.ConfigDiff;
-import org.embulk.config.ConfigException;
import org.embulk.config.ConfigSource;
import org.embulk.config.TaskReport;
import org.embulk.config.TaskSource;
import org.embulk.spi.FileInputRunner;
import org.embulk.spi.InputPlugin;
@@ -23,25 +18,19 @@
import org.embulk.standards.CsvParserPlugin;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Rule;
import org.junit.Test;
-import org.mockito.Mockito;
-import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.List;
-import java.util.Optional;
import static org.embulk.input.s3.S3FileInputPlugin.S3PluginTask;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNull;
import static org.junit.Assume.assumeNotNull;
-import static org.mockito.Matchers.any;
-import static org.mockito.Mockito.doReturn;
-import static org.mockito.Mockito.mock;
public class TestS3FileInputPlugin
{
private static String EMBULK_S3_TEST_BUCKET;
private static String EMBULK_S3_TEST_ACCESS_KEY_ID;
@@ -95,11 +84,10 @@
assertRecords(config, output);
}
@Test
public void useLastPath()
- throws Exception
{
ConfigSource config = this.config.deepCopy().set("last_path", EMBULK_S3_TEST_PATH_PREFIX + "/sample_01.csv");
ConfigDiff configDiff = runner.transaction(config, new Control(runner, output));
assertEquals(EMBULK_S3_TEST_PATH_PREFIX + "/sample_01.csv", configDiff.get(String.class, "last_path"));
@@ -115,11 +103,10 @@
assertFalse(configDiff.has("last_path"));
}
@Test
public void emptyFilesWithLastPath()
- throws Exception
{
ConfigSource config = this.config.deepCopy()
.set("path_prefix", "empty_files_prefix")
.set("last_path", EMBULK_S3_TEST_PATH_PREFIX + "/sample_01.csv");
ConfigDiff configDiff = runner.transaction(config, new Control(runner, output));
@@ -128,22 +115,20 @@
assertEquals(0, getRecords(config, output).size());
}
@Test
public void useTotalFileCountLimit()
- throws Exception
{
ConfigSource config = this.config.deepCopy().set("total_file_count_limit", 0);
ConfigDiff configDiff = runner.transaction(config, new Control(runner, output));
assertNull(configDiff.get(String.class, "last_path"));
assertEquals(0, getRecords(config, output).size());
}
@Test
public void usePathMatchPattern()
- throws Exception
{
{ // match pattern
ConfigSource config = this.config.deepCopy().set("path_match_pattern", "/sample_01");
ConfigDiff configDiff = runner.transaction(config, new Control(runner, output));
@@ -223,47 +208,9 @@
// US Standard region is a 'generic' one (s3.amazonaws.com), the expectation here that
// the S3 client should not eagerly resolves for a specific region on client side.
// Please refer to org.embulk.input.s3.S3FileInputPlugin#newS3Client for the details.
assertEquals(s3Client.getRegion(), Region.US_Standard);
- }
-
- @Test(expected = ConfigException.class)
- public void useSkipGlacierObjects() throws Exception
- {
- AmazonS3 client;
- client = mock(AmazonS3.class);
- doReturn(s3objectList("in/aa/a", StorageClass.Glacier)).when(client).listObjects(any(ListObjectsRequest.class));
-
- AbstractS3FileInputPlugin plugin = Mockito.mock(AbstractS3FileInputPlugin.class, Mockito.CALLS_REAL_METHODS);
- plugin.listS3FilesByPrefix(newFileList(config, "sample_00", 100L), client, "test_bucket", "test_prefix", Optional.empty(), false);
- }
-
- private FileList.Builder newFileList(ConfigSource config, Object... nameAndSize)
- {
- FileList.Builder builder = new FileList.Builder(config);
- for (int i = 0; i < nameAndSize.length; i += 2) {
- builder.add((String) nameAndSize[i], (long) nameAndSize[i + 1]);
- }
- return builder;
- }
-
- private ObjectListing s3objectList(String key, StorageClass storageClass) throws Exception
- {
- ObjectListing list = new ObjectListing();
-
- S3ObjectSummary element = new S3ObjectSummary();
- element.setKey(key);
- element.setStorageClass(storageClass.toString());
-
- List<S3ObjectSummary> objectSummaries = new ArrayList<>();
- objectSummaries.add(element);
-
- Field field = list.getClass().getDeclaredField("objectSummaries");
- field.setAccessible(true);
- field.set(list, objectSummaries);
-
- return list;
}
static class Control
implements InputPlugin.Control
{