http://git-wip-us.apache.org/repos/asf/sqoop/blob/4a74b8bc/src/test/com/cloudera/sqoop/io/TestLobFile.java ---------------------------------------------------------------------- diff --git a/src/test/com/cloudera/sqoop/io/TestLobFile.java b/src/test/com/cloudera/sqoop/io/TestLobFile.java index d056750..7f8ca6d 100644 --- a/src/test/com/cloudera/sqoop/io/TestLobFile.java +++ b/src/test/com/cloudera/sqoop/io/TestLobFile.java @@ -27,29 +27,29 @@ import java.io.Reader; import java.io.Writer; import java.nio.CharBuffer; -import junit.framework.JUnit4TestAdapter; -import junit.framework.TestCase; - import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.Path; import org.junit.Before; -import org.junit.Rule; + import org.junit.Test; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; + +import org.junit.Rule; import org.junit.rules.ExpectedException; -import org.junit.runner.RunWith; -import org.junit.runners.JUnit4; /** * Test the LobFile reader/writer implementation. */ -@RunWith(JUnit4.class) -public class TestLobFile extends TestCase { +public class TestLobFile { public static final Log LOG = LogFactory.getLog( - TestLobFile.class.getName()); + TestLobFile.class.getName()); public static final Path TEMP_BASE_DIR; @@ -77,14 +77,14 @@ public class TestLobFile extends TestCase { fs.mkdirs(TEMP_BASE_DIR); } - private long [] writeClobFile(Path p, String codec, - String... records) throws Exception { + private long[] writeClobFile(Path p, String codec, + String... records) throws Exception { if (fs.exists(p)) { fs.delete(p, false); } // memorize the offsets of each record we write. - long [] offsets = new long[records.length]; + long[] offsets = new long[records.length]; // Create files with four entries per index segment. LobFile.Writer writer = LobFile.create(p, conf, true, codec, 4); @@ -130,7 +130,7 @@ public class TestLobFile extends TestCase { LOG.info("Got record of " + bytesRead + " chars"); assertEquals(expected.length(), bytesRead); - char [] charData = buf.array(); + char[] charData = buf.array(); String finalRecord = new String(charData); assertEquals(expected, finalRecord); @@ -150,7 +150,7 @@ public class TestLobFile extends TestCase { } private void runClobFileTest(Path p, String codec, - String... records) throws Exception { + String... records) throws Exception { writeClobFile(p, codec, records); verifyClobFile(p, records); fs.delete(p, false); @@ -194,12 +194,13 @@ public class TestLobFile extends TestCase { * but then read the second record completely. Verify that we * can re-align on a record boundary correctly. This test requires * at least 3 records. - * @param p the path to the file to create. + * + * @param p the path to the file to create. * @param firstLine the first line of the first reord - * @param records All of the records to write to the file. + * @param records All of the records to write to the file. */ private void runLineAndRecordTest(Path p, String firstLine, - String... records) throws Exception { + String... records) throws Exception { assertTrue("This test requires 3+ records", records.length > 2); @@ -234,7 +235,7 @@ public class TestLobFile extends TestCase { CharBuffer buf = CharBuffer.allocate(records[1].length()); r.read(buf); r.close(); - char [] chars = buf.array(); + char[] chars = buf.array(); String s = new String(chars); assertEquals(records[1], s); @@ -285,10 +286,10 @@ public class TestLobFile extends TestCase { // Seek past the first two records and read the third. Path p = new Path(TEMP_BASE_DIR, "seek.lob"); - String [] records = { - "this is the first record!", - "here comes record number two. It is a bit longer.", - "this is the third record. we can read it.", + String[] records = { + "this is the first record!", + "here comes record number two. It is a bit longer.", + "this is the third record. we can read it.", }; // Write the file and memorize when the third record starts. @@ -321,7 +322,7 @@ public class TestLobFile extends TestCase { CharBuffer buf = CharBuffer.allocate(records[2].length()); r.read(buf); r.close(); - char [] chars = buf.array(); + char[] chars = buf.array(); String s = new String(chars); assertEquals(records[2], s); @@ -330,9 +331,11 @@ public class TestLobFile extends TestCase { } - /** Verifies that the next record in the LobFile is the expected one. */ + /** + * Verifies that the next record in the LobFile is the expected one. + */ private void verifyNextRecord(LobFile.Reader reader, long expectedId, - String expectedRecord) throws Exception { + String expectedRecord) throws Exception { assertTrue(reader.next()); assertTrue(reader.isRecordAvailable()); assertEquals(expectedId, reader.getRecordId()); @@ -352,7 +355,7 @@ public class TestLobFile extends TestCase { LOG.info("Got record of " + bytesRead + " chars"); assertEquals(expectedRecord.length(), bytesRead); - char [] charData = buf.array(); + char[] charData = buf.array(); String finalRecord = new String(charData); assertEquals(expectedRecord, finalRecord); } @@ -363,20 +366,20 @@ public class TestLobFile extends TestCase { Path p = new Path(TEMP_BASE_DIR, "manyseeks.lob"); - String [] records = { - "first record", - "second record", - "the third record", - "rec4 is the last in IndexSeg 0", - "rec5 is first in IndexSeg 1", - "rec6 is yet another record", - "rec7 is starting to feel boring", - "rec8 is at the end of seg 1", - "rec9 is all by itself in seg 2", + String[] records = { + "first record", + "second record", + "the third record", + "rec4 is the last in IndexSeg 0", + "rec5 is first in IndexSeg 1", + "rec6 is yet another record", + "rec7 is starting to feel boring", + "rec8 is at the end of seg 1", + "rec9 is all by itself in seg 2", }; // Write the records to a file, save their offsets. - long [] offsets = writeClobFile(p, null, records); + long[] offsets = writeClobFile(p, null, records); // Sanity check that we can stream the file. verifyClobFile(p, records); @@ -453,16 +456,17 @@ public class TestLobFile extends TestCase { * as many bytes as we expect, and that the bytes are what we * expect them to be. Assumes that the bytes are such that * input[i] == i + offset. - * @param reader the LobFile reader to consume data from + * + * @param reader the LobFile reader to consume data from * @param expectedDeclaredLen the size we expect the LobFile to declare - * its record length as. - * @param expectedActualLen the true number of bytes we expect to read in - * the record. - * @param offset the offset amount for each of the elements of the array. + * its record length as. + * @param expectedActualLen the true number of bytes we expect to read in + * the record. + * @param offset the offset amount for each of the elements of the array. */ private void verifyBlobRecord(LobFile.Reader reader, - long expectedDeclaredLen, long expectedActualLen, - int offset) throws Exception { + long expectedDeclaredLen, long expectedActualLen, + int offset) throws Exception { assertTrue(reader.next()); assertTrue(reader.isRecordAvailable()); @@ -470,7 +474,7 @@ public class TestLobFile extends TestCase { InputStream is = reader.readBlobRecord(); - byte [] bytes = new byte[(int) expectedActualLen]; + byte[] bytes = new byte[(int) expectedActualLen]; int numRead = is.read(bytes); assertEquals(expectedActualLen, numRead); @@ -486,13 +490,14 @@ public class TestLobFile extends TestCase { * of the record to disagree with the actual length (the actual length * should be >= the declared length). * The record written will have values v[i] = i + offset. - * @param writer the LobFile writer to put the record into + * + * @param writer the LobFile writer to put the record into * @param declaredLen the length value written into the file itself - * @param actualLen the true number of bytes to write - * @param offset an amount to adjust each record's byte values by. + * @param actualLen the true number of bytes to write + * @param offset an amount to adjust each record's byte values by. */ private void writeBlobRecord(LobFile.Writer writer, long declaredLen, - long actualLen, int offset) throws Exception { + long actualLen, int offset) throws Exception { OutputStream os = writer.writeBlobRecord(declaredLen); for (int i = 0; i < actualLen; i++) { os.write(i + offset); @@ -505,13 +510,14 @@ public class TestLobFile extends TestCase { /** * Verifies a number of records that all have the same declared * and actual record lengths. - * @param p the path to the LobFile to open - * @param numRecords the number of records to expect + * + * @param p the path to the LobFile to open + * @param numRecords the number of records to expect * @param declaredLen the declared length of each record in the file - * @param actualLen the true number of bytes we expect to read per record. + * @param actualLen the true number of bytes we expect to read per record. */ private void verifyBlobRecords(Path p, int numRecords, - long declaredLen, long actualLen) throws Exception { + long declaredLen, long actualLen) throws Exception { LobFile.Reader reader = LobFile.open(p, conf); for (int i = 0; i < numRecords; i++) { @@ -565,10 +571,10 @@ public class TestLobFile extends TestCase { private void runCompressedTest(String codec) throws Exception { LOG.info("Testing with codec: " + codec); Path p = new Path(TEMP_BASE_DIR, "compressed-" + codec + ".lob"); - String [] records = { - "this is the first record, It should be compressed a lot!", - "record 2 record 2 record 2 record 2 2 2 2 2 2 2 2 2 2 2 2", - "and a third and a third yes this is the third", + String[] records = { + "this is the first record, It should be compressed a lot!", + "record 2 record 2 record 2 record 2 2 2 2 2 2 2 2 2 2 2 2", + "and a third and a third yes this is the third", }; runClobFileTest(p, codec, records); @@ -587,9 +593,5 @@ public class TestLobFile extends TestCase { runCompressedTest(CodecMap.LZO); } - //workaround: ant kept falling back to JUnit3 - public static junit.framework.Test suite() { - return new JUnit4TestAdapter(TestLobFile.class); - } }
http://git-wip-us.apache.org/repos/asf/sqoop/blob/4a74b8bc/src/test/com/cloudera/sqoop/io/TestNamedFifo.java ---------------------------------------------------------------------- diff --git a/src/test/com/cloudera/sqoop/io/TestNamedFifo.java b/src/test/com/cloudera/sqoop/io/TestNamedFifo.java index 40f9b3b..b11bbee 100644 --- a/src/test/com/cloudera/sqoop/io/TestNamedFifo.java +++ b/src/test/com/cloudera/sqoop/io/TestNamedFifo.java @@ -29,19 +29,22 @@ import java.io.OutputStreamWriter; import org.apache.hadoop.util.StringUtils; -import junit.framework.TestCase; - import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.Path; import org.apache.hadoop.util.Shell; +import org.junit.Before; +import org.junit.Test; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNull; /** * Test the named fifo utility. */ -public class TestNamedFifo extends TestCase { +public class TestNamedFifo { public static final Log LOG = LogFactory.getLog( TestNamedFifo.class.getName()); @@ -60,6 +63,7 @@ public class TestNamedFifo extends TestCase { private Configuration conf; private FileSystem fs; + @Before public void setUp() throws Exception { conf = new Configuration(); conf.set("fs.default.name", "file:///"); @@ -157,6 +161,7 @@ public class TestNamedFifo extends TestCase { } } + @Test public void testNamedFifo() throws Exception { if (Shell.WINDOWS) { http://git-wip-us.apache.org/repos/asf/sqoop/blob/4a74b8bc/src/test/com/cloudera/sqoop/io/TestSplittableBufferedWriter.java ---------------------------------------------------------------------- diff --git a/src/test/com/cloudera/sqoop/io/TestSplittableBufferedWriter.java b/src/test/com/cloudera/sqoop/io/TestSplittableBufferedWriter.java index c00b6b3..8b2b1e5 100644 --- a/src/test/com/cloudera/sqoop/io/TestSplittableBufferedWriter.java +++ b/src/test/com/cloudera/sqoop/io/TestSplittableBufferedWriter.java @@ -37,12 +37,20 @@ import org.apache.hadoop.io.compress.GzipCodec; import com.cloudera.sqoop.testutil.ImportJobTestCase; -import junit.framework.TestCase; +import org.junit.Before; +import org.junit.Test; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; /** * Test that the splittable buffered writer system works. */ -public class TestSplittableBufferedWriter extends TestCase { +public class TestSplittableBufferedWriter { public static final Log LOG = LogFactory.getLog( TestSplittableBufferedWriter.class.getName()); @@ -84,6 +92,7 @@ public class TestSplittableBufferedWriter extends TestCase { } } + @Before public void setUp() throws IOException { ensureEmptyWriteDir(); } @@ -130,6 +139,7 @@ public class TestSplittableBufferedWriter extends TestCase { assertFalse("File found: " + p + " and we did not expect it", fs.exists(p)); } + @Test public void testNonSplittingTextFile() throws IOException { SplittingOutputStream os = new SplittingOutputStream(getConf(), getWritePath(), "nonsplit-", 0, null); @@ -177,6 +187,7 @@ public class TestSplittableBufferedWriter extends TestCase { } } + @Test public void testNonSplittingGzipFile() throws IOException { SplittingOutputStream os = new SplittingOutputStream(getConf(), getWritePath(), "nonsplit-", 0, new GzipCodec()); @@ -207,6 +218,7 @@ public class TestSplittableBufferedWriter extends TestCase { "nonsplit-00000.gz"))), expectedLines); } + @Test public void testSplittingTextFile() throws IOException { SplittingOutputStream os = new SplittingOutputStream(getConf(), getWritePath(), "split-", 10, null); @@ -267,6 +279,7 @@ public class TestSplittableBufferedWriter extends TestCase { } } + @Test public void testSplittingGzipFile() throws IOException { SplittingOutputStream os = new SplittingOutputStream(getConf(), getWritePath(), "splitz-", 3, new GzipCodec()); http://git-wip-us.apache.org/repos/asf/sqoop/blob/4a74b8bc/src/test/com/cloudera/sqoop/lib/TestBlobRef.java ---------------------------------------------------------------------- diff --git a/src/test/com/cloudera/sqoop/lib/TestBlobRef.java b/src/test/com/cloudera/sqoop/lib/TestBlobRef.java index d19b769..0d010b0 100644 --- a/src/test/com/cloudera/sqoop/lib/TestBlobRef.java +++ b/src/test/com/cloudera/sqoop/lib/TestBlobRef.java @@ -22,30 +22,38 @@ import java.io.*; import com.cloudera.sqoop.testutil.BaseSqoopTestCase; import com.cloudera.sqoop.testutil.CommonArgs; -import junit.framework.TestCase; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.Path; import com.cloudera.sqoop.io.LobFile; +import org.junit.Test; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; /** * Test that the BlobRef.parse() method does the right thing. * Note that we don't support inline parsing here; we only expect this to * really work for external BLOBs. */ -public class TestBlobRef extends TestCase { +public class TestBlobRef { + @Test public void testEmptyStr() { BlobRef r = BlobRef.parse(""); assertFalse(r.isExternal()); } + @Test public void testInline() throws IOException { BlobRef r = BlobRef.parse("foo"); assertFalse(r.isExternal()); } + @Test public void testEmptyFile() { BlobRef r = BlobRef.parse("externalLob()"); assertFalse(r.isExternal()); @@ -55,6 +63,7 @@ public class TestBlobRef extends TestCase { assertEquals("externalLob(lf,,0,0)", r.toString()); } + @Test public void testInlineNearMatch() { BlobRef r = BlobRef.parse("externalLob(foo)bar"); assertFalse(r.isExternal()); @@ -69,6 +78,7 @@ public class TestBlobRef extends TestCase { assertFalse(r.isExternal()); } + @Test public void testExternal() throws IOException { final byte [] DATA = { 1, 2, 3, 4, 5 }; final String FILENAME = "blobdata"; @@ -76,6 +86,7 @@ public class TestBlobRef extends TestCase { doExternalTest(DATA, FILENAME); } + @Test public void testExternalSubdir() throws IOException { final byte [] DATA = { 1, 2, 3, 4, 5 }; final String FILENAME = "_lob/blobdata"; http://git-wip-us.apache.org/repos/asf/sqoop/blob/4a74b8bc/src/test/com/cloudera/sqoop/lib/TestBooleanParser.java ---------------------------------------------------------------------- diff --git a/src/test/com/cloudera/sqoop/lib/TestBooleanParser.java b/src/test/com/cloudera/sqoop/lib/TestBooleanParser.java index 7449c39..c1ab7e5 100644 --- a/src/test/com/cloudera/sqoop/lib/TestBooleanParser.java +++ b/src/test/com/cloudera/sqoop/lib/TestBooleanParser.java @@ -18,12 +18,18 @@ package com.cloudera.sqoop.lib; -import junit.framework.TestCase; + +import org.junit.Test; + +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; /** * Test the boolean parser. */ -public class TestBooleanParser extends TestCase { +public class TestBooleanParser { + + @Test public void testBoolParser() { assertTrue(BooleanParser.valueOf("true")); assertTrue(BooleanParser.valueOf("TRUE")); http://git-wip-us.apache.org/repos/asf/sqoop/blob/4a74b8bc/src/test/com/cloudera/sqoop/lib/TestClobRef.java ---------------------------------------------------------------------- diff --git a/src/test/com/cloudera/sqoop/lib/TestClobRef.java b/src/test/com/cloudera/sqoop/lib/TestClobRef.java index 7e961c0..7efc3b6 100644 --- a/src/test/com/cloudera/sqoop/lib/TestClobRef.java +++ b/src/test/com/cloudera/sqoop/lib/TestClobRef.java @@ -22,24 +22,31 @@ import java.io.*; import com.cloudera.sqoop.testutil.BaseSqoopTestCase; import com.cloudera.sqoop.testutil.CommonArgs; -import junit.framework.TestCase; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.Path; import com.cloudera.sqoop.io.LobFile; +import org.junit.Test; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; /** * Test parsing of ClobRef objects. */ -public class TestClobRef extends TestCase { +public class TestClobRef { + @Test public void testEmptyStr() { ClobRef r = ClobRef.parse(""); assertFalse(r.isExternal()); assertEquals("", r.toString()); } + @Test public void testInline() throws IOException { ClobRef r = ClobRef.parse("foo"); assertFalse(r.isExternal()); @@ -55,6 +62,7 @@ public class TestClobRef extends TestCase { assertEquals("foo", str); } + @Test public void testEmptyFile() { ClobRef r = ClobRef.parse("externalLob()"); assertFalse(r.isExternal()); @@ -65,6 +73,7 @@ public class TestClobRef extends TestCase { assertEquals("externalLob(lf,,0,0)", r.toString()); } + @Test public void testInlineNearMatch() { ClobRef r = ClobRef.parse("externalLob(foo)bar"); assertFalse(r.isExternal()); @@ -83,6 +92,7 @@ public class TestClobRef extends TestCase { assertEquals("externalLob(lf,foo,1,2)x", r.getData()); } + @Test public void testExternal() throws IOException { final String DATA = "This is the clob data!"; final String FILENAME = "clobdata"; @@ -90,6 +100,7 @@ public class TestClobRef extends TestCase { doExternalTest(DATA, FILENAME); } + @Test public void testExternalSubdir() throws IOException { final String DATA = "This is the clob data!"; final String FILENAME = "_lob/clobdata"; http://git-wip-us.apache.org/repos/asf/sqoop/blob/4a74b8bc/src/test/com/cloudera/sqoop/lib/TestFieldFormatter.java ---------------------------------------------------------------------- diff --git a/src/test/com/cloudera/sqoop/lib/TestFieldFormatter.java b/src/test/com/cloudera/sqoop/lib/TestFieldFormatter.java index 1d2d29a..1fc9cd2 100644 --- a/src/test/com/cloudera/sqoop/lib/TestFieldFormatter.java +++ b/src/test/com/cloudera/sqoop/lib/TestFieldFormatter.java @@ -18,14 +18,18 @@ package com.cloudera.sqoop.lib; -import junit.framework.TestCase; +import org.junit.Test; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNull; /** * Test that the field formatter works in a variety of configurations. */ -public class TestFieldFormatter extends TestCase { +public class TestFieldFormatter { + @Test public void testAllEmpty() { String result = FieldFormatter.escapeAndEnclose("", new DelimiterSet(DelimiterSet.NULL_CHAR, DelimiterSet.NULL_CHAR, @@ -33,41 +37,48 @@ public class TestFieldFormatter extends TestCase { assertEquals("", result); } + @Test public void testNullArgs() { assertNull(FieldFormatter.escapeAndEnclose(null, new DelimiterSet('\"', DelimiterSet.NULL_CHAR, '\"', '\\', false))); } + @Test public void testBasicStr() { String result = FieldFormatter.escapeAndEnclose("foo", DelimiterSet.DEFAULT_DELIMITERS); assertEquals("foo", result); } + @Test public void testEscapeSlash() { String result = FieldFormatter.escapeAndEnclose("foo\\bar", new DelimiterSet(',', '\n', '\"', '\\', false)); assertEquals("foo\\\\bar", result); } + @Test public void testMustEnclose() { String result = FieldFormatter.escapeAndEnclose("foo", new DelimiterSet(',', '\n', '\"', DelimiterSet.NULL_CHAR, true)); assertEquals("\"foo\"", result); } + @Test public void testEncloseComma1() { String result = FieldFormatter.escapeAndEnclose("foo,bar", new DelimiterSet(',', '\n', '\"', '\\', false)); assertEquals("\"foo,bar\"", result); } + @Test public void testEncloseComma2() { String result = FieldFormatter.escapeAndEnclose("foo,bar", new DelimiterSet(',', ',', '\"', '\\', false)); assertEquals("\"foo,bar\"", result); } + @Test public void testNoNeedToEnclose() { String result = FieldFormatter.escapeAndEnclose( "just another string", @@ -75,6 +86,7 @@ public class TestFieldFormatter extends TestCase { assertEquals("just another string", result); } + @Test public void testCannotEnclose() { // Can't enclose because encloser is nul. // This should escape the comma instead. @@ -84,6 +96,7 @@ public class TestFieldFormatter extends TestCase { assertEquals("foo\\,bar", result); } + @Test public void testEmptyCharToEscapeString() { // test what happens when the escape char is null. It should encode the // null char. @@ -93,36 +106,42 @@ public class TestFieldFormatter extends TestCase { assertEquals("\000", s); } + @Test public void testEscapeCentralQuote() { String result = FieldFormatter.escapeAndEnclose("foo\"bar", new DelimiterSet(',', '\n', '\"', '\\', false)); assertEquals("foo\\\"bar", result); } + @Test public void testEscapeMultiCentralQuote() { String result = FieldFormatter.escapeAndEnclose("foo\"\"bar", new DelimiterSet(',', '\n', '\"', '\\', false)); assertEquals("foo\\\"\\\"bar", result); } + @Test public void testDoubleEscape() { String result = FieldFormatter.escapeAndEnclose("foo\\\"bar", new DelimiterSet(',', '\n', '\"', '\\', false)); assertEquals("foo\\\\\\\"bar", result); } + @Test public void testReverseEscape() { String result = FieldFormatter.escapeAndEnclose("foo\"\\bar", new DelimiterSet(',', '\n', '\"', '\\', false)); assertEquals("foo\\\"\\\\bar", result); } + @Test public void testQuotedEncloser() { String result = FieldFormatter.escapeAndEnclose("foo\",bar", new DelimiterSet(',', '\n', '\"', '\\', false)); assertEquals("\"foo\\\",bar\"", result); } + @Test public void testQuotedEscape() { String result = FieldFormatter.escapeAndEnclose("foo\\,bar", new DelimiterSet(',', '\n', '\"', '\\', false)); http://git-wip-us.apache.org/repos/asf/sqoop/blob/4a74b8bc/src/test/com/cloudera/sqoop/lib/TestLargeObjectLoader.java ---------------------------------------------------------------------- diff --git a/src/test/com/cloudera/sqoop/lib/TestLargeObjectLoader.java b/src/test/com/cloudera/sqoop/lib/TestLargeObjectLoader.java index e0ca67c..c55f14b 100644 --- a/src/test/com/cloudera/sqoop/lib/TestLargeObjectLoader.java +++ b/src/test/com/cloudera/sqoop/lib/TestLargeObjectLoader.java @@ -26,23 +26,30 @@ import java.sql.SQLException; import com.cloudera.sqoop.testutil.BaseSqoopTestCase; import com.cloudera.sqoop.testutil.CommonArgs; -import junit.framework.TestCase; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.Path; import com.cloudera.sqoop.testutil.MockResultSet; +import org.junit.Before; +import org.junit.Test; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; /** * Test deserialization of ClobRef and BlobRef fields. */ -public class TestLargeObjectLoader extends TestCase { +public class TestLargeObjectLoader { protected Configuration conf; protected LargeObjectLoader loader; protected Path outDir; + @Before public void setUp() throws IOException, InterruptedException { conf = new Configuration(); if (!BaseSqoopTestCase.isOnPhysicalCluster()) { @@ -59,6 +66,7 @@ public class TestLargeObjectLoader extends TestCase { loader = new LargeObjectLoader(conf, outDir); } + @Test public void testReadClobRef() throws IOException, InterruptedException, SQLException { // This should give us an inline CLOB. @@ -82,6 +90,7 @@ public class TestLargeObjectLoader extends TestCase { assertEquals(MockResultSet.CLOB_DATA, str); } + @Test public void testReadBlobRef() throws IOException, InterruptedException, SQLException { // This should give us an inline BLOB. http://git-wip-us.apache.org/repos/asf/sqoop/blob/4a74b8bc/src/test/com/cloudera/sqoop/lib/TestRecordParser.java ---------------------------------------------------------------------- diff --git a/src/test/com/cloudera/sqoop/lib/TestRecordParser.java b/src/test/com/cloudera/sqoop/lib/TestRecordParser.java index 8b11d39..57bdb5f 100644 --- a/src/test/com/cloudera/sqoop/lib/TestRecordParser.java +++ b/src/test/com/cloudera/sqoop/lib/TestRecordParser.java @@ -20,13 +20,15 @@ package com.cloudera.sqoop.lib; import java.util.ArrayList; import java.util.List; -import junit.framework.TestCase; +import org.junit.Test; + +import static org.junit.Assert.fail; /** * Test that the record parser works in a variety of configurations. */ -public class TestRecordParser extends TestCase { +public class TestRecordParser { private void assertListsEqual(String msg, List<String> expected, List<String> actual) { @@ -100,6 +102,7 @@ public class TestRecordParser extends TestCase { return asList; } + @Test public void testEmptyLine() throws RecordParser.ParseError { // an empty line should return no fields. @@ -109,6 +112,7 @@ public class TestRecordParser extends TestCase { assertListsEqual(null, list(strings), parser.parseRecord("")); } + @Test public void testJustEOR() throws RecordParser.ParseError { // a line with just a newline char should return a single zero-length field. @@ -118,6 +122,7 @@ public class TestRecordParser extends TestCase { assertListsEqual(null, list(strings), parser.parseRecord("\n")); } + @Test public void testOneField() throws RecordParser.ParseError { RecordParser parser = new RecordParser( new DelimiterSet(',', '\n', '\"', '\\', false)); @@ -125,6 +130,7 @@ public class TestRecordParser extends TestCase { assertListsEqual(null, list(strings), parser.parseRecord("the field")); } + @Test public void testOneField2() throws RecordParser.ParseError { RecordParser parser = new RecordParser( new DelimiterSet(',', '\n', '\"', '\\', false)); @@ -132,6 +138,7 @@ public class TestRecordParser extends TestCase { assertListsEqual(null, list(strings), parser.parseRecord("the field\n")); } + @Test public void testQuotedField1() throws RecordParser.ParseError { RecordParser parser = new RecordParser( new DelimiterSet(',', '\n', '\"', '\\', false)); @@ -140,6 +147,7 @@ public class TestRecordParser extends TestCase { parser.parseRecord("\"the field\"\n")); } + @Test public void testQuotedField2() throws RecordParser.ParseError { RecordParser parser = new RecordParser( new DelimiterSet(',', '\n', '\"', '\\', false)); @@ -148,6 +156,7 @@ public class TestRecordParser extends TestCase { parser.parseRecord("\"the field\"")); } + @Test public void testQuotedField3() throws RecordParser.ParseError { // quoted containing EOF RecordParser parser = new RecordParser( @@ -157,6 +166,7 @@ public class TestRecordParser extends TestCase { parser.parseRecord("\"the ,field\"")); } + @Test public void testQuotedField4() throws RecordParser.ParseError { // quoted containing multiple EOFs RecordParser parser = new RecordParser( @@ -166,6 +176,7 @@ public class TestRecordParser extends TestCase { parser.parseRecord("\"the ,,field\"")); } + @Test public void testQuotedField5() throws RecordParser.ParseError { // quoted containing EOF and EOR RecordParser parser = new RecordParser( @@ -175,6 +186,7 @@ public class TestRecordParser extends TestCase { parser.parseRecord("\"the ,\nfield\"")); } + @Test public void testQuotedField6() throws RecordParser.ParseError { // quoted containing EOR RecordParser parser = new RecordParser( @@ -184,6 +196,7 @@ public class TestRecordParser extends TestCase { parser.parseRecord("\"the \nfield\"")); } + @Test public void testQuotedField7() throws RecordParser.ParseError { // quoted containing multiple EORs RecordParser parser = new RecordParser( @@ -193,6 +206,7 @@ public class TestRecordParser extends TestCase { parser.parseRecord("\"the \n\nfield\"")); } + @Test public void testQuotedField8() throws RecordParser.ParseError { // quoted containing escaped quoted char RecordParser parser = new RecordParser( @@ -202,6 +216,7 @@ public class TestRecordParser extends TestCase { parser.parseRecord("\"the \\\"field\"")); } + @Test public void testUnquotedEscape1() throws RecordParser.ParseError { // field without quotes with an escaped EOF char. RecordParser parser = new RecordParser( @@ -210,6 +225,7 @@ public class TestRecordParser extends TestCase { assertListsEqual(null, list(strings), parser.parseRecord("the \\,field")); } + @Test public void testUnquotedEscape2() throws RecordParser.ParseError { // field without quotes with an escaped escape char. RecordParser parser = new RecordParser( @@ -218,6 +234,7 @@ public class TestRecordParser extends TestCase { assertListsEqual(null, list(strings), parser.parseRecord("the \\\\field")); } + @Test public void testTwoFields1() throws RecordParser.ParseError { RecordParser parser = new RecordParser( new DelimiterSet(',', '\n', '\"', '\\', false)); @@ -225,6 +242,7 @@ public class TestRecordParser extends TestCase { assertListsEqual(null, list(strings), parser.parseRecord("field1,field2")); } + @Test public void testTwoFields2() throws RecordParser.ParseError { RecordParser parser = new RecordParser( new DelimiterSet(',', '\n', '\"', '\\', false)); @@ -233,6 +251,7 @@ public class TestRecordParser extends TestCase { parser.parseRecord("field1,field2\n")); } + @Test public void testTwoFields3() throws RecordParser.ParseError { RecordParser parser = new RecordParser( new DelimiterSet(',', '\n', '\"', '\\', false)); @@ -241,6 +260,7 @@ public class TestRecordParser extends TestCase { parser.parseRecord("\"field1\",field2\n")); } + @Test public void testTwoFields4() throws RecordParser.ParseError { RecordParser parser = new RecordParser( new DelimiterSet(',', '\n', '\"', '\\', false)); @@ -249,6 +269,7 @@ public class TestRecordParser extends TestCase { parser.parseRecord("field1,\"field2\"\n")); } + @Test public void testTwoFields5() throws RecordParser.ParseError { RecordParser parser = new RecordParser( new DelimiterSet(',', '\n', '\"', '\\', false)); @@ -257,6 +278,7 @@ public class TestRecordParser extends TestCase { parser.parseRecord("field1,\"field2\"")); } + @Test public void testRequiredQuotes0() throws RecordParser.ParseError { RecordParser parser = new RecordParser( new DelimiterSet(',', '\n', '\"', '\\', true)); @@ -265,6 +287,7 @@ public class TestRecordParser extends TestCase { parser.parseRecord("\"field1\",\"field2\"\n")); } + @Test public void testRequiredQuotes1() throws RecordParser.ParseError { RecordParser parser = new RecordParser( new DelimiterSet(',', '\n', '\"', '\\', true)); @@ -273,6 +296,7 @@ public class TestRecordParser extends TestCase { parser.parseRecord("\"field1\",\"field2\"")); } + @Test public void testRequiredQuotes2() throws RecordParser.ParseError { RecordParser parser = new RecordParser( new DelimiterSet(',', '\n', '\"', '\\', true)); @@ -284,6 +308,7 @@ public class TestRecordParser extends TestCase { } } + @Test public void testRequiredQuotes3() throws RecordParser.ParseError { RecordParser parser = new RecordParser( new DelimiterSet(',', '\n', '\"', '\\', true)); @@ -295,6 +320,7 @@ public class TestRecordParser extends TestCase { } } + @Test public void testRequiredQuotes4() throws RecordParser.ParseError { RecordParser parser = new RecordParser( new DelimiterSet(',', '\n', '\"', '\\', true)); @@ -306,6 +332,7 @@ public class TestRecordParser extends TestCase { } } + @Test public void testNull() { RecordParser parser = new RecordParser( new DelimiterSet(',', '\n', '\"', '\\', true)); @@ -319,6 +346,7 @@ public class TestRecordParser extends TestCase { } + @Test public void testEmptyFields1() throws RecordParser.ParseError { RecordParser parser = new RecordParser( new DelimiterSet(',', '\n', '\"', '\\', false)); @@ -326,6 +354,7 @@ public class TestRecordParser extends TestCase { assertListsEqual(null, list(strings), parser.parseRecord(",")); } + @Test public void testEmptyFields2() throws RecordParser.ParseError { RecordParser parser = new RecordParser( new DelimiterSet(',', '\n', '\"', '\\', false)); @@ -333,6 +362,7 @@ public class TestRecordParser extends TestCase { assertListsEqual(null, list(strings), parser.parseRecord(",\n")); } + @Test public void testEmptyFields3() throws RecordParser.ParseError { RecordParser parser = new RecordParser( new DelimiterSet(',', '\n', '\"', '\\', false)); @@ -340,6 +370,7 @@ public class TestRecordParser extends TestCase { assertListsEqual(null, list(strings), parser.parseRecord(",,\n")); } + @Test public void testEmptyFields4() throws RecordParser.ParseError { RecordParser parser = new RecordParser( new DelimiterSet(',', '\n', '\"', '\\', false)); @@ -347,6 +378,7 @@ public class TestRecordParser extends TestCase { assertListsEqual(null, list(strings), parser.parseRecord(",foo,\n")); } + @Test public void testEmptyFields5() throws RecordParser.ParseError { RecordParser parser = new RecordParser( new DelimiterSet(',', '\n', '\"', '\\', false)); @@ -354,6 +386,7 @@ public class TestRecordParser extends TestCase { assertListsEqual(null, list(strings), parser.parseRecord(",foo,")); } + @Test public void testEmptyFields6() throws RecordParser.ParseError { RecordParser parser = new RecordParser( new DelimiterSet(',', '\n', '\"', '\\', false)); @@ -361,6 +394,7 @@ public class TestRecordParser extends TestCase { assertListsEqual(null, list(strings), parser.parseRecord("foo,")); } + @Test public void testTrailingText() throws RecordParser.ParseError { RecordParser parser = new RecordParser( new DelimiterSet(',', '\n', '\"', '\\', false)); @@ -368,6 +402,7 @@ public class TestRecordParser extends TestCase { assertListsEqual(null, list(strings), parser.parseRecord("foo,bar\nbaz")); } + @Test public void testTrailingText2() throws RecordParser.ParseError { RecordParser parser = new RecordParser( new DelimiterSet(',', '\n', '\"', '\\', false)); @@ -375,6 +410,7 @@ public class TestRecordParser extends TestCase { assertListsEqual(null, list(strings), parser.parseRecord("\nbaz")); } + @Test public void testLeadingEscape() throws RecordParser.ParseError { RecordParser parser = new RecordParser( new DelimiterSet(',', '\n', '\"', '\\', false)); @@ -382,6 +418,7 @@ public class TestRecordParser extends TestCase { assertListsEqual(null, list(strings), parser.parseRecord("\\\nbaz")); } + @Test public void testEofIsEor() throws RecordParser.ParseError { RecordParser parser = new RecordParser( new DelimiterSet(',', ',', '\"', '\\', false)); @@ -390,6 +427,7 @@ public class TestRecordParser extends TestCase { parser.parseRecord("three,different,fields")); } + @Test public void testEofIsEor2() throws RecordParser.ParseError { RecordParser parser = new RecordParser( new DelimiterSet(',', ',', '\"', '\\', false)); @@ -398,6 +436,7 @@ public class TestRecordParser extends TestCase { parser.parseRecord("three,\"different\",fields")); } + @Test public void testRepeatedParse() throws RecordParser.ParseError { RecordParser parser = new RecordParser( new DelimiterSet(',', ',', '\"', '\\', false)); http://git-wip-us.apache.org/repos/asf/sqoop/blob/4a74b8bc/src/test/com/cloudera/sqoop/manager/CubridManagerExportTest.java ---------------------------------------------------------------------- diff --git a/src/test/com/cloudera/sqoop/manager/CubridManagerExportTest.java b/src/test/com/cloudera/sqoop/manager/CubridManagerExportTest.java index 4fa74fb..36aa821 100644 --- a/src/test/com/cloudera/sqoop/manager/CubridManagerExportTest.java +++ b/src/test/com/cloudera/sqoop/manager/CubridManagerExportTest.java @@ -38,6 +38,10 @@ import org.junit.Before; import com.cloudera.sqoop.SqoopOptions; import com.cloudera.sqoop.TestExport; +import org.junit.Test; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.fail; /** * Test the CubridManager implementation. @@ -104,6 +108,7 @@ public class CubridManagerExportTest extends TestExport { * Cubrid could not support --staging-table, Diable this test case. */ @Override + @Test public void testMultiTransactionWithStaging() throws IOException, SQLException { return; @@ -113,6 +118,7 @@ public class CubridManagerExportTest extends TestExport { * Cubrid could not support --staging-table, Diable this test case. */ @Override + @Test public void testMultiMapTextExportWithStaging() throws IOException, SQLException { return; @@ -282,6 +288,7 @@ public class CubridManagerExportTest extends TestExport { } /** Make sure mixed update/insert export work correctly. */ + @Test public void testUpsertTextExport() throws IOException, SQLException { final int TOTAL_RECORDS = 10; createTextFile(0, TOTAL_RECORDS, false); http://git-wip-us.apache.org/repos/asf/sqoop/blob/4a74b8bc/src/test/com/cloudera/sqoop/manager/CubridManagerImportTest.java ---------------------------------------------------------------------- diff --git a/src/test/com/cloudera/sqoop/manager/CubridManagerImportTest.java b/src/test/com/cloudera/sqoop/manager/CubridManagerImportTest.java index a683e20..03763ca 100644 --- a/src/test/com/cloudera/sqoop/manager/CubridManagerImportTest.java +++ b/src/test/com/cloudera/sqoop/manager/CubridManagerImportTest.java @@ -45,6 +45,10 @@ import com.cloudera.sqoop.SqoopOptions; import com.cloudera.sqoop.testutil.CommonArgs; import com.cloudera.sqoop.testutil.ImportJobTestCase; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; + /** * Test the CubridManager implementation. * http://git-wip-us.apache.org/repos/asf/sqoop/blob/4a74b8bc/src/test/com/cloudera/sqoop/manager/DB2ManagerImportManualTest.java ---------------------------------------------------------------------- diff --git a/src/test/com/cloudera/sqoop/manager/DB2ManagerImportManualTest.java b/src/test/com/cloudera/sqoop/manager/DB2ManagerImportManualTest.java index 3d9f817..2bc5c54 100644 --- a/src/test/com/cloudera/sqoop/manager/DB2ManagerImportManualTest.java +++ b/src/test/com/cloudera/sqoop/manager/DB2ManagerImportManualTest.java @@ -40,6 +40,10 @@ import com.cloudera.sqoop.testutil.CommonArgs; import com.cloudera.sqoop.testutil.ImportJobTestCase; import com.cloudera.sqoop.util.FileListing; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; + /** * Test the DB2Manager implementation. * http://git-wip-us.apache.org/repos/asf/sqoop/blob/4a74b8bc/src/test/com/cloudera/sqoop/manager/DirectMySQLExportTest.java ---------------------------------------------------------------------- diff --git a/src/test/com/cloudera/sqoop/manager/DirectMySQLExportTest.java b/src/test/com/cloudera/sqoop/manager/DirectMySQLExportTest.java index 7f08675..ec7b84a 100644 --- a/src/test/com/cloudera/sqoop/manager/DirectMySQLExportTest.java +++ b/src/test/com/cloudera/sqoop/manager/DirectMySQLExportTest.java @@ -38,6 +38,11 @@ import org.junit.Before; import com.cloudera.sqoop.SqoopOptions; import com.cloudera.sqoop.TestExport; import com.cloudera.sqoop.mapreduce.MySQLExportMapper; +import org.junit.Test; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; /** * Test the DirectMySQLManager implementation's exportJob() functionality. @@ -136,6 +141,7 @@ public class DirectMySQLExportTest extends TestExport { /** * Test a single mapper that runs several transactions serially. */ + @Test public void testMultiTxExport() throws IOException, SQLException { multiFileTest(1, 20, 1, "-D", MySQLExportMapper.MYSQL_CHECKPOINT_BYTES_KEY + "=10"); @@ -144,6 +150,7 @@ public class DirectMySQLExportTest extends TestExport { /** * Test an authenticated export using mysqlimport. */ + @Test public void testAuthExport() throws IOException, SQLException { SqoopOptions options = new SqoopOptions(MySQLAuthTest.AUTH_CONNECT_STRING, getTableName()); @@ -213,6 +220,7 @@ public class DirectMySQLExportTest extends TestExport { /** * Test an authenticated export using mysqlimport. */ + @Test public void testEscapedByExport() throws IOException, SQLException { SqoopOptions options = new SqoopOptions(MySQLAuthTest.AUTH_CONNECT_STRING, getTableName()); @@ -295,12 +303,14 @@ public class DirectMySQLExportTest extends TestExport { } @Override + @Test public void testMultiMapTextExportWithStaging() throws IOException, SQLException { // disable this test as staging is not supported in direct mode } @Override + @Test public void testMultiTransactionWithStaging() throws IOException, SQLException { // disable this test as staging is not supported in direct mode http://git-wip-us.apache.org/repos/asf/sqoop/blob/4a74b8bc/src/test/com/cloudera/sqoop/manager/DirectMySQLTest.java ---------------------------------------------------------------------- diff --git a/src/test/com/cloudera/sqoop/manager/DirectMySQLTest.java b/src/test/com/cloudera/sqoop/manager/DirectMySQLTest.java index faa0a3e..a58fa17 100644 --- a/src/test/com/cloudera/sqoop/manager/DirectMySQLTest.java +++ b/src/test/com/cloudera/sqoop/manager/DirectMySQLTest.java @@ -41,6 +41,10 @@ import com.cloudera.sqoop.testutil.CommonArgs; import com.cloudera.sqoop.testutil.ImportJobTestCase; import com.cloudera.sqoop.util.FileListing; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; + /** * Test the DirectMySQLManager implementation. * This differs from MySQLManager only in its importTable() method, which http://git-wip-us.apache.org/repos/asf/sqoop/blob/4a74b8bc/src/test/com/cloudera/sqoop/manager/JdbcMySQLExportTest.java ---------------------------------------------------------------------- diff --git a/src/test/com/cloudera/sqoop/manager/JdbcMySQLExportTest.java b/src/test/com/cloudera/sqoop/manager/JdbcMySQLExportTest.java index 5c6e567..6bf890b 100644 --- a/src/test/com/cloudera/sqoop/manager/JdbcMySQLExportTest.java +++ b/src/test/com/cloudera/sqoop/manager/JdbcMySQLExportTest.java @@ -31,6 +31,9 @@ import org.junit.Before; import com.cloudera.sqoop.SqoopOptions; import com.cloudera.sqoop.TestExport; +import org.junit.Test; + +import static org.junit.Assert.fail; /** * Test the MySQLManager implementation's exportJob() functionality. @@ -133,6 +136,7 @@ public class JdbcMySQLExportTest extends TestExport { statementsPerTx, subArgv); } + @Test public void testIntColInBatchMode() throws IOException, SQLException { final int TOTAL_RECORDS = 10; @@ -156,6 +160,7 @@ public class JdbcMySQLExportTest extends TestExport { assertColMinAndMax(forIdx(0), gen); } + @Test public void testUpsert() throws IOException, SQLException { final int TOTAL_RECORDS = 10; http://git-wip-us.apache.org/repos/asf/sqoop/blob/4a74b8bc/src/test/com/cloudera/sqoop/manager/ManualMySQLTests.java ---------------------------------------------------------------------- diff --git a/src/test/com/cloudera/sqoop/manager/ManualMySQLTests.java b/src/test/com/cloudera/sqoop/manager/ManualMySQLTests.java deleted file mode 100644 index 4d06dd9..0000000 --- a/src/test/com/cloudera/sqoop/manager/ManualMySQLTests.java +++ /dev/null @@ -1,42 +0,0 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.cloudera.sqoop.manager; - -import junit.framework.Test; -import junit.framework.TestCase; -import junit.framework.TestSuite; - -/** - * Manual test case with all MySQL related tests. - */ -public final class ManualMySQLTests extends TestCase { - - private ManualMySQLTests() { } - - public static Test suite() { - TestSuite suite = new TestSuite("All MySQL test cases"); - suite.addTestSuite(DirectMySQLTest.class); - suite.addTestSuite(DirectMySQLExportTest.class); - suite.addTestSuite(JdbcMySQLExportTest.class); - suite.addTestSuite(MySQLAuthTest.class); - suite.addTestSuite(MySQLCompatTest.class); - - return suite; - } - -} http://git-wip-us.apache.org/repos/asf/sqoop/blob/4a74b8bc/src/test/com/cloudera/sqoop/manager/MySQLAuthTest.java ---------------------------------------------------------------------- diff --git a/src/test/com/cloudera/sqoop/manager/MySQLAuthTest.java b/src/test/com/cloudera/sqoop/manager/MySQLAuthTest.java index 57900ee..d5cca5d 100644 --- a/src/test/com/cloudera/sqoop/manager/MySQLAuthTest.java +++ b/src/test/com/cloudera/sqoop/manager/MySQLAuthTest.java @@ -40,6 +40,11 @@ import com.cloudera.sqoop.SqoopOptions; import com.cloudera.sqoop.testutil.CommonArgs; import com.cloudera.sqoop.testutil.ImportJobTestCase; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; + /** * Test authentication and remote access to direct mysqldump-based imports. * http://git-wip-us.apache.org/repos/asf/sqoop/blob/4a74b8bc/src/test/com/cloudera/sqoop/manager/OracleCompatTest.java ---------------------------------------------------------------------- diff --git a/src/test/com/cloudera/sqoop/manager/OracleCompatTest.java b/src/test/com/cloudera/sqoop/manager/OracleCompatTest.java index 5bf920a..0d615e3 100644 --- a/src/test/com/cloudera/sqoop/manager/OracleCompatTest.java +++ b/src/test/com/cloudera/sqoop/manager/OracleCompatTest.java @@ -28,6 +28,9 @@ import org.apache.commons.logging.LogFactory; import org.apache.hadoop.conf.Configuration; import com.cloudera.sqoop.SqoopOptions; import com.cloudera.sqoop.testutil.ManagerCompatTestCase; +import org.junit.Test; + +import static org.junit.Assert.fail; /** * Test the basic Oracle connection manager with the various column types. @@ -194,6 +197,7 @@ public class OracleCompatTest extends ManagerCompatTestCase { // Disable this test since Oracle isn't ANSI compliant. @Override + @Test public void testEmptyStringCol() { this.skipped = true; LOG.info( @@ -201,6 +205,7 @@ public class OracleCompatTest extends ManagerCompatTestCase { } @Override + @Test public void testTimestamp1() { verifyType(getTimestampType(), getTimestampInsertStr("'2009-04-24 18:24:00'"), @@ -208,6 +213,7 @@ public class OracleCompatTest extends ManagerCompatTestCase { } @Override + @Test public void testTimestamp2() { verifyType(getTimestampType(), getTimestampInsertStr("'2009-04-24 18:24:00.0002'"), @@ -215,21 +221,25 @@ public class OracleCompatTest extends ManagerCompatTestCase { } @Override + @Test public void testDate1() { verifyType("DATE", getDateInsertStr("'2009-01-12'"), getDateSeqOutput("2009-01-12")); } @Override + @Test public void testDate2() { verifyType("DATE", getDateInsertStr("'2009-04-24'"), getDateSeqOutput("2009-04-24")); } + @Test public void testRawVal() { verifyType("RAW(8)", "'12ABCD'", getVarBinarySeqOutput("12ABCD"), true); } + @Test public void testBinaryFloat() { verifyType("BINARY_FLOAT", getBinaryFloatInsertStr(25f), "25.0"); verifyType("BINARY_FLOAT", getBinaryFloatInsertStr(+6.34f), "6.34"); @@ -241,6 +251,7 @@ public class OracleCompatTest extends ManagerCompatTestCase { verifyType("BINARY_FLOAT", getBinaryFloatInsertStr(min), "1.17549E-38"); } + @Test public void testBinaryDouble() { verifyType("BINARY_DOUBLE", getBinaryDoubleInsertStr(0.5d), "0.5"); verifyType("BINARY_DOUBLE", getBinaryDoubleInsertStr(-1d), "-1.0"); http://git-wip-us.apache.org/repos/asf/sqoop/blob/4a74b8bc/src/test/com/cloudera/sqoop/manager/OracleExportTest.java ---------------------------------------------------------------------- diff --git a/src/test/com/cloudera/sqoop/manager/OracleExportTest.java b/src/test/com/cloudera/sqoop/manager/OracleExportTest.java index 07d672f..ec56cbe 100644 --- a/src/test/com/cloudera/sqoop/manager/OracleExportTest.java +++ b/src/test/com/cloudera/sqoop/manager/OracleExportTest.java @@ -30,8 +30,9 @@ import org.junit.Before; import com.cloudera.sqoop.SqoopOptions; import com.cloudera.sqoop.TestExport; +import org.junit.Test; -import junit.framework.AssertionFailedError; +import static org.junit.Assert.fail; /** * Test the OracleManager implementation's exportJob() functionality. @@ -251,7 +252,7 @@ public class OracleExportTest extends TestExport { verifyExport(TOTAL_RECORDS); assertColMinAndMax(forIdx(0), genDate); assertColMinAndMax(forIdx(1), genTime); - } catch (AssertionFailedError afe) { + } catch (AssertionError afe) { genDate = getNewDateColGenerator(); genTime = getNewTimeColGenerator(); @@ -265,6 +266,7 @@ public class OracleExportTest extends TestExport { } /** Make sure mixed update/insert export work correctly. */ + @Test public void testUpsertTextExport() throws IOException, SQLException { final int TOTAL_RECORDS = 10; createTextFile(0, TOTAL_RECORDS, false); @@ -279,6 +281,7 @@ public class OracleExportTest extends TestExport { } /** Make sure mixed update/insert export work correctly. */ + @Test public void testUpsertTextExportWithEscapingDisabled() throws IOException, SQLException { final int TOTAL_RECORDS = 10; createTextFile(0, TOTAL_RECORDS, false); http://git-wip-us.apache.org/repos/asf/sqoop/blob/4a74b8bc/src/test/com/cloudera/sqoop/manager/OracleLobAvroImportTest.java ---------------------------------------------------------------------- diff --git a/src/test/com/cloudera/sqoop/manager/OracleLobAvroImportTest.java b/src/test/com/cloudera/sqoop/manager/OracleLobAvroImportTest.java index b79f87c..a23f088 100644 --- a/src/test/com/cloudera/sqoop/manager/OracleLobAvroImportTest.java +++ b/src/test/com/cloudera/sqoop/manager/OracleLobAvroImportTest.java @@ -29,6 +29,8 @@ import org.apache.hadoop.conf.Configuration; import com.cloudera.sqoop.SqoopOptions; import com.cloudera.sqoop.testutil.LobAvroImportTestCase; +import static org.junit.Assert.fail; + /** * Tests BLOB/CLOB import for Avro with Oracle Db. */ http://git-wip-us.apache.org/repos/asf/sqoop/blob/4a74b8bc/src/test/com/cloudera/sqoop/manager/OracleManagerTest.java ---------------------------------------------------------------------- diff --git a/src/test/com/cloudera/sqoop/manager/OracleManagerTest.java b/src/test/com/cloudera/sqoop/manager/OracleManagerTest.java index 396f897..817141b 100644 --- a/src/test/com/cloudera/sqoop/manager/OracleManagerTest.java +++ b/src/test/com/cloudera/sqoop/manager/OracleManagerTest.java @@ -49,6 +49,11 @@ import com.cloudera.sqoop.testutil.CommonArgs; import com.cloudera.sqoop.testutil.ImportJobTestCase; import com.cloudera.sqoop.util.FileListing; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; + /** * Test the OracleManager implementation. * @@ -473,6 +478,7 @@ public class OracleManagerTest extends ImportJobTestCase { } } + @Test public void testPurgeClosedConnections() throws Exception { // Ensure that after an Oracle ConnManager releases any connections // back into the cache (or closes them as redundant), it does not @@ -533,6 +539,7 @@ public class OracleManagerTest extends ImportJobTestCase { m2.close(); // Close the manager's active connection again. } + @Test public void testSessionUserName() throws Exception { SqoopOptions options = new SqoopOptions(OracleUtils.CONNECT_STRING, TABLE_NAME); http://git-wip-us.apache.org/repos/asf/sqoop/blob/4a74b8bc/src/test/com/cloudera/sqoop/manager/PGBulkloadManagerManualTest.java ---------------------------------------------------------------------- diff --git a/src/test/com/cloudera/sqoop/manager/PGBulkloadManagerManualTest.java b/src/test/com/cloudera/sqoop/manager/PGBulkloadManagerManualTest.java index a93da71..da354bb 100644 --- a/src/test/com/cloudera/sqoop/manager/PGBulkloadManagerManualTest.java +++ b/src/test/com/cloudera/sqoop/manager/PGBulkloadManagerManualTest.java @@ -20,13 +20,16 @@ package com.cloudera.sqoop.manager; import java.io.IOException; import java.sql.Connection; -import java.sql.SQLException; import java.sql.PreparedStatement; -import java.util.Arrays; +import java.sql.SQLException; import java.util.ArrayList; +import java.util.Arrays; + import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.hadoop.mapred.JobConf; +import org.junit.Test; + import com.cloudera.sqoop.TestExport; import com.cloudera.sqoop.mapreduce.db.DBConfiguration; @@ -185,18 +188,18 @@ public class PGBulkloadManagerManualTest extends TestExport { // PGBulkloadManager does not support --columns option. } - + @Test public void testMultiReduceExport() throws IOException, SQLException { multiFileTest(2, 10, 2, "-D", "mapred.reduce.tasks=2"); } - + @Test public void testMultiReduceExportWithNewProp() throws IOException, SQLException { multiFileTest(2, 10, 2, "-D", "mapreduce.job.reduces=2"); } - + @Test public void testExportWithTablespace() throws IOException, SQLException { multiFileTest(1, 10, 1, "-D", "pgbulkload.staging.tablespace=" + TABLESPACE); http://git-wip-us.apache.org/repos/asf/sqoop/blob/4a74b8bc/src/test/com/cloudera/sqoop/manager/PostgresqlExportTest.java ---------------------------------------------------------------------- diff --git a/src/test/com/cloudera/sqoop/manager/PostgresqlExportTest.java b/src/test/com/cloudera/sqoop/manager/PostgresqlExportTest.java index 0ac4599..ed5917f 100644 --- a/src/test/com/cloudera/sqoop/manager/PostgresqlExportTest.java +++ b/src/test/com/cloudera/sqoop/manager/PostgresqlExportTest.java @@ -23,6 +23,7 @@ import com.cloudera.sqoop.testutil.ExportJobTestCase; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.junit.Before; +import org.junit.Test; import java.io.BufferedWriter; import java.io.File; @@ -36,6 +37,9 @@ import java.sql.SQLException; import java.sql.Statement; import java.util.ArrayList; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.fail; + /** * */ @@ -291,6 +295,7 @@ public class PostgresqlExportTest extends ExportJobTestCase { output.close(); } + @Test public void testExport() throws IOException, SQLException { createTestFile("inputFile", new String[] { "2,Bob,2009-04-20,400,sales", @@ -302,6 +307,7 @@ public class PostgresqlExportTest extends ExportJobTestCase { assertRowCount(2, escapeTableOrSchemaName(TABLE_NAME), connection); } + @Test public void testExportUsingProcedure() throws IOException, SQLException { createTestFile("inputFile", new String[] { "2,Bob,2009-04-20,400,sales", @@ -313,6 +319,7 @@ public class PostgresqlExportTest extends ExportJobTestCase { assertRowCount(2, escapeTableOrSchemaName(TABLE_NAME), connection); } + @Test public void testExportStaging() throws IOException, SQLException { createTestFile("inputFile", new String[] { "2,Bob,2009-04-20,400,sales", @@ -326,6 +333,7 @@ public class PostgresqlExportTest extends ExportJobTestCase { assertRowCount(2, escapeTableOrSchemaName(TABLE_NAME), connection); } + @Test public void testExportDirect() throws IOException, SQLException { createTestFile("inputFile", new String[] { "2,Bob,2009-04-20,400,sales", @@ -339,6 +347,7 @@ public class PostgresqlExportTest extends ExportJobTestCase { assertRowCount(2, escapeTableOrSchemaName(TABLE_NAME), connection); } + @Test public void testExportCustomSchema() throws IOException, SQLException { createTestFile("inputFile", new String[] { "2,Bob,2009-04-20,400,sales", @@ -358,6 +367,7 @@ public class PostgresqlExportTest extends ExportJobTestCase { connection); } + @Test public void testExportCustomSchemaStaging() throws IOException, SQLException { createTestFile("inputFile", new String[] { "2,Bob,2009-04-20,400,sales", @@ -380,6 +390,7 @@ public class PostgresqlExportTest extends ExportJobTestCase { connection); } + @Test public void testExportCustomSchemaStagingClear() throws IOException, SQLException { createTestFile("inputFile", new String[] { @@ -404,6 +415,7 @@ public class PostgresqlExportTest extends ExportJobTestCase { connection); } + @Test public void testExportCustomSchemaDirect() throws IOException, SQLException { createTestFile("inputFile", new String[] { "2,Bob,2009-04-20,400,sales", http://git-wip-us.apache.org/repos/asf/sqoop/blob/4a74b8bc/src/test/com/cloudera/sqoop/manager/PostgresqlImportTest.java ---------------------------------------------------------------------- diff --git a/src/test/com/cloudera/sqoop/manager/PostgresqlImportTest.java b/src/test/com/cloudera/sqoop/manager/PostgresqlImportTest.java index 5fddd58..70ee640 100644 --- a/src/test/com/cloudera/sqoop/manager/PostgresqlImportTest.java +++ b/src/test/com/cloudera/sqoop/manager/PostgresqlImportTest.java @@ -42,6 +42,10 @@ import com.cloudera.sqoop.testutil.CommonArgs; import com.cloudera.sqoop.testutil.ImportJobTestCase; import com.cloudera.sqoop.util.FileListing; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; + /** * Test the PostgresqlManager and DirectPostgresqlManager implementations. * The former uses the postgres JDBC driver to perform an import; @@ -334,6 +338,7 @@ public class PostgresqlImportTest extends ImportJobTestCase { doImportAndVerify(false, expectedResults, TABLE_NAME, extraArgs); } + @Test public void testDirectIncrementalImport() throws IOException { String [] expectedResults = { }; @@ -344,6 +349,7 @@ public class PostgresqlImportTest extends ImportJobTestCase { doImportAndVerify(true, expectedResults, TABLE_NAME, extraArgs); } + @Test public void testDirectIncrementalImportMerge() throws IOException { String [] expectedResults = { }; http://git-wip-us.apache.org/repos/asf/sqoop/blob/4a74b8bc/src/test/com/cloudera/sqoop/manager/SQLServerManagerExportManualTest.java ---------------------------------------------------------------------- diff --git a/src/test/com/cloudera/sqoop/manager/SQLServerManagerExportManualTest.java b/src/test/com/cloudera/sqoop/manager/SQLServerManagerExportManualTest.java index 5f934c3..9a92479 100644 --- a/src/test/com/cloudera/sqoop/manager/SQLServerManagerExportManualTest.java +++ b/src/test/com/cloudera/sqoop/manager/SQLServerManagerExportManualTest.java @@ -26,6 +26,7 @@ import com.cloudera.sqoop.testutil.ExportJobTestCase; import org.apache.hadoop.conf.Configuration; import org.junit.After; import org.junit.Before; +import org.junit.Test; import java.io.BufferedWriter; import java.io.File; @@ -38,6 +39,9 @@ import java.sql.SQLException; import java.sql.Statement; import java.util.ArrayList; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.fail; + /** * Please see instructions in SQLServerManagerImportManualTest. */ @@ -296,6 +300,7 @@ public class SQLServerManagerExportManualTest extends ExportJobTestCase { output.close(); } + @Test public void testExport() throws IOException, SQLException { createTestFile("inputFile", new String[] { "2,Bob,400,sales", @@ -307,6 +312,7 @@ public class SQLServerManagerExportManualTest extends ExportJobTestCase { assertRowCount(2, escapeObjectName(DBO_TABLE_NAME), conn); } + @Test public void testExportCustomSchema() throws IOException, SQLException { createTestFile("inputFile", new String[] { "2,Bob,400,sales", @@ -327,6 +333,7 @@ public class SQLServerManagerExportManualTest extends ExportJobTestCase { ); } + @Test public void testExportTableHints() throws IOException, SQLException { createTestFile("inputFile", new String[] { "2,Bob,400,sales", @@ -340,6 +347,7 @@ public class SQLServerManagerExportManualTest extends ExportJobTestCase { assertRowCount(2, escapeObjectName(DBO_TABLE_NAME), conn); } + @Test public void testExportTableHintsMultiple() throws IOException, SQLException { createTestFile("inputFile", new String[] { "2,Bob,400,sales", @@ -353,6 +361,7 @@ public class SQLServerManagerExportManualTest extends ExportJobTestCase { assertRowCount(2, escapeObjectName(DBO_TABLE_NAME), conn); } + @Test public void testSQLServerBinaryType() throws IOException, SQLException { createSQLServerBinaryTypeTable(SCHEMA_DBO, DBO_BINARY_TABLE_NAME); createTestFile("inputFile", new String[] { @@ -365,6 +374,7 @@ public class SQLServerManagerExportManualTest extends ExportJobTestCase { } /** Make sure mixed update/insert export work correctly. */ + @Test public void testUpsertTextExport() throws IOException, SQLException { createTestFile("inputFile", new String[] { "2,Bob,400,sales", http://git-wip-us.apache.org/repos/asf/sqoop/blob/4a74b8bc/src/test/com/cloudera/sqoop/manager/SQLServerManagerImportManualTest.java ---------------------------------------------------------------------- diff --git a/src/test/com/cloudera/sqoop/manager/SQLServerManagerImportManualTest.java b/src/test/com/cloudera/sqoop/manager/SQLServerManagerImportManualTest.java index 09f1e6b..1f69725 100644 --- a/src/test/com/cloudera/sqoop/manager/SQLServerManagerImportManualTest.java +++ b/src/test/com/cloudera/sqoop/manager/SQLServerManagerImportManualTest.java @@ -43,6 +43,10 @@ import com.cloudera.sqoop.testutil.CommonArgs; import com.cloudera.sqoop.testutil.ImportJobTestCase; import com.cloudera.sqoop.util.FileListing; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; + /** * Test the SQLServerManager implementation. * http://git-wip-us.apache.org/repos/asf/sqoop/blob/4a74b8bc/src/test/com/cloudera/sqoop/manager/TestHsqldbManager.java ---------------------------------------------------------------------- diff --git a/src/test/com/cloudera/sqoop/manager/TestHsqldbManager.java b/src/test/com/cloudera/sqoop/manager/TestHsqldbManager.java index d64a2cc..8a6bb26 100644 --- a/src/test/com/cloudera/sqoop/manager/TestHsqldbManager.java +++ b/src/test/com/cloudera/sqoop/manager/TestHsqldbManager.java @@ -20,8 +20,6 @@ package com.cloudera.sqoop.manager; import java.sql.SQLException; -import junit.framework.TestCase; - import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.junit.After; @@ -30,11 +28,15 @@ import org.junit.Test; import com.cloudera.sqoop.testutil.HsqldbTestServer; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.fail; + /** * Test HsqldbManager-specific functionality that overrides SqlManager * behavior. */ -public class TestHsqldbManager extends TestCase { +public class TestHsqldbManager { public static final Log LOG = LogFactory.getLog( TestHsqldbManager.class.getName()); http://git-wip-us.apache.org/repos/asf/sqoop/blob/4a74b8bc/src/test/com/cloudera/sqoop/manager/TestSqlManager.java ---------------------------------------------------------------------- diff --git a/src/test/com/cloudera/sqoop/manager/TestSqlManager.java b/src/test/com/cloudera/sqoop/manager/TestSqlManager.java index 57855fa..bffff4a 100644 --- a/src/test/com/cloudera/sqoop/manager/TestSqlManager.java +++ b/src/test/com/cloudera/sqoop/manager/TestSqlManager.java @@ -26,8 +26,6 @@ import java.sql.SQLException; import java.sql.Types; import java.util.Map; -import junit.framework.TestCase; - import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.junit.After; @@ -36,10 +34,15 @@ import org.junit.Test; import com.cloudera.sqoop.testutil.HsqldbTestServer; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; +import static org.junit.Assert.fail; + /** * Test methods of the generic SqlManager implementation. */ -public class TestSqlManager extends TestCase { +public class TestSqlManager { public static final Log LOG = LogFactory.getLog( TestSqlManager.class.getName()); http://git-wip-us.apache.org/repos/asf/sqoop/blob/4a74b8bc/src/test/com/cloudera/sqoop/mapreduce/MapreduceTests.java ---------------------------------------------------------------------- diff --git a/src/test/com/cloudera/sqoop/mapreduce/MapreduceTests.java b/src/test/com/cloudera/sqoop/mapreduce/MapreduceTests.java deleted file mode 100644 index 3f97798..0000000 --- a/src/test/com/cloudera/sqoop/mapreduce/MapreduceTests.java +++ /dev/null @@ -1,44 +0,0 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.cloudera.sqoop.mapreduce; - -import com.cloudera.sqoop.mapreduce.db.*; - -import junit.framework.Test; -import junit.framework.TestSuite; - -/** - * All tests for Sqoop new mapreduce-api (com.cloudera.sqoop.mapreduce). - */ -public final class MapreduceTests { - - private MapreduceTests() { } - - public static Test suite() { - TestSuite suite = new TestSuite( - "Tests for com.cloudera.sqoop.mapreduce"); - suite.addTestSuite(TestImportJob.class); - suite.addTestSuite(TestDataDrivenDBInputFormat.class); - suite.addTestSuite(TestIntegerSplitter.class); - suite.addTestSuite(TestTextSplitter.class); - - return suite; - } -} - http://git-wip-us.apache.org/repos/asf/sqoop/blob/4a74b8bc/src/test/com/cloudera/sqoop/mapreduce/TestImportJob.java ---------------------------------------------------------------------- diff --git a/src/test/com/cloudera/sqoop/mapreduce/TestImportJob.java b/src/test/com/cloudera/sqoop/mapreduce/TestImportJob.java index d3f5549..6377ccd 100644 --- a/src/test/com/cloudera/sqoop/mapreduce/TestImportJob.java +++ b/src/test/com/cloudera/sqoop/mapreduce/TestImportJob.java @@ -48,6 +48,10 @@ import com.cloudera.sqoop.tool.ImportTool; import org.apache.hadoop.util.StringUtils; import org.apache.sqoop.SqoopOptions; import org.apache.sqoop.util.ClassLoaderStack; +import org.junit.Test; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; /** * Test aspects of the DataDrivenImportJob class' failure reporting. @@ -58,6 +62,8 @@ import org.apache.sqoop.util.ClassLoaderStack; * SQOOP_RETHROW_PROPERTY = "sqoop.throwOnError". */ public class TestImportJob extends ImportJobTestCase { + + @Test public void testFailedImportDueToIOException() throws IOException { // Make sure that if a MapReduce job to do the import fails due // to an IOException, we tell the user about it. @@ -129,6 +135,7 @@ public class TestImportJob extends ImportJobTestCase { } } + @Test public void testFailedImportDueToJobFail() throws IOException { // Test that if the job returns 'false' it still fails and informs // the user. @@ -162,6 +169,7 @@ public class TestImportJob extends ImportJobTestCase { } } + @Test public void testFailedNoColumns() throws IOException { // Make sure that if a MapReduce job to do the import fails due // to an IOException, we tell the user about it. @@ -189,6 +197,7 @@ public class TestImportJob extends ImportJobTestCase { } } + @Test public void testFailedIllegalColumns() throws IOException { // Make sure that if a MapReduce job to do the import fails due // to an IOException, we tell the user about it. @@ -219,6 +228,7 @@ public class TestImportJob extends ImportJobTestCase { } } + @Test public void testDuplicateColumns() throws IOException { // Make sure that if a MapReduce job to do the import fails due // to an IOException, we tell the user about it. @@ -280,6 +290,7 @@ public class TestImportJob extends ImportJobTestCase { return strings.toArray(new String[0]); } + @Test public void testDeleteTargetDir() throws Exception { // Make sure that if a MapReduce job to do the import fails due // to an IOException, we tell the user about it. @@ -328,6 +339,7 @@ public class TestImportJob extends ImportJobTestCase { } } + @Test public void testManyColumns() throws Exception { int numberOfColumns = 7500; http://git-wip-us.apache.org/repos/asf/sqoop/blob/4a74b8bc/src/test/com/cloudera/sqoop/mapreduce/db/TestDataDrivenDBInputFormat.java ---------------------------------------------------------------------- diff --git a/src/test/com/cloudera/sqoop/mapreduce/db/TestDataDrivenDBInputFormat.java b/src/test/com/cloudera/sqoop/mapreduce/db/TestDataDrivenDBInputFormat.java index fed22b8..c07a38b 100644 --- a/src/test/com/cloudera/sqoop/mapreduce/db/TestDataDrivenDBInputFormat.java +++ b/src/test/com/cloudera/sqoop/mapreduce/db/TestDataDrivenDBInputFormat.java @@ -23,8 +23,6 @@ import java.io.DataInput; import java.io.DataOutput; import java.io.IOException; -import junit.framework.TestCase; - import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.hadoop.fs.*; @@ -37,11 +35,17 @@ import org.apache.hadoop.mapreduce.Reducer; import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat; import org.apache.hadoop.util.StringUtils; import org.apache.sqoop.mapreduce.DBWritable; +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; /** * Test aspects of DataDrivenDBInputFormat. */ -public class TestDataDrivenDBInputFormat extends TestCase { +public class TestDataDrivenDBInputFormat { private static final Log LOG = LogFactory.getLog( TestDataDrivenDBInputFormat.class); @@ -83,13 +87,13 @@ public class TestDataDrivenDBInputFormat extends TestCase { createConnection(driverClassName, url); } + @Before public void setUp() throws Exception { initialize(DRIVER_CLASS, DB_URL); - super.setUp(); } + @After public void tearDown() throws Exception { - super.tearDown(); shutdown(); } @@ -166,6 +170,7 @@ public class TestDataDrivenDBInputFormat extends TestCase { } } + @Test public void testDateSplits() throws Exception { Statement s = connection.createStatement(); final String DATE_TABLE = "datetable"; http://git-wip-us.apache.org/repos/asf/sqoop/blob/4a74b8bc/src/test/com/cloudera/sqoop/mapreduce/db/TestIntegerSplitter.java ---------------------------------------------------------------------- diff --git a/src/test/com/cloudera/sqoop/mapreduce/db/TestIntegerSplitter.java b/src/test/com/cloudera/sqoop/mapreduce/db/TestIntegerSplitter.java index c072fa0..e5a7777 100644 --- a/src/test/com/cloudera/sqoop/mapreduce/db/TestIntegerSplitter.java +++ b/src/test/com/cloudera/sqoop/mapreduce/db/TestIntegerSplitter.java @@ -18,6 +18,8 @@ package com.cloudera.sqoop.mapreduce.db; +import org.junit.Test; + /** * Test that the IntegerSplitter generates sane splits. * @@ -27,6 +29,7 @@ package com.cloudera.sqoop.mapreduce.db; public class TestIntegerSplitter extends org.apache.sqoop.mapreduce.db.TestIntegerSplitter { + @Test public void testDummy() { // Nothing to do } http://git-wip-us.apache.org/repos/asf/sqoop/blob/4a74b8bc/src/test/com/cloudera/sqoop/mapreduce/db/TestTextSplitter.java ---------------------------------------------------------------------- diff --git a/src/test/com/cloudera/sqoop/mapreduce/db/TestTextSplitter.java b/src/test/com/cloudera/sqoop/mapreduce/db/TestTextSplitter.java index 4927c74..e585310 100644 --- a/src/test/com/cloudera/sqoop/mapreduce/db/TestTextSplitter.java +++ b/src/test/com/cloudera/sqoop/mapreduce/db/TestTextSplitter.java @@ -18,6 +18,8 @@ package com.cloudera.sqoop.mapreduce.db; +import org.junit.Test; + /** * Test that the TextSplitter implementation creates a sane set of splits. * @deprecated use org.apache.sqoop.mapreduce.db.TestTextSplitter instead. @@ -26,6 +28,7 @@ package com.cloudera.sqoop.mapreduce.db; public class TestTextSplitter extends org.apache.sqoop.mapreduce.db.TestTextSplitter { + @Test public void testDummy() { // Nothing to do } http://git-wip-us.apache.org/repos/asf/sqoop/blob/4a74b8bc/src/test/com/cloudera/sqoop/metastore/TestSavedJobs.java ---------------------------------------------------------------------- diff --git a/src/test/com/cloudera/sqoop/metastore/TestSavedJobs.java b/src/test/com/cloudera/sqoop/metastore/TestSavedJobs.java index 0ac6bdc..1fb7324 100644 --- a/src/test/com/cloudera/sqoop/metastore/TestSavedJobs.java +++ b/src/test/com/cloudera/sqoop/metastore/TestSavedJobs.java @@ -32,11 +32,15 @@ import com.cloudera.sqoop.manager.HsqldbManager; import com.cloudera.sqoop.metastore.hsqldb.AutoHsqldbStorage; import com.cloudera.sqoop.tool.VersionTool; -import junit.framework.TestCase; +import org.junit.Before; +import org.junit.Test; import java.io.IOException; import java.sql.Connection; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.fail; + /** * Test the metastore and job-handling features. * @@ -44,14 +48,14 @@ import java.sql.Connection; * The metastore URL is configured to be in-memory, and drop all * state between individual tests. */ -public class TestSavedJobs extends TestCase { +public class TestSavedJobs { public static final String TEST_AUTOCONNECT_URL = "jdbc:hsqldb:mem:sqoopmetastore"; public static final String TEST_AUTOCONNECT_USER = "SA"; public static final String TEST_AUTOCONNECT_PASS = ""; - @Override + @Before public void setUp() throws Exception { // Delete db state between tests. resetJobSchema(); @@ -95,6 +99,7 @@ public class TestSavedJobs extends TestCase { return conf; } + @Test public void testAutoConnect() throws IOException { // By default, we should be able to auto-connect with an // empty connection descriptor. We should see an empty @@ -112,6 +117,7 @@ public class TestSavedJobs extends TestCase { storage.close(); } + @Test public void testCreateDeleteJob() throws IOException { Configuration conf = newConf(); JobStorageFactory ssf = new JobStorageFactory(conf); @@ -167,6 +173,7 @@ public class TestSavedJobs extends TestCase { storage.close(); } + @Test public void testCreateJobWithExtraArgs() throws IOException { Configuration conf = newConf(); JobStorageFactory ssf = new JobStorageFactory(conf); @@ -207,6 +214,7 @@ public class TestSavedJobs extends TestCase { storage.close(); } + @Test public void testMultiConnections() throws IOException { // Ensure that a job can be retrieved when the storage is // closed and reopened. http://git-wip-us.apache.org/repos/asf/sqoop/blob/4a74b8bc/src/test/com/cloudera/sqoop/orm/TestClassWriter.java ---------------------------------------------------------------------- diff --git a/src/test/com/cloudera/sqoop/orm/TestClassWriter.java b/src/test/com/cloudera/sqoop/orm/TestClassWriter.java index 10a0969..ea31e9d 100644 --- a/src/test/com/cloudera/sqoop/orm/TestClassWriter.java +++ b/src/test/com/cloudera/sqoop/orm/TestClassWriter.java @@ -30,7 +30,6 @@ import java.util.Random; import java.util.jar.JarEntry; import java.util.jar.JarInputStream; -import junit.framework.TestCase; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -50,11 +49,17 @@ import com.cloudera.sqoop.util.ClassLoaderStack; import java.lang.reflect.Field; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNull; +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; + /** * Test that the ClassWriter generates Java classes based on the given table, * which compile. */ -public class TestClassWriter extends TestCase { +public class TestClassWriter { public static final Log LOG = LogFactory.getLog(TestClassWriter.class.getName()); http://git-wip-us.apache.org/repos/asf/sqoop/blob/4a74b8bc/src/test/com/cloudera/sqoop/orm/TestParseMethods.java ---------------------------------------------------------------------- diff --git a/src/test/com/cloudera/sqoop/orm/TestParseMethods.java b/src/test/com/cloudera/sqoop/orm/TestParseMethods.java index cec7614..017fb9f 100644 --- a/src/test/com/cloudera/sqoop/orm/TestParseMethods.java +++ b/src/test/com/cloudera/sqoop/orm/TestParseMethods.java @@ -39,6 +39,10 @@ import com.cloudera.sqoop.config.ConfigurationHelper; import com.cloudera.sqoop.testutil.ExplicitSetMapper; import com.cloudera.sqoop.tool.ImportTool; import com.cloudera.sqoop.util.ClassLoaderStack; +import org.junit.Test; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.fail; /** * Test that the parse() methods generated in user SqoopRecord implementations @@ -87,6 +91,7 @@ public class TestParseMethods extends ImportJobTestCase { return args.toArray(new String[0]); } + @Test public void testTemporaryRootDirParse() throws Exception { String customRoot = "customroot"; String[] args = new String[] {"--"+BaseSqoopTool.TEMP_ROOTDIR_ARG, customRoot}; @@ -156,6 +161,7 @@ public class TestParseMethods extends ImportJobTestCase { } } + @Test public void testDefaults() throws IOException { String [] types = { "INTEGER", "VARCHAR(32)", "INTEGER" }; String [] vals = { "64", "'foo'", "128" }; @@ -164,6 +170,7 @@ public class TestParseMethods extends ImportJobTestCase { runParseTest(",", "\\n", "\\\"", "\\", false); } + @Test public void testRequiredEnclose() throws IOException { String [] types = { "INTEGER", "VARCHAR(32)", "INTEGER" }; String [] vals = { "64", "'foo'", "128" }; @@ -172,6 +179,7 @@ public class TestParseMethods extends ImportJobTestCase { runParseTest(",", "\\n", "\\\"", "\\", true); } + @Test public void testStringEscapes() throws IOException { String [] types = { "VARCHAR(32)", @@ -192,6 +200,7 @@ public class TestParseMethods extends ImportJobTestCase { runParseTest(",", "\\n", "\\\'", "\\", false); } + @Test public void testNumericTypes() throws IOException { String [] types = { "INTEGER", @@ -218,6 +227,7 @@ public class TestParseMethods extends ImportJobTestCase { runParseTest(",", "\\n", "\\\'", "\\", false); } + @Test public void testFieldSetter() throws IOException { ClassLoader prevClassLoader = null; http://git-wip-us.apache.org/repos/asf/sqoop/blob/4a74b8bc/src/test/com/cloudera/sqoop/testutil/BaseSqoopTestCase.java ---------------------------------------------------------------------- diff --git a/src/test/com/cloudera/sqoop/testutil/BaseSqoopTestCase.java b/src/test/com/cloudera/sqoop/testutil/BaseSqoopTestCase.java index f8021be..6310a39 100644 --- a/src/test/com/cloudera/sqoop/testutil/BaseSqoopTestCase.java +++ b/src/test/com/cloudera/sqoop/testutil/BaseSqoopTestCase.java @@ -24,7 +24,6 @@ import com.cloudera.sqoop.manager.ConnManager; import com.cloudera.sqoop.metastore.JobData; import com.cloudera.sqoop.tool.ImportTool; import com.google.common.collect.ObjectArrays; -import junit.framework.TestCase; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.hadoop.conf.Configuration; @@ -44,10 +43,12 @@ import java.sql.ResultSet; import java.sql.SQLException; import java.util.Arrays; +import static org.junit.Assert.fail; + /** * Class that implements common methods required for tests. */ -public abstract class BaseSqoopTestCase extends TestCase { +public abstract class BaseSqoopTestCase { public static class DummyDataPublisher extends SqoopJobDataPublisher { public static String hiveTable; http://git-wip-us.apache.org/repos/asf/sqoop/blob/4a74b8bc/src/test/com/cloudera/sqoop/testutil/ExportJobTestCase.java ---------------------------------------------------------------------- diff --git a/src/test/com/cloudera/sqoop/testutil/ExportJobTestCase.java b/src/test/com/cloudera/sqoop/testutil/ExportJobTestCase.java index e2adc52..2433275 100644 --- a/src/test/com/cloudera/sqoop/testutil/ExportJobTestCase.java +++ b/src/test/com/cloudera/sqoop/testutil/ExportJobTestCase.java @@ -37,6 +37,9 @@ import com.cloudera.sqoop.SqoopOptions; import com.cloudera.sqoop.mapreduce.ExportOutputFormat; import com.cloudera.sqoop.tool.ExportTool; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.fail; + /** * Class that implements common methods required for tests which export data * from HDFS to databases, to verify correct export. http://git-wip-us.apache.org/repos/asf/sqoop/blob/4a74b8bc/src/test/com/cloudera/sqoop/testutil/ImportJobTestCase.java ---------------------------------------------------------------------- diff --git a/src/test/com/cloudera/sqoop/testutil/ImportJobTestCase.java b/src/test/com/cloudera/sqoop/testutil/ImportJobTestCase.java index 08408a5..6368980 100644 --- a/src/test/com/cloudera/sqoop/testutil/ImportJobTestCase.java +++ b/src/test/com/cloudera/sqoop/testutil/ImportJobTestCase.java @@ -23,6 +23,7 @@ import java.io.IOException; import java.util.ArrayList; import java.util.List; +import org.apache.commons.lang.RandomStringUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.hadoop.conf.Configuration; @@ -37,6 +38,9 @@ import com.cloudera.sqoop.tool.ImportTool; import com.cloudera.sqoop.util.ClassLoaderStack; import org.junit.Before; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.fail; + /** * Class that implements common methods required for tests which import data * from SQL into HDFS and verify correct import.
