SQOOP-3099: Remove all junit3 TestCase extension and test suites (Anna Szonyi via Attila Szabo)
Project: http://git-wip-us.apache.org/repos/asf/sqoop/repo Commit: http://git-wip-us.apache.org/repos/asf/sqoop/commit/4a74b8bc Tree: http://git-wip-us.apache.org/repos/asf/sqoop/tree/4a74b8bc Diff: http://git-wip-us.apache.org/repos/asf/sqoop/diff/4a74b8bc Branch: refs/heads/trunk Commit: 4a74b8bced22d4be83e93ac185d0cd6a2b48b260 Parents: c0b9bc4 Author: Attila Szabo <[email protected]> Authored: Wed Jan 11 17:35:46 2017 +0100 Committer: Attila Szabo <[email protected]> Committed: Wed Jan 11 17:35:46 2017 +0100 ---------------------------------------------------------------------- src/test/com/cloudera/sqoop/AllTests.java | 41 ----- src/test/com/cloudera/sqoop/SmokeTests.java | 94 ---------- src/test/com/cloudera/sqoop/TestAllTables.java | 8 + .../com/cloudera/sqoop/TestAppendUtils.java | 10 + src/test/com/cloudera/sqoop/TestAvroExport.java | 12 +- src/test/com/cloudera/sqoop/TestAvroImport.java | 16 ++ .../sqoop/TestAvroImportExportRoundtrip.java | 12 +- .../com/cloudera/sqoop/TestBoundaryQuery.java | 6 + .../com/cloudera/sqoop/TestCompression.java | 7 + .../com/cloudera/sqoop/TestConnFactory.java | 20 +- .../com/cloudera/sqoop/TestDirectImport.java | 9 +- src/test/com/cloudera/sqoop/TestExport.java | 22 +++ .../com/cloudera/sqoop/TestExportUpdate.java | 14 +- .../cloudera/sqoop/TestFreeFormQueryImport.java | 7 +- .../cloudera/sqoop/TestIncrementalImport.java | 37 +++- src/test/com/cloudera/sqoop/TestMerge.java | 8 +- src/test/com/cloudera/sqoop/TestMultiCols.java | 21 ++- src/test/com/cloudera/sqoop/TestMultiMaps.java | 5 + .../com/cloudera/sqoop/TestParquetExport.java | 11 +- .../com/cloudera/sqoop/TestParquetImport.java | 17 ++ src/test/com/cloudera/sqoop/TestQuery.java | 7 + src/test/com/cloudera/sqoop/TestSplitBy.java | 6 + .../com/cloudera/sqoop/TestSqoopOptions.java | 13 +- src/test/com/cloudera/sqoop/TestTargetDir.java | 14 +- src/test/com/cloudera/sqoop/TestWhere.java | 6 + .../com/cloudera/sqoop/ThirdPartyTests.java | 162 ----------------- .../sqoop/hbase/HBaseImportAddRowKeyTest.java | 5 - .../sqoop/hbase/HBaseImportNullTest.java | 2 + .../cloudera/sqoop/hbase/HBaseImportTest.java | 2 + .../sqoop/hbase/HBaseQueryImportTest.java | 2 + .../com/cloudera/sqoop/hbase/HBaseTestCase.java | 4 + .../com/cloudera/sqoop/hbase/HBaseUtilTest.java | 6 +- .../com/cloudera/sqoop/hive/TestHiveImport.java | 18 +- .../cloudera/sqoop/hive/TestTableDefWriter.java | 19 +- .../com/cloudera/sqoop/io/TestCodecMap.java | 19 +- src/test/com/cloudera/sqoop/io/TestLobFile.java | 124 ++++++------- .../com/cloudera/sqoop/io/TestNamedFifo.java | 11 +- .../sqoop/io/TestSplittableBufferedWriter.java | 17 +- .../com/cloudera/sqoop/lib/TestBlobRef.java | 15 +- .../cloudera/sqoop/lib/TestBooleanParser.java | 10 +- .../com/cloudera/sqoop/lib/TestClobRef.java | 15 +- .../cloudera/sqoop/lib/TestFieldFormatter.java | 23 ++- .../sqoop/lib/TestLargeObjectLoader.java | 13 +- .../cloudera/sqoop/lib/TestRecordParser.java | 43 ++++- .../sqoop/manager/CubridManagerExportTest.java | 7 + .../sqoop/manager/CubridManagerImportTest.java | 4 + .../manager/DB2ManagerImportManualTest.java | 4 + .../sqoop/manager/DirectMySQLExportTest.java | 10 + .../cloudera/sqoop/manager/DirectMySQLTest.java | 4 + .../sqoop/manager/JdbcMySQLExportTest.java | 5 + .../sqoop/manager/ManualMySQLTests.java | 42 ----- .../cloudera/sqoop/manager/MySQLAuthTest.java | 5 + .../sqoop/manager/OracleCompatTest.java | 11 ++ .../sqoop/manager/OracleExportTest.java | 7 +- .../sqoop/manager/OracleLobAvroImportTest.java | 2 + .../sqoop/manager/OracleManagerTest.java | 7 + .../manager/PGBulkloadManagerManualTest.java | 13 +- .../sqoop/manager/PostgresqlExportTest.java | 12 ++ .../sqoop/manager/PostgresqlImportTest.java | 6 + .../SQLServerManagerExportManualTest.java | 10 + .../SQLServerManagerImportManualTest.java | 4 + .../sqoop/manager/TestHsqldbManager.java | 8 +- .../cloudera/sqoop/manager/TestSqlManager.java | 9 +- .../sqoop/mapreduce/MapreduceTests.java | 44 ----- .../cloudera/sqoop/mapreduce/TestImportJob.java | 12 ++ .../db/TestDataDrivenDBInputFormat.java | 15 +- .../sqoop/mapreduce/db/TestIntegerSplitter.java | 3 + .../sqoop/mapreduce/db/TestTextSplitter.java | 3 + .../cloudera/sqoop/metastore/TestSavedJobs.java | 14 +- .../com/cloudera/sqoop/orm/TestClassWriter.java | 9 +- .../cloudera/sqoop/orm/TestParseMethods.java | 10 + .../sqoop/testutil/BaseSqoopTestCase.java | 5 +- .../sqoop/testutil/ExportJobTestCase.java | 3 + .../sqoop/testutil/ImportJobTestCase.java | 4 + .../sqoop/testutil/LobAvroImportTestCase.java | 18 +- .../sqoop/testutil/ManagerCompatTestCase.java | 6 + .../com/cloudera/sqoop/tool/TestToolPlugin.java | 9 +- .../sqoop/util/TestOptionsFileExpansion.java | 9 +- .../sqoop/util/TestSubstitutionUtils.java | 7 +- .../org/apache/sqoop/TestAutoResetMapper.java | 5 + .../org/apache/sqoop/TestBigDecimalExport.java | 5 + .../org/apache/sqoop/TestBigDecimalImport.java | 5 + .../apache/sqoop/TestExportUsingProcedure.java | 30 ++- .../apache/sqoop/TestSqoopJobDataPublisher.java | 7 + src/test/org/apache/sqoop/TestSqoopOptions.java | 10 +- .../apache/sqoop/accumulo/AccumuloTestCase.java | 4 + .../sqoop/accumulo/TestAccumuloImport.java | 2 + .../sqoop/accumulo/TestAccumuloQueryImport.java | 2 + .../apache/sqoop/accumulo/TestAccumuloUtil.java | 5 +- .../credentials/TestPassingSecurePassword.java | 20 ++ .../apache/sqoop/hcat/HCatalogExportTest.java | 12 +- .../apache/sqoop/hcat/HCatalogImportTest.java | 12 +- .../apache/sqoop/hcat/TestHCatalogBasic.java | 18 +- .../sqoop/manager/TestMainframeManager.java | 5 + .../apache/sqoop/manager/TestSqlManager.java | 5 +- .../sqoop/manager/cubrid/CubridAuthTest.java | 3 + .../manager/mysql/MySqlCallExportTest.java | 8 +- .../mysql/MySqlColumnEscapeImportTest.java | 7 +- .../netezza/DirectNetezzaExportManualTest.java | 7 + .../DirectNetezzaHCatExportManualTest.java | 11 ++ .../DirectNetezzaHCatImportManualTest.java | 19 ++ .../netezza/NetezzaExportManualTest.java | 2 + .../netezza/NetezzaImportManualTest.java | 4 + .../apache/sqoop/manager/oracle/ExportTest.java | 10 +- .../apache/sqoop/manager/oracle/ImportTest.java | 30 +-- ...aDrivenDBInputFormatConnectionCloseTest.java | 3 +- .../sqoop/manager/oracle/OraOopTestCase.java | 4 +- .../manager/oracle/OracleCallExportTest.java | 2 + .../oracle/OracleColumnEscapeImportTest.java | 7 +- .../oracle/OracleIncrementalImportTest.java | 8 +- .../manager/oracle/OracleSplitterTest.java | 4 + .../sqoop/manager/oracle/TestOraOopJdbcUrl.java | 95 +++++----- .../manager/oracle/TestOraOopUtilities.java | 181 +++++++++---------- .../sqoop/manager/oracle/TestOracleTable.java | 10 +- .../sqoop/manager/oracle/TimestampDataTest.java | 6 +- .../manager/sqlserver/ManagerCompatExport.java | 23 +-- ...verDatatypeExportSequenceFileManualTest.java | 15 +- ...erDatatypeImportDelimitedFileManualTest.java | 6 + ...verDatatypeImportSequenceFileManualTest.java | 31 +++- .../SQLServerHiveImportManualTest.java | 5 +- .../sqlserver/SQLServerManagerManualTest.java | 8 +- .../sqlserver/SQLServerMultiColsManualTest.java | 7 + .../sqlserver/SQLServerMultiMapsManualTest.java | 9 + .../SQLServerParseMethodsManualTest.java | 9 + .../sqlserver/SQLServerQueryManualTest.java | 11 ++ .../sqlserver/SQLServerSplitByManualTest.java | 10 + .../sqlserver/SQLServerWhereManualTest.java | 10 + .../sqoop/mapreduce/TestJdbcExportJob.java | 4 +- .../org/apache/sqoop/mapreduce/TestJobBase.java | 5 +- .../mapreduce/db/TestBigDecimalSplitter.java | 10 +- .../sqoop/mapreduce/db/TestDBConfiguration.java | 7 +- .../sqoop/mapreduce/db/TestIntegerSplitter.java | 19 +- .../sqoop/mapreduce/db/TestTextSplitter.java | 20 +- .../TextSplitterHadoopConfIntegrationTest.java | 14 +- .../apache/sqoop/tool/TestBaseSqoopTool.java | 8 - .../sqoop/tool/TestMainframeImportTool.java | 6 + .../validation/AbortOnFailureHandlerTest.java | 10 +- .../AbsoluteValidationThresholdTest.java | 8 +- .../validation/RowCountValidatorImportTest.java | 11 ++ 139 files changed, 1183 insertions(+), 925 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/sqoop/blob/4a74b8bc/src/test/com/cloudera/sqoop/AllTests.java ---------------------------------------------------------------------- diff --git a/src/test/com/cloudera/sqoop/AllTests.java b/src/test/com/cloudera/sqoop/AllTests.java deleted file mode 100644 index 1dfb0fc..0000000 --- a/src/test/com/cloudera/sqoop/AllTests.java +++ /dev/null @@ -1,41 +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; - -import junit.framework.Test; -import junit.framework.TestSuite; - -/** - * All tests for Sqoop (com.cloudera.sqoop). - */ -public final class AllTests { - - private AllTests() { } - - public static Test suite() { - TestSuite suite = new TestSuite("All tests for com.cloudera.sqoop"); - - suite.addTest(SmokeTests.suite()); - suite.addTest(ThirdPartyTests.suite()); - - return suite; - } - -} - http://git-wip-us.apache.org/repos/asf/sqoop/blob/4a74b8bc/src/test/com/cloudera/sqoop/SmokeTests.java ---------------------------------------------------------------------- diff --git a/src/test/com/cloudera/sqoop/SmokeTests.java b/src/test/com/cloudera/sqoop/SmokeTests.java deleted file mode 100644 index c5dc860..0000000 --- a/src/test/com/cloudera/sqoop/SmokeTests.java +++ /dev/null @@ -1,94 +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; - -import org.apache.sqoop.TestExportUsingProcedure; - -import com.cloudera.sqoop.hive.TestHiveImport; -import com.cloudera.sqoop.hive.TestTableDefWriter; -import com.cloudera.sqoop.io.TestLobFile; -import com.cloudera.sqoop.io.TestNamedFifo; -import com.cloudera.sqoop.io.TestSplittableBufferedWriter; -import com.cloudera.sqoop.lib.TestBooleanParser; -import com.cloudera.sqoop.lib.TestFieldFormatter; -import com.cloudera.sqoop.lib.TestRecordParser; -import com.cloudera.sqoop.lib.TestBlobRef; -import com.cloudera.sqoop.lib.TestClobRef; -import com.cloudera.sqoop.lib.TestLargeObjectLoader; -import com.cloudera.sqoop.manager.TestHsqldbManager; -import com.cloudera.sqoop.manager.TestSqlManager; -import com.cloudera.sqoop.mapreduce.MapreduceTests; -import com.cloudera.sqoop.metastore.TestSavedJobs; -import com.cloudera.sqoop.orm.TestClassWriter; -import com.cloudera.sqoop.orm.TestParseMethods; - -import com.cloudera.sqoop.tool.TestToolPlugin; - -import junit.framework.Test; -import junit.framework.TestSuite; - -/** - * Smoke tests for Sqoop (com.cloudera.sqoop). - */ -public final class SmokeTests { - - private SmokeTests() { } - - public static Test suite() { - TestSuite suite = new TestSuite("Smoke tests for com.cloudera.sqoop"); - - suite.addTestSuite(TestAllTables.class); - suite.addTestSuite(TestHsqldbManager.class); - suite.addTestSuite(TestSqlManager.class); - suite.addTestSuite(TestClassWriter.class); - suite.addTestSuite(TestColumnTypes.class); - suite.addTestSuite(TestExport.class); - suite.addTestSuite(TestMultiCols.class); - suite.addTestSuite(TestMultiMaps.class); - suite.addTestSuite(TestSplitBy.class); - suite.addTestSuite(TestQuery.class); - suite.addTestSuite(TestWhere.class); - suite.addTestSuite(TestTargetDir.class); - suite.addTestSuite(TestAppendUtils.class); - suite.addTestSuite(TestHiveImport.class); - suite.addTestSuite(TestRecordParser.class); - suite.addTestSuite(TestFieldFormatter.class); - suite.addTestSuite(TestSqoopOptions.class); - suite.addTestSuite(TestParseMethods.class); - suite.addTestSuite(TestConnFactory.class); - suite.addTestSuite(TestSplittableBufferedWriter.class); - suite.addTestSuite(TestTableDefWriter.class); - suite.addTestSuite(TestBlobRef.class); - suite.addTestSuite(TestClobRef.class); - suite.addTestSuite(TestLargeObjectLoader.class); - suite.addTestSuite(TestLobFile.class); - suite.addTestSuite(TestExportUpdate.class); - suite.addTestSuite(TestSavedJobs.class); - suite.addTestSuite(TestNamedFifo.class); - suite.addTestSuite(TestBooleanParser.class); - suite.addTestSuite(TestMerge.class); - suite.addTestSuite(TestToolPlugin.class); - suite.addTestSuite(TestExportUsingProcedure.class); - suite.addTest(MapreduceTests.suite()); - - return suite; - } - -} - http://git-wip-us.apache.org/repos/asf/sqoop/blob/4a74b8bc/src/test/com/cloudera/sqoop/TestAllTables.java ---------------------------------------------------------------------- diff --git a/src/test/com/cloudera/sqoop/TestAllTables.java b/src/test/com/cloudera/sqoop/TestAllTables.java index f981024..232b82f 100644 --- a/src/test/com/cloudera/sqoop/TestAllTables.java +++ b/src/test/com/cloudera/sqoop/TestAllTables.java @@ -35,10 +35,15 @@ import org.junit.After; import com.cloudera.sqoop.testutil.CommonArgs; import com.cloudera.sqoop.testutil.ImportJobTestCase; import com.cloudera.sqoop.tool.ImportAllTablesTool; +import org.junit.Test; import org.kitesdk.data.Dataset; import org.kitesdk.data.DatasetReader; import org.kitesdk.data.Datasets; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.fail; + /** * Test the --all-tables functionality that can import multiple tables. */ @@ -129,6 +134,7 @@ public class TestAllTables extends ImportJobTestCase { super.tearDown(); } + @Test public void testMultiTableImport() throws IOException { String [] argv = getArgv(null, null); runImport(new ImportAllTablesTool(), argv); @@ -165,6 +171,7 @@ public class TestAllTables extends ImportJobTestCase { } } + @Test public void testMultiTableImportAsParquetFormat() throws IOException { String [] argv = getArgv(new String[]{"--as-parquetfile"}, null); runImport(new ImportAllTablesTool(), argv); @@ -194,6 +201,7 @@ public class TestAllTables extends ImportJobTestCase { } } + @Test public void testMultiTableImportWithExclude() throws IOException { String exclude = this.tableNames.get(0); String [] argv = getArgv(null, new String[]{ exclude }); http://git-wip-us.apache.org/repos/asf/sqoop/blob/4a74b8bc/src/test/com/cloudera/sqoop/TestAppendUtils.java ---------------------------------------------------------------------- diff --git a/src/test/com/cloudera/sqoop/TestAppendUtils.java b/src/test/com/cloudera/sqoop/TestAppendUtils.java index b09dfc6..486afee 100644 --- a/src/test/com/cloudera/sqoop/TestAppendUtils.java +++ b/src/test/com/cloudera/sqoop/TestAppendUtils.java @@ -41,6 +41,12 @@ import com.cloudera.sqoop.testutil.HsqldbTestServer; import com.cloudera.sqoop.testutil.ImportJobTestCase; import com.cloudera.sqoop.tool.ImportTool; import com.cloudera.sqoop.util.AppendUtils; +import org.junit.Test; + +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 that --append works. @@ -245,6 +251,7 @@ public class TestAppendUtils extends ImportJobTestCase { } /** independent to target-dir. */ + @Test public void testAppend() throws IOException { ArrayList args = getOutputlessArgv(false, false, HsqldbTestServer.getFieldNames(), getConf()); args.add("--warehouse-dir"); @@ -255,6 +262,7 @@ public class TestAppendUtils extends ImportJobTestCase { } /** working with target-dir. */ + @Test public void testAppendToTargetDir() throws IOException { ArrayList args = getOutputlessArgv(false, false, HsqldbTestServer.getFieldNames(), getConf()); String targetDir = getWarehouseDir() + "/tempTargetDir"; @@ -272,6 +280,7 @@ public class TestAppendUtils extends ImportJobTestCase { * * @throws IOException */ + @Test public void testAppendWithQuery() throws IOException { ArrayList args = getOutputlessArgv(false, true, HsqldbTestServer.getFieldNames(), getConf()); String targetDir = getWarehouseDir() + "/tempTargetDir"; @@ -285,6 +294,7 @@ public class TestAppendUtils extends ImportJobTestCase { /** * If the append source does not exist, don't crash. */ + @Test public void testAppendSrcDoesNotExist() throws IOException { Configuration conf = new Configuration(); if (!isOnPhysicalCluster()) { http://git-wip-us.apache.org/repos/asf/sqoop/blob/4a74b8bc/src/test/com/cloudera/sqoop/TestAvroExport.java ---------------------------------------------------------------------- diff --git a/src/test/com/cloudera/sqoop/TestAvroExport.java b/src/test/com/cloudera/sqoop/TestAvroExport.java index 750887a..487c12b 100644 --- a/src/test/com/cloudera/sqoop/TestAvroExport.java +++ b/src/test/com/cloudera/sqoop/TestAvroExport.java @@ -19,6 +19,7 @@ package com.cloudera.sqoop; import static org.junit.Assert.assertArrayEquals; +import static org.junit.Assert.assertEquals; import com.cloudera.sqoop.testutil.BaseSqoopTestCase; import com.cloudera.sqoop.testutil.CommonArgs; @@ -37,7 +38,6 @@ import java.sql.Statement; import java.util.ArrayList; import java.util.List; -import junit.framework.JUnit4TestAdapter; import org.apache.avro.Conversions; import org.apache.avro.LogicalTypes; import org.apache.avro.Schema; @@ -50,17 +50,14 @@ import org.apache.avro.io.DatumWriter; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.Path; -import org.junit.Rule; import org.junit.Test; +import org.junit.Rule; import org.junit.rules.ExpectedException; -import org.junit.runner.RunWith; -import org.junit.runners.JUnit4; /** * Test that we can export Avro Data Files from HDFS into databases. */ -@RunWith(JUnit4.class) public class TestAvroExport extends ExportJobTestCase { @Rule @@ -533,9 +530,4 @@ public class TestAvroExport extends ExportJobTestCase { assertColValForRowId(9, "col3", null); } - //workaround: ant kept falling back to JUnit3 - public static junit.framework.Test suite() { - return new JUnit4TestAdapter(TestAvroExport.class); - } - } http://git-wip-us.apache.org/repos/asf/sqoop/blob/4a74b8bc/src/test/com/cloudera/sqoop/TestAvroImport.java ---------------------------------------------------------------------- diff --git a/src/test/com/cloudera/sqoop/TestAvroImport.java b/src/test/com/cloudera/sqoop/TestAvroImport.java index 0a64b52..26edd4c 100644 --- a/src/test/com/cloudera/sqoop/TestAvroImport.java +++ b/src/test/com/cloudera/sqoop/TestAvroImport.java @@ -45,6 +45,12 @@ import com.cloudera.sqoop.testutil.BaseSqoopTestCase; import com.cloudera.sqoop.testutil.CommonArgs; import com.cloudera.sqoop.testutil.HsqldbTestServer; import com.cloudera.sqoop.testutil.ImportJobTestCase; +import org.junit.Test; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNull; +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; /** * Tests --as-avrodatafile. @@ -84,22 +90,26 @@ public class TestAvroImport extends ImportJobTestCase { return args.toArray(new String[0]); } + @Test public void testAvroImport() throws IOException { this.setCurTableName("Avro_Import_Test"); avroImportTestHelper(null, null); } + @Test public void testDeflateCompressedAvroImport() throws IOException { this.setCurTableName("Deflate_Compressed_Avro_Import_Test_1"); avroImportTestHelper(new String[] {"--compression-codec", "org.apache.hadoop.io.compress.DefaultCodec", }, "deflate"); } + @Test public void testDefaultCompressedAvroImport() throws IOException { this.setCurTableName("Deflate_Compressed_Avro_Import_Test_2"); avroImportTestHelper(new String[] {"--compress", }, "deflate"); } + @Test public void testUnsupportedCodec() throws IOException { try { this.setCurTableName("Deflate_Compressed_Avro_Import_Test_3"); @@ -169,6 +179,7 @@ public class TestAvroImport extends ImportJobTestCase { checkSchemaFile(schema); } + @Test public void testOverrideTypeMapping() throws IOException { String [] types = { "INT" }; String [] vals = { "10" }; @@ -191,6 +202,7 @@ public class TestAvroImport extends ImportJobTestCase { assertEquals("DATA_COL0", new Utf8("10"), record1.get("DATA_COL0")); } + @Test public void testFirstUnderscoreInColumnName() throws IOException { String [] names = { "_NAME" }; String [] types = { "INT" }; @@ -212,6 +224,7 @@ public class TestAvroImport extends ImportJobTestCase { assertEquals("__NAME", 1987, record1.get("__NAME")); } + @Test public void testNonstandardCharactersInColumnName() throws IOException { String [] names = { "avro\uC3A11" }; String [] types = { "INT" }; @@ -234,6 +247,7 @@ public class TestAvroImport extends ImportJobTestCase { assertEquals("AVRO\uC3A11", 1987, record1.get("AVRO\uC3A11")); } + @Test public void testNonIdentCharactersInColumnName() throws IOException { String [] names = { "test_a-v+r/o" }; String [] types = { "INT" }; @@ -258,6 +272,7 @@ public class TestAvroImport extends ImportJobTestCase { /* * Test Case For checking multiple columns having non standard characters in multiple columns */ + @Test public void testNonstandardCharactersInMultipleColumns() throws IOException { String[] names = { "id$1", "id1$" }; String[] types = { "INT", "INT" }; @@ -289,6 +304,7 @@ public class TestAvroImport extends ImportJobTestCase { assertEquals(type, field.schema().getTypes().get(1).getType()); } + @Test public void testNullableAvroImport() throws IOException, SQLException { String [] types = { "INT" }; String [] vals = { null }; http://git-wip-us.apache.org/repos/asf/sqoop/blob/4a74b8bc/src/test/com/cloudera/sqoop/TestAvroImportExportRoundtrip.java ---------------------------------------------------------------------- diff --git a/src/test/com/cloudera/sqoop/TestAvroImportExportRoundtrip.java b/src/test/com/cloudera/sqoop/TestAvroImportExportRoundtrip.java index fd4275d..8e718c3 100644 --- a/src/test/com/cloudera/sqoop/TestAvroImportExportRoundtrip.java +++ b/src/test/com/cloudera/sqoop/TestAvroImportExportRoundtrip.java @@ -34,6 +34,9 @@ import java.util.List; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.hadoop.util.StringUtils; +import org.junit.Test; + +import static org.junit.Assert.assertEquals; /** * Tests importing a database table as an Avro Data File then back to the @@ -44,6 +47,7 @@ public class TestAvroImportExportRoundtrip extends ImportJobTestCase { public static final Log LOG = LogFactory .getLog(TestAvroImportExportRoundtrip.class.getName()); + @Test public void testRoundtripQuery() throws IOException, SQLException { String[] argv = {}; @@ -55,6 +59,7 @@ public class TestAvroImportExportRoundtrip extends ImportJobTestCase { checkFirstColumnSum(); } + @Test public void testRoundtrip() throws IOException, SQLException { String[] argv = {}; @@ -158,13 +163,6 @@ public class TestAvroImportExportRoundtrip extends ImportJobTestCase { return args.toArray(new String[0]); } - /** - * Create the argv to pass to Sqoop. - * @param includeHadoopFlags if true, then include -D various.settings=values - * @param rowsPerStmt number of rows to export in a single INSERT statement. - * @param statementsPerTx ## of statements to use in a transaction. - * @return the argv as an array of strings. - */ protected ArrayList<String> formatAdditionalArgs(String... additionalArgv) { ArrayList<String> args = new ArrayList<String>(); http://git-wip-us.apache.org/repos/asf/sqoop/blob/4a74b8bc/src/test/com/cloudera/sqoop/TestBoundaryQuery.java ---------------------------------------------------------------------- diff --git a/src/test/com/cloudera/sqoop/TestBoundaryQuery.java b/src/test/com/cloudera/sqoop/TestBoundaryQuery.java index 99f652e..925bec3 100644 --- a/src/test/com/cloudera/sqoop/TestBoundaryQuery.java +++ b/src/test/com/cloudera/sqoop/TestBoundaryQuery.java @@ -34,6 +34,10 @@ import com.cloudera.sqoop.testutil.ImportJobTestCase; import com.cloudera.sqoop.testutil.SeqFileReader; 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 --boundary-query works in Sqoop. @@ -164,6 +168,7 @@ public class TestBoundaryQuery extends ImportJobTestCase { } } + @Test public void testBoundaryQuery() throws IOException { System.out.println("PCYO"); String query = "select min(intfield1), max(intfield1) from " @@ -173,6 +178,7 @@ public class TestBoundaryQuery extends ImportJobTestCase { "--m", "1", "--split-by", "INTFIELD1"); } + @Test public void testNoBoundaryQuerySingleMapper() throws IOException { runQueryTest(null, false, 4, 16, getTablePath().toString(), http://git-wip-us.apache.org/repos/asf/sqoop/blob/4a74b8bc/src/test/com/cloudera/sqoop/TestCompression.java ---------------------------------------------------------------------- diff --git a/src/test/com/cloudera/sqoop/TestCompression.java b/src/test/com/cloudera/sqoop/TestCompression.java index 841f054..7110510 100644 --- a/src/test/com/cloudera/sqoop/TestCompression.java +++ b/src/test/com/cloudera/sqoop/TestCompression.java @@ -42,6 +42,10 @@ import org.apache.hadoop.io.compress.BZip2Codec; import org.apache.hadoop.io.compress.CompressionCodec; import org.apache.hadoop.io.compress.GzipCodec; import org.apache.hadoop.util.ReflectionUtils; +import org.junit.Test; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; /** * Test that compression options (--compress, --compression-codec) work. @@ -181,14 +185,17 @@ public class TestCompression extends ImportJobTestCase { assertEquals(expectedNum, numLines); } + @Test public void testDefaultTextCompression() throws IOException { runTextCompressionTest(null, 4); } + @Test public void testBzip2TextCompression() throws IOException { runTextCompressionTest(new BZip2Codec(), 4); } + @Test public void testBzip2SequenceFileCompression() throws Exception { runSequenceFileCompressionTest(new BZip2Codec(), 4); } http://git-wip-us.apache.org/repos/asf/sqoop/blob/4a74b8bc/src/test/com/cloudera/sqoop/TestConnFactory.java ---------------------------------------------------------------------- diff --git a/src/test/com/cloudera/sqoop/TestConnFactory.java b/src/test/com/cloudera/sqoop/TestConnFactory.java index ff41706..62035cb 100644 --- a/src/test/com/cloudera/sqoop/TestConnFactory.java +++ b/src/test/com/cloudera/sqoop/TestConnFactory.java @@ -24,9 +24,6 @@ import java.sql.ResultSet; import java.util.List; import java.util.Map; -import junit.framework.JUnit4TestAdapter; -import junit.framework.TestCase; - import org.apache.hadoop.conf.Configuration; import com.cloudera.sqoop.manager.ConnManager; @@ -34,22 +31,22 @@ import com.cloudera.sqoop.manager.ImportJobContext; import com.cloudera.sqoop.manager.ManagerFactory; import com.cloudera.sqoop.metastore.JobData; import com.cloudera.sqoop.tool.ImportTool; -import org.junit.Rule; import org.junit.Test; + +import static org.junit.Assert.assertNotNull; +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 ConnFactory implementation and its ability to delegate to multiple * different ManagerFactory implementations using reflection. */ -@RunWith(JUnit4.class) -public class TestConnFactory extends TestCase { + +public class TestConnFactory { @Rule public ExpectedException thrown = ExpectedException.none(); - @Test public void testCustomFactory() throws IOException { Configuration conf = new Configuration(); @@ -64,6 +61,7 @@ public class TestConnFactory extends TestCase { } @Test + public void testExceptionForNoManager() throws IOException { Configuration conf = new Configuration(); conf.set(ConnFactory.FACTORY_CLASS_NAMES_KEY, EmptyFactory.class.getName()); @@ -196,8 +194,4 @@ public class TestConnFactory extends TestCase { } } - //workaround: ant kept falling back to JUnit3 - public static junit.framework.Test suite() { - return new JUnit4TestAdapter(TestConnFactory.class); - } } http://git-wip-us.apache.org/repos/asf/sqoop/blob/4a74b8bc/src/test/com/cloudera/sqoop/TestDirectImport.java ---------------------------------------------------------------------- diff --git a/src/test/com/cloudera/sqoop/TestDirectImport.java b/src/test/com/cloudera/sqoop/TestDirectImport.java index f48c112..927b1fe 100644 --- a/src/test/com/cloudera/sqoop/TestDirectImport.java +++ b/src/test/com/cloudera/sqoop/TestDirectImport.java @@ -21,17 +21,13 @@ package com.cloudera.sqoop; import com.cloudera.sqoop.testutil.CommonArgs; import com.cloudera.sqoop.testutil.HsqldbTestServer; import com.cloudera.sqoop.testutil.ImportJobTestCase; -import junit.framework.JUnit4TestAdapter; import org.junit.Rule; import org.junit.Test; import org.junit.rules.ExpectedException; -import org.junit.runner.RunWith; - import java.io.IOException; import java.util.ArrayList; -@RunWith(value = org.junit.runners.JUnit4.class) public class TestDirectImport extends ImportJobTestCase { @Rule @@ -81,8 +77,5 @@ public class TestDirectImport extends ImportJobTestCase { runImport(argv); } - //workaround: ant kept falling back to JUnit3 - public static junit.framework.Test suite() { - return new JUnit4TestAdapter(TestDirectImport.class); - } + } http://git-wip-us.apache.org/repos/asf/sqoop/blob/4a74b8bc/src/test/com/cloudera/sqoop/TestExport.java ---------------------------------------------------------------------- diff --git a/src/test/com/cloudera/sqoop/TestExport.java b/src/test/com/cloudera/sqoop/TestExport.java index 00d17c2..df5a663 100644 --- a/src/test/com/cloudera/sqoop/TestExport.java +++ b/src/test/com/cloudera/sqoop/TestExport.java @@ -50,6 +50,11 @@ import com.cloudera.sqoop.lib.SqoopRecord; import com.cloudera.sqoop.testutil.ExportJobTestCase; import com.cloudera.sqoop.tool.CodeGenTool; import com.cloudera.sqoop.util.ClassLoaderStack; +import org.junit.Test; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; /** * Test that we can export data from HDFS into databases. @@ -454,11 +459,13 @@ public class TestExport extends ExportJobTestCase { /** * Run an "export" on an empty file. */ + @Test public void testEmptyExport() throws IOException, SQLException { multiFileTest(1, 0, 1); } /** Export 10 rows, make sure they load in correctly. */ + @Test public void testTextExport() throws IOException, SQLException { multiFileTest(1, 10, 1); } @@ -466,6 +473,7 @@ public class TestExport extends ExportJobTestCase { /** Make sure we can use CombineFileInputFormat to handle multiple * files in a single mapper. */ + @Test public void testMultiFilesOneMapper() throws IOException, SQLException { multiFileTest(2, 10, 1); } @@ -473,11 +481,13 @@ public class TestExport extends ExportJobTestCase { /** Make sure we can use CombineFileInputFormat to handle multiple * files and multiple maps. */ + @Test public void testMultiFilesMultiMaps() throws IOException, SQLException { multiFileTest(2, 10, 2); } /** Export 10 rows from gzipped text files. */ + @Test public void testGzipExport() throws IOException, SQLException { LOG.info("Beginning gzip export test"); @@ -494,6 +504,7 @@ public class TestExport extends ExportJobTestCase { /** * Ensure that we use multiple statements in a transaction. */ + @Test public void testMultiStatement() throws IOException, SQLException { final int TOTAL_RECORDS = 20; createTextFile(0, TOTAL_RECORDS, true); @@ -505,6 +516,7 @@ public class TestExport extends ExportJobTestCase { /** * Ensure that we use multiple transactions in a single mapper. */ + @Test public void testMultiTransaction() throws IOException, SQLException { final int TOTAL_RECORDS = 20; createTextFile(0, TOTAL_RECORDS, true); @@ -518,6 +530,7 @@ public class TestExport extends ExportJobTestCase { * @throws IOException * @throws SQLException */ + @Test public void testMultiTransactionWithStaging() throws IOException, SQLException { final int TOTAL_RECORDS = 20; @@ -532,6 +545,7 @@ public class TestExport extends ExportJobTestCase { * Ensure that when we don't force a commit with a statement cap, * it happens anyway. */ + @Test public void testUnlimitedTransactionSize() throws IOException, SQLException { final int TOTAL_RECORDS = 20; createTextFile(0, TOTAL_RECORDS, true); @@ -541,6 +555,7 @@ public class TestExport extends ExportJobTestCase { } /** Run 2 mappers, make sure all records load in correctly. */ + @Test public void testMultiMapTextExport() throws IOException, SQLException { final int RECORDS_PER_MAP = 10; @@ -559,6 +574,7 @@ public class TestExport extends ExportJobTestCase { * Run 2 mappers with staging enabled, * make sure all records load in correctly. */ + @Test public void testMultiMapTextExportWithStaging() throws IOException, SQLException { @@ -576,6 +592,7 @@ public class TestExport extends ExportJobTestCase { } /** Export some rows from a SequenceFile, make sure they import correctly. */ + @Test public void testSequenceFileExport() throws Exception { final int TOTAL_RECORDS = 10; @@ -640,6 +657,7 @@ public class TestExport extends ExportJobTestCase { } } + @Test public void testIntCol() throws IOException, SQLException { final int TOTAL_RECORDS = 10; @@ -668,6 +686,7 @@ public class TestExport extends ExportJobTestCase { return "BIGINT"; } + @Test public void testBigIntCol() throws IOException, SQLException { final int TOTAL_RECORDS = 10; @@ -737,6 +756,7 @@ public class TestExport extends ExportJobTestCase { }; } + @Test public void testDatesAndTimes() throws IOException, SQLException { final int TOTAL_RECORDS = 10; @@ -751,6 +771,7 @@ public class TestExport extends ExportJobTestCase { assertColMinAndMax(forIdx(1), genTime); } + @Test public void testNumericTypes() throws IOException, SQLException { final int TOTAL_RECORDS = 9; @@ -794,6 +815,7 @@ public class TestExport extends ExportJobTestCase { assertColMinAndMax(forIdx(1), genNumeric); } + @Test public void testColumnsExport() throws IOException, SQLException { testColumnsExport("ID,MSG," + forIdx(0) + "," + forIdx(2)); } http://git-wip-us.apache.org/repos/asf/sqoop/blob/4a74b8bc/src/test/com/cloudera/sqoop/TestExportUpdate.java ---------------------------------------------------------------------- diff --git a/src/test/com/cloudera/sqoop/TestExportUpdate.java b/src/test/com/cloudera/sqoop/TestExportUpdate.java index 33a176a..81f3a68 100644 --- a/src/test/com/cloudera/sqoop/TestExportUpdate.java +++ b/src/test/com/cloudera/sqoop/TestExportUpdate.java @@ -27,7 +27,6 @@ import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; -import junit.framework.JUnit4TestAdapter; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.Path; @@ -35,17 +34,19 @@ import org.apache.hadoop.util.StringUtils; import com.cloudera.sqoop.testutil.CommonArgs; import com.cloudera.sqoop.testutil.ExportJobTestCase; + +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.Test; import org.junit.rules.ExpectedException; -import org.junit.runner.RunWith; -import org.junit.runners.JUnit4; /** * Test that we can update a copy of data in the database, * based on newer data in HDFS. */ -@RunWith(JUnit4.class) public class TestExportUpdate extends ExportJobTestCase { @Rule @@ -705,9 +706,4 @@ public class TestExportUpdate extends ExportJobTestCase { "--update-key", "A", "--columns", "B")); } - //workaround: ant kept falling back to JUnit3 - public static junit.framework.Test suite() { - return new JUnit4TestAdapter(TestExportUpdate.class); - } - } http://git-wip-us.apache.org/repos/asf/sqoop/blob/4a74b8bc/src/test/com/cloudera/sqoop/TestFreeFormQueryImport.java ---------------------------------------------------------------------- diff --git a/src/test/com/cloudera/sqoop/TestFreeFormQueryImport.java b/src/test/com/cloudera/sqoop/TestFreeFormQueryImport.java index 81f1c59..4f9e652 100644 --- a/src/test/com/cloudera/sqoop/TestFreeFormQueryImport.java +++ b/src/test/com/cloudera/sqoop/TestFreeFormQueryImport.java @@ -36,6 +36,10 @@ import org.apache.hadoop.io.IOUtils; import com.cloudera.sqoop.testutil.CommonArgs; import com.cloudera.sqoop.testutil.ImportJobTestCase; +import org.junit.After; +import org.junit.Test; + +import static org.junit.Assert.assertEquals; /** * Test free form query import. @@ -58,7 +62,7 @@ public class TestFreeFormQueryImport extends ImportJobTestCase { /** the names of the tables we're creating. */ private List<String> tableNames; - @Override + @After public void tearDown() { // Clean up the database on our way out. for (String tableName : tableNames) { @@ -102,6 +106,7 @@ public class TestFreeFormQueryImport extends ImportJobTestCase { * import on the result table that is created by joining the two tables on * the id column. */ + @Test public void testSimpleJoin() throws IOException { tableNames = new ArrayList<String>(); http://git-wip-us.apache.org/repos/asf/sqoop/blob/4a74b8bc/src/test/com/cloudera/sqoop/TestIncrementalImport.java ---------------------------------------------------------------------- diff --git a/src/test/com/cloudera/sqoop/TestIncrementalImport.java b/src/test/com/cloudera/sqoop/TestIncrementalImport.java index d62532c..57f4433 100644 --- a/src/test/com/cloudera/sqoop/TestIncrementalImport.java +++ b/src/test/com/cloudera/sqoop/TestIncrementalImport.java @@ -30,7 +30,7 @@ import java.sql.Timestamp; import java.util.ArrayList; import java.util.Arrays; import java.util.List; -import junit.framework.TestCase; + import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.hadoop.conf.Configuration; @@ -48,8 +48,11 @@ import com.cloudera.sqoop.testutil.BaseSqoopTestCase; import com.cloudera.sqoop.testutil.CommonArgs; import com.cloudera.sqoop.tool.ImportTool; import com.cloudera.sqoop.tool.JobTool; +import org.junit.Before; +import org.junit.Test; + -import javax.management.Query; +import static org.junit.Assert.*; /** * Test the incremental import functionality. @@ -58,7 +61,8 @@ import javax.management.Query; * The metastore URL is configured to be in-memory, and drop all * state between individual tests. */ -public class TestIncrementalImport extends TestCase { + +public class TestIncrementalImport { public static final Log LOG = LogFactory.getLog( TestIncrementalImport.class.getName()); @@ -66,7 +70,7 @@ public class TestIncrementalImport extends TestCase { // What database do we read from. public static final String SOURCE_DB_URL = "jdbc:hsqldb:mem:incremental"; - @Override + @Before public void setUp() throws Exception { // Delete db state between tests. TestSavedJobs.resetJobSchema(); @@ -645,6 +649,7 @@ public class TestIncrementalImport extends TestCase { } // Incremental import of an empty table, no metastore. + @Test public void testEmptyAppendImport() throws Exception { final String TABLE_NAME = "emptyAppend1"; createIdTable(TABLE_NAME, 0); @@ -659,6 +664,7 @@ public class TestIncrementalImport extends TestCase { } // Incremental import of a filled table, no metastore. + @Test public void testFullAppendImport() throws Exception { final String TABLE_NAME = "fullAppend1"; createIdTable(TABLE_NAME, 10); @@ -672,6 +678,7 @@ public class TestIncrementalImport extends TestCase { assertDirOfNumbers(TABLE_NAME, 10); } + @Test public void testEmptyJobAppend() throws Exception { // Create a job and run an import on an empty table. // Nothing should happen. @@ -690,6 +697,7 @@ public class TestIncrementalImport extends TestCase { assertDirOfNumbers(TABLE_NAME, 0); } + @Test public void testEmptyThenFullJobAppend() throws Exception { // Create an empty table. Import it; nothing happens. // Add some rows. Verify they are appended. @@ -717,6 +725,7 @@ public class TestIncrementalImport extends TestCase { assertDirOfNumbers(TABLE_NAME, 20); } + @Test public void testEmptyThenFullJobAppendWithQuery() throws Exception { // Create an empty table. Import it; nothing happens. // Add some rows. Verify they are appended. @@ -748,6 +757,7 @@ public class TestIncrementalImport extends TestCase { assertDirOfNumbers(TABLE_NAME, 20); } + @Test public void testAppend() throws Exception { // Create a table with data in it; import it. // Then add more data, verify that only the incremental data is pulled. @@ -768,6 +778,7 @@ public class TestIncrementalImport extends TestCase { assertDirOfNumbers(TABLE_NAME, 20); } + @Test public void testEmptyLastModified() throws Exception { final String TABLE_NAME = "emptyLastModified"; createTimestampTable(TABLE_NAME, 0, null); @@ -781,6 +792,7 @@ public class TestIncrementalImport extends TestCase { assertDirOfNumbers(TABLE_NAME, 0); } + @Test public void testEmptyLastModifiedWithNonExistingParentDirectory() throws Exception { final String TABLE_NAME = "emptyLastModifiedNoParent"; final String QUERY = "SELECT id, last_modified FROM \"" + TABLE_NAME + "\" WHERE $CONDITIONS"; @@ -796,6 +808,7 @@ public class TestIncrementalImport extends TestCase { assertDirOfNumbers(DIRECTORY, 0); } + @Test public void testFullLastModifiedImport() throws Exception { // Given a table of rows imported in the past, // see that they are imported. @@ -813,6 +826,7 @@ public class TestIncrementalImport extends TestCase { assertDirOfNumbers(TABLE_NAME, 10); } + @Test public void testNoImportFromTheFuture() throws Exception { // If last-modified dates for writes are serialized to be in the // future w.r.t. an import, do not import these rows. @@ -831,6 +845,7 @@ public class TestIncrementalImport extends TestCase { assertDirOfNumbers(TABLE_NAME, 0); } + @Test public void testEmptyJobLastMod() throws Exception { // Create a job and run an import on an empty table. // Nothing should happen. @@ -850,6 +865,7 @@ public class TestIncrementalImport extends TestCase { assertDirOfNumbers(TABLE_NAME, 0); } + @Test public void testEmptyThenFullJobLastMod() throws Exception { // Create an empty table. Import it; nothing happens. // Add some rows. Verify they are appended. @@ -894,6 +910,7 @@ public class TestIncrementalImport extends TestCase { assertDirOfNumbers(TABLE_NAME, 20); } + @Test public void testAppendWithTimestamp() throws Exception { // Create a table with data in it; import it. // Then add more data, verify that only the incremental data is pulled. @@ -921,6 +938,7 @@ public class TestIncrementalImport extends TestCase { assertDirOfNumbers(TABLE_NAME, 20); } + @Test public void testAppendWithString() throws Exception { // Create a table with string column in it; // incrementally import it on the string column - it should fail. @@ -939,7 +957,7 @@ public class TestIncrementalImport extends TestCase { //expected } } - + @Test public void testModifyWithTimestamp() throws Exception { // Create a table with data in it; import it. // Then modify some existing rows, and verify that we only grab @@ -981,7 +999,7 @@ public class TestIncrementalImport extends TestCase { runJob(TABLE_NAME); assertFirstSpecificNumber(TABLE_NAME, 4000); } - + @Test public void testUpdateModifyWithTimestamp() throws Exception { // Create a table with data in it; import it. // Then modify some existing rows, and verify that we only grab @@ -1033,6 +1051,7 @@ public class TestIncrementalImport extends TestCase { assertSpecificNumber(TABLE_NAME, 4000); } + @Test public void testUpdateModifyWithTimestampWithQuery() throws Exception { // Create an empty table. Import it; nothing happens. // Add some rows. Verify they are appended. @@ -1086,6 +1105,7 @@ public class TestIncrementalImport extends TestCase { assertSpecificNumber(TABLE_NAME, 4000); } + @Test public void testUpdateModifyWithTimestampJob() throws Exception { // Create a table with data in it; import it. // Then modify some existing rows, and verify that we only grab @@ -1162,6 +1182,7 @@ public class TestIncrementalImport extends TestCase { } } + @Test public void testTimestampBoundary() throws Exception { // Run an import, and then insert rows with the last-modified timestamp // set to the exact time when the first import runs. Run a second import @@ -1200,6 +1221,7 @@ public class TestIncrementalImport extends TestCase { assertDirOfNumbers(TABLE_NAME, 20); } + @Test public void testIncrementalAppendTimestamp() throws Exception { // Run an import, and then insert rows with the last-modified timestamp // set to the exact time when the first import runs. Run a second import @@ -1236,7 +1258,7 @@ public class TestIncrementalImport extends TestCase { runJob(TABLE_NAME); assertDirOfNumbers(TABLE_NAME, 20); } - + @Test public void testIncrementalHiveAppendEmptyThenFull() throws Exception { // This is to test Incremental Hive append feature. SQOOP-2470 final String TABLE_NAME = "incrementalHiveAppendEmptyThenFull"; @@ -1296,6 +1318,7 @@ public class TestIncrementalImport extends TestCase { } // SQOOP-1890 + @Test public void testTableNameWithSpecialCharacters() throws Exception { // Table name with special characters to verify proper table name escaping final String TABLE_NAME = "my-table.ext"; http://git-wip-us.apache.org/repos/asf/sqoop/blob/4a74b8bc/src/test/com/cloudera/sqoop/TestMerge.java ---------------------------------------------------------------------- diff --git a/src/test/com/cloudera/sqoop/TestMerge.java b/src/test/com/cloudera/sqoop/TestMerge.java index 1709419..114e934 100644 --- a/src/test/com/cloudera/sqoop/TestMerge.java +++ b/src/test/com/cloudera/sqoop/TestMerge.java @@ -52,6 +52,10 @@ import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FileStatus; import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.Path; +import org.junit.Before; +import org.junit.Test; + +import static org.junit.Assert.fail; /** * Test that the merge tool works. @@ -79,7 +83,7 @@ public class TestMerge extends BaseSqoopTestCase { Arrays.asList(new Integer(1), new Integer(43)), Arrays.asList(new Integer(3), new Integer(313))); - @Override + @Before public void setUp() { super.setUp(); manager = getManager(); @@ -145,10 +149,12 @@ public class TestMerge extends BaseSqoopTestCase { conn.commit(); } + @Test public void testTextFileMerge() throws Exception { runMergeTest(SqoopOptions.FileLayout.TextFile); } + @Test public void testAvroFileMerge() throws Exception { runMergeTest(SqoopOptions.FileLayout.AvroDataFile); } http://git-wip-us.apache.org/repos/asf/sqoop/blob/4a74b8bc/src/test/com/cloudera/sqoop/TestMultiCols.java ---------------------------------------------------------------------- diff --git a/src/test/com/cloudera/sqoop/TestMultiCols.java b/src/test/com/cloudera/sqoop/TestMultiCols.java index e165cfe..94721b8 100644 --- a/src/test/com/cloudera/sqoop/TestMultiCols.java +++ b/src/test/com/cloudera/sqoop/TestMultiCols.java @@ -24,6 +24,7 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import com.cloudera.sqoop.testutil.ImportJobTestCase; +import org.junit.Test; /** * Test cases that import rows containing multiple columns, @@ -40,11 +41,8 @@ public class TestMultiCols extends ImportJobTestCase { * Do a full import verification test on a table containing one row. * @param types the types of the columns to insert * @param insertVals the SQL text to use to insert each value - * @param validateVals the text to expect when retrieving each value from - * the db * @param validateLine the text to expect as a toString() of the entire row, * as imported by the tool - * @param importColumns The list of columns to import */ private void verifyTypes(String [] types , String [] insertVals, String validateLine) { @@ -59,6 +57,7 @@ public class TestMultiCols extends ImportJobTestCase { LOG.debug("Verified input line as " + validateLine + " -- ok!"); } + @Test public void testThreeStrings() { String [] types = { "VARCHAR(32)", "VARCHAR(32)", "VARCHAR(32)" }; String [] insertVals = { "'foo'", "'bar'", "'baz'" }; @@ -67,6 +66,7 @@ public class TestMultiCols extends ImportJobTestCase { verifyTypes(types, insertVals, validateLine); } + @Test public void testStringsWithNull1() { String [] types = { "VARCHAR(32)", "VARCHAR(32)", "VARCHAR(32)" }; String [] insertVals = { "'foo'", "null", "'baz'" }; @@ -75,6 +75,7 @@ public class TestMultiCols extends ImportJobTestCase { verifyTypes(types, insertVals, validateLine); } + @Test public void testStringsWithNull2() { String [] types = { "VARCHAR(32)", "VARCHAR(32)", "VARCHAR(32)" }; String [] insertVals = { "null", "'foo'", "'baz'" }; @@ -83,6 +84,7 @@ public class TestMultiCols extends ImportJobTestCase { verifyTypes(types, insertVals, validateLine); } + @Test public void testStringsWithNull3() { String [] types = { "VARCHAR(32)", "VARCHAR(32)", "VARCHAR(32)" }; String [] insertVals = { "'foo'", "'baz'", "null"}; @@ -91,6 +93,7 @@ public class TestMultiCols extends ImportJobTestCase { verifyTypes(types, insertVals, validateLine); } + @Test public void testThreeInts() { String [] types = { "INTEGER", "INTEGER", "INTEGER" }; String [] insertVals = { "1", "2", "3" }; @@ -99,6 +102,7 @@ public class TestMultiCols extends ImportJobTestCase { verifyTypes(types, insertVals, validateLine); } + @Test public void testIntsWithNulls() { String [] types = { "INTEGER", "INTEGER", "INTEGER" }; String [] insertVals = { "1", "null", "3" }; @@ -107,6 +111,7 @@ public class TestMultiCols extends ImportJobTestCase { verifyTypes(types, insertVals, validateLine); } + @Test public void testMixed1() { String [] types = { "INTEGER", "VARCHAR(32)", "DATE" }; String [] insertVals = { "1", "'meep'", "'2009-12-31'" }; @@ -115,6 +120,7 @@ public class TestMultiCols extends ImportJobTestCase { verifyTypes(types, insertVals, validateLine); } + @Test public void testMixed2() { String [] types = { "INTEGER", "VARCHAR(32)", "DATE" }; String [] insertVals = { "null", "'meep'", "'2009-12-31'" }; @@ -123,6 +129,7 @@ public class TestMultiCols extends ImportJobTestCase { verifyTypes(types, insertVals, validateLine); } + @Test public void testMixed3() { String [] types = { "INTEGER", "VARCHAR(32)", "DATE" }; String [] insertVals = { "1", "'meep'", "null" }; @@ -131,6 +138,7 @@ public class TestMultiCols extends ImportJobTestCase { verifyTypes(types, insertVals, validateLine); } + @Test public void testMixed4() { String [] types = { "NUMERIC", "INTEGER", "NUMERIC" }; String [] insertVals = { "-42", "17", "33333333333333333333333.1714" }; @@ -139,6 +147,7 @@ public class TestMultiCols extends ImportJobTestCase { verifyTypes(types, insertVals, validateLine); } + @Test public void testMixed5() { String [] types = { "NUMERIC", "INTEGER", "NUMERIC" }; String [] insertVals = { "null", "17", "33333333333333333333333.0" }; @@ -147,6 +156,7 @@ public class TestMultiCols extends ImportJobTestCase { verifyTypes(types, insertVals, validateLine); } + @Test public void testMixed6() { String [] types = { "NUMERIC", "INTEGER", "NUMERIC" }; String [] insertVals = { "33333333333333333333333", "17", "-42"}; @@ -160,6 +170,7 @@ public class TestMultiCols extends ImportJobTestCase { // we can selectively import only certain columns. ////////////////////////////////////////////////////////////////////////// + @Test public void testSkipFirstCol() { String [] types = { "NUMERIC", "INTEGER", "NUMERIC" }; String [] insertVals = { "33333333333333333333333", "17", "-42"}; @@ -170,6 +181,7 @@ public class TestMultiCols extends ImportJobTestCase { verifyTypes(types, insertVals, validateLine, loadCols); } + @Test public void testSkipSecondCol() { String [] types = { "NUMERIC", "INTEGER", "NUMERIC" }; String [] insertVals = { "33333333333333333333333", "17", "-42"}; @@ -180,6 +192,7 @@ public class TestMultiCols extends ImportJobTestCase { verifyTypes(types, insertVals, validateLine, loadCols); } + @Test public void testSkipThirdCol() { String [] types = { "NUMERIC", "INTEGER", "NUMERIC" }; String [] insertVals = { "33333333333333333333333", "17", "-42"}; @@ -198,6 +211,7 @@ public class TestMultiCols extends ImportJobTestCase { * * @throws IOException */ + @Test public void testSingleColumnsArg() throws IOException { String [] types = { "VARCHAR(32)", "VARCHAR(32)", "VARCHAR(32)" }; String [] insertVals = { "'foo'", "'bar'", "'baz'" }; @@ -215,6 +229,7 @@ public class TestMultiCols extends ImportJobTestCase { * * @throws IOException */ + @Test public void testColumnsWithSpaces() throws IOException { String [] types = { "VARCHAR(32)", "VARCHAR(32)", "VARCHAR(32)" }; String [] insertVals = { "'foo'", "'bar'", "'baz'" }; http://git-wip-us.apache.org/repos/asf/sqoop/blob/4a74b8bc/src/test/com/cloudera/sqoop/TestMultiMaps.java ---------------------------------------------------------------------- diff --git a/src/test/com/cloudera/sqoop/TestMultiMaps.java b/src/test/com/cloudera/sqoop/TestMultiMaps.java index ac23229..c5f487b 100644 --- a/src/test/com/cloudera/sqoop/TestMultiMaps.java +++ b/src/test/com/cloudera/sqoop/TestMultiMaps.java @@ -37,6 +37,10 @@ import com.cloudera.sqoop.SqoopOptions.InvalidOptionsException; import com.cloudera.sqoop.orm.CompilationManager; 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 using multiple mapper splits works. @@ -177,6 +181,7 @@ public class TestMultiMaps extends ImportJobTestCase { } } + @Test public void testSplitByFirstCol() throws IOException { runMultiMapTest("INTFIELD1", HsqldbTestServer.getFirstColSum()); } http://git-wip-us.apache.org/repos/asf/sqoop/blob/4a74b8bc/src/test/com/cloudera/sqoop/TestParquetExport.java ---------------------------------------------------------------------- diff --git a/src/test/com/cloudera/sqoop/TestParquetExport.java b/src/test/com/cloudera/sqoop/TestParquetExport.java index 94122f6..3c3db33 100644 --- a/src/test/com/cloudera/sqoop/TestParquetExport.java +++ b/src/test/com/cloudera/sqoop/TestParquetExport.java @@ -20,16 +20,14 @@ package com.cloudera.sqoop; import com.cloudera.sqoop.testutil.ExportJobTestCase; import com.google.common.collect.Lists; -import junit.framework.JUnit4TestAdapter; import org.apache.avro.Schema; import org.apache.avro.Schema.Field; import org.apache.avro.generic.GenericData; import org.apache.avro.generic.GenericRecord; import org.junit.Rule; + import org.junit.Test; import org.junit.rules.ExpectedException; -import org.junit.runner.RunWith; -import org.junit.runners.JUnit4; import org.kitesdk.data.*; import java.io.IOException; @@ -43,11 +41,12 @@ import java.util.ArrayList; import java.util.List; import static org.junit.Assert.assertArrayEquals; +import static org.junit.Assert.assertEquals; + /** * Test that we can export Parquet Data Files from HDFS into databases. */ -@RunWith(JUnit4.class) public class TestParquetExport extends ExportJobTestCase { @Rule @@ -453,9 +452,5 @@ public class TestParquetExport extends ExportJobTestCase { runExport(getArgv(true, 10, 10, newStrArray(argv, "-m", "" + 1))); } - //workaround: ant kept falling back to JUnit3 - public static junit.framework.Test suite() { - return new JUnit4TestAdapter(TestParquetExport.class); - } } http://git-wip-us.apache.org/repos/asf/sqoop/blob/4a74b8bc/src/test/com/cloudera/sqoop/TestParquetImport.java ---------------------------------------------------------------------- diff --git a/src/test/com/cloudera/sqoop/TestParquetImport.java b/src/test/com/cloudera/sqoop/TestParquetImport.java index 2a6dd6c..4ff025b 100644 --- a/src/test/com/cloudera/sqoop/TestParquetImport.java +++ b/src/test/com/cloudera/sqoop/TestParquetImport.java @@ -30,6 +30,7 @@ import org.apache.avro.generic.GenericRecord; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.hadoop.fs.Path; +import org.junit.Test; import org.kitesdk.data.CompressionType; import org.kitesdk.data.Dataset; import org.kitesdk.data.DatasetReader; @@ -42,6 +43,13 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.List; +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; + /** * Tests --as-parquetfile. */ @@ -106,10 +114,12 @@ public class TestParquetImport extends ImportJobTestCase { return args.toArray(new String[args.size()]); } + @Test public void testSnappyCompression() throws IOException { runParquetImportTest("snappy"); } + @Test public void testDeflateCompression() throws IOException { runParquetImportTest("deflate"); } @@ -158,6 +168,7 @@ public class TestParquetImport extends ImportJobTestCase { } } + @Test public void testOverrideTypeMapping() throws IOException { String [] types = { "INT" }; String [] vals = { "10" }; @@ -183,6 +194,7 @@ public class TestParquetImport extends ImportJobTestCase { } } + @Test public void testFirstUnderscoreInColumnName() throws IOException { String [] names = { "_NAME" }; String [] types = { "INT" }; @@ -208,6 +220,7 @@ public class TestParquetImport extends ImportJobTestCase { } } + @Test public void testNonIdentCharactersInColumnName() throws IOException { String [] names = { "test_p-a+r/quet" }; String [] types = { "INT" }; @@ -233,6 +246,7 @@ public class TestParquetImport extends ImportJobTestCase { } } + @Test public void testNullableParquetImport() throws IOException, SQLException { String [] types = { "INT" }; String [] vals = { null }; @@ -251,6 +265,7 @@ public class TestParquetImport extends ImportJobTestCase { } } + @Test public void testQueryImport() throws IOException, SQLException { String [] types = { "INT" }; String [] vals = { "1" }; @@ -269,6 +284,7 @@ public class TestParquetImport extends ImportJobTestCase { } } + @Test public void testIncrementalParquetImport() throws IOException, SQLException { String [] types = { "INT" }; String [] vals = { "1" }; @@ -290,6 +306,7 @@ public class TestParquetImport extends ImportJobTestCase { } } + @Test public void testOverwriteParquetDatasetFail() throws IOException, SQLException { String [] types = { "INT" }; String [] vals = {}; http://git-wip-us.apache.org/repos/asf/sqoop/blob/4a74b8bc/src/test/com/cloudera/sqoop/TestQuery.java ---------------------------------------------------------------------- diff --git a/src/test/com/cloudera/sqoop/TestQuery.java b/src/test/com/cloudera/sqoop/TestQuery.java index 04d6ec4..0836b8d 100644 --- a/src/test/com/cloudera/sqoop/TestQuery.java +++ b/src/test/com/cloudera/sqoop/TestQuery.java @@ -35,6 +35,10 @@ import com.cloudera.sqoop.testutil.ImportJobTestCase; import com.cloudera.sqoop.testutil.SeqFileReader; 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 --query works in Sqoop. @@ -161,18 +165,21 @@ public class TestQuery extends ImportJobTestCase { } } + @Test public void testSelectStar() throws IOException { runQueryTest("SELECT * FROM " + getTableName() + " WHERE INTFIELD2 > 4 AND $CONDITIONS", "1,8\n", 2, 4, getTablePath().toString()); } + @Test public void testCompoundWhere() throws IOException { runQueryTest("SELECT * FROM " + getTableName() + " WHERE INTFIELD1 > 4 AND INTFIELD2 < 3 AND $CONDITIONS", "7,2\n", 1, 7, getTablePath().toString()); } + @Test public void testFailNoConditions() throws IOException { String [] argv = getArgv(true, "SELECT * FROM " + getTableName(), getTablePath().toString(), true); http://git-wip-us.apache.org/repos/asf/sqoop/blob/4a74b8bc/src/test/com/cloudera/sqoop/TestSplitBy.java ---------------------------------------------------------------------- diff --git a/src/test/com/cloudera/sqoop/TestSplitBy.java b/src/test/com/cloudera/sqoop/TestSplitBy.java index 8ab1eef..c13fbcc 100644 --- a/src/test/com/cloudera/sqoop/TestSplitBy.java +++ b/src/test/com/cloudera/sqoop/TestSplitBy.java @@ -35,6 +35,10 @@ import com.cloudera.sqoop.testutil.ImportJobTestCase; import com.cloudera.sqoop.testutil.SeqFileReader; 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 --split-by works. @@ -148,11 +152,13 @@ public class TestSplitBy extends ImportJobTestCase { } } + @Test public void testSplitByFirstCol() throws IOException { String splitByCol = "INTFIELD1"; runSplitByTest(splitByCol, HsqldbTestServer.getFirstColSum()); } + @Test public void testSplitBySecondCol() throws IOException { String splitByCol = "INTFIELD2"; runSplitByTest(splitByCol, HsqldbTestServer.getFirstColSum()); http://git-wip-us.apache.org/repos/asf/sqoop/blob/4a74b8bc/src/test/com/cloudera/sqoop/TestSqoopOptions.java ---------------------------------------------------------------------- diff --git a/src/test/com/cloudera/sqoop/TestSqoopOptions.java b/src/test/com/cloudera/sqoop/TestSqoopOptions.java index 84dc7b0..7d34d33 100644 --- a/src/test/com/cloudera/sqoop/TestSqoopOptions.java +++ b/src/test/com/cloudera/sqoop/TestSqoopOptions.java @@ -21,8 +21,6 @@ package com.cloudera.sqoop; import java.util.Properties; import com.cloudera.sqoop.tool.BaseSqoopTool; -import junit.framework.JUnit4TestAdapter; -import junit.framework.TestCase; import org.apache.commons.lang.ArrayUtils; import org.apache.sqoop.manager.oracle.OracleUtils; @@ -41,13 +39,16 @@ import org.junit.runners.JUnit4; import static org.apache.sqoop.Sqoop.SQOOP_RETHROW_PROPERTY; import static org.hamcrest.CoreMatchers.equalTo; import static org.hamcrest.CoreMatchers.is; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertThat; +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; /** * Test aspects of the SqoopOptions class. */ -@RunWith(JUnit4.class) -public class TestSqoopOptions extends TestCase { +public class TestSqoopOptions { private Properties originalSystemProperties; @@ -766,8 +767,4 @@ public class TestSqoopOptions extends TestCase { validateImportOptions(extraArgs); } - //workaround: ant kept falling back to JUnit3 - public static junit.framework.Test suite() { - return new JUnit4TestAdapter(TestSqoopOptions.class); - } } http://git-wip-us.apache.org/repos/asf/sqoop/blob/4a74b8bc/src/test/com/cloudera/sqoop/TestTargetDir.java ---------------------------------------------------------------------- diff --git a/src/test/com/cloudera/sqoop/TestTargetDir.java b/src/test/com/cloudera/sqoop/TestTargetDir.java index 4816e70..ded5392 100644 --- a/src/test/com/cloudera/sqoop/TestTargetDir.java +++ b/src/test/com/cloudera/sqoop/TestTargetDir.java @@ -21,7 +21,6 @@ package com.cloudera.sqoop; import java.io.IOException; import java.util.ArrayList; -import junit.framework.JUnit4TestAdapter; import org.apache.hadoop.fs.ContentSummary; import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.Path; @@ -33,16 +32,19 @@ import com.cloudera.sqoop.testutil.ImportJobTestCase; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; + + +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; + import org.junit.Rule; import org.junit.Test; import org.junit.rules.ExpectedException; -import org.junit.runner.RunWith; -import org.junit.runners.JUnit4; + /** * Test that --target-dir works. */ -@RunWith(JUnit4.class) public class TestTargetDir extends ImportJobTestCase { public static final Log LOG = LogFactory @@ -149,8 +151,4 @@ public class TestTargetDir extends ImportJobTestCase { runImport(argv); } - //workaround: ant kept falling back to JUnit3 - public static junit.framework.Test suite() { - return new JUnit4TestAdapter(TestTargetDir.class); - } } http://git-wip-us.apache.org/repos/asf/sqoop/blob/4a74b8bc/src/test/com/cloudera/sqoop/TestWhere.java ---------------------------------------------------------------------- diff --git a/src/test/com/cloudera/sqoop/TestWhere.java b/src/test/com/cloudera/sqoop/TestWhere.java index c989d20..340be9c 100644 --- a/src/test/com/cloudera/sqoop/TestWhere.java +++ b/src/test/com/cloudera/sqoop/TestWhere.java @@ -35,6 +35,10 @@ import com.cloudera.sqoop.testutil.ImportJobTestCase; import com.cloudera.sqoop.testutil.SeqFileReader; 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 --where works in Sqoop. @@ -165,11 +169,13 @@ public class TestWhere extends ImportJobTestCase { } } + @Test public void testSingleClauseWhere() throws IOException { String whereClause = "INTFIELD2 > 4"; runWhereTest(whereClause, "1,8\n", 2, 4); } + @Test public void testMultiClauseWhere() throws IOException { String whereClause = "INTFIELD1 > 4 AND INTFIELD2 < 3"; runWhereTest(whereClause, "7,2\n", 1, 7); http://git-wip-us.apache.org/repos/asf/sqoop/blob/4a74b8bc/src/test/com/cloudera/sqoop/ThirdPartyTests.java ---------------------------------------------------------------------- diff --git a/src/test/com/cloudera/sqoop/ThirdPartyTests.java b/src/test/com/cloudera/sqoop/ThirdPartyTests.java deleted file mode 100644 index 7e10c68..0000000 --- a/src/test/com/cloudera/sqoop/ThirdPartyTests.java +++ /dev/null @@ -1,162 +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; - -import com.cloudera.sqoop.hbase.HBaseImportAddRowKeyTest; -import com.cloudera.sqoop.hbase.HBaseImportNullTest; -import com.cloudera.sqoop.hbase.HBaseImportTypesTest; -import com.cloudera.sqoop.manager.DB2ManagerImportManualTest; - -import org.apache.sqoop.hcat.HCatalogExportTest; -import org.apache.sqoop.hcat.HCatalogImportTest; - -import com.cloudera.sqoop.hbase.HBaseImportTest; -import com.cloudera.sqoop.hbase.HBaseQueryImportTest; -import com.cloudera.sqoop.hbase.HBaseUtilTest; - -import junit.framework.Test; -import junit.framework.TestCase; -import junit.framework.TestSuite; - -import com.cloudera.sqoop.manager.CubridManagerExportTest; -import com.cloudera.sqoop.manager.CubridManagerImportTest; -import com.cloudera.sqoop.manager.DirectMySQLTest; -import com.cloudera.sqoop.manager.DirectMySQLExportTest; -import com.cloudera.sqoop.manager.JdbcMySQLExportTest; -import com.cloudera.sqoop.manager.MySQLAuthTest; -import com.cloudera.sqoop.manager.MySQLCompatTest; -import com.cloudera.sqoop.manager.OracleExportTest; -import com.cloudera.sqoop.manager.OracleManagerTest; -import com.cloudera.sqoop.manager.OracleCompatTest; -import com.cloudera.sqoop.manager.PostgresqlExportTest; -import com.cloudera.sqoop.manager.PostgresqlImportTest; - -import org.apache.sqoop.manager.cubrid.CubridAuthTest; -import org.apache.sqoop.manager.cubrid.CubridCompatTest; -import org.apache.sqoop.manager.mysql.MySqlCallExportTest; -import org.apache.sqoop.manager.mysql.MySqlColumnEscapeImportTest; -import org.apache.sqoop.manager.netezza.DirectNetezzaExportManualTest; -import org.apache.sqoop.manager.netezza.DirectNetezzaHCatExportManualTest; -import org.apache.sqoop.manager.netezza.DirectNetezzaHCatImportManualTest; -import org.apache.sqoop.manager.netezza.NetezzaExportManualTest; -import org.apache.sqoop.manager.netezza.NetezzaImportManualTest; -import org.apache.sqoop.manager.oracle.OraOopDataDrivenDBInputFormatConnectionCloseTest; -import org.apache.sqoop.manager.oracle.OracleCallExportTest; -import org.apache.sqoop.manager.oracle.OracleColumnEscapeImportTest; -import org.apache.sqoop.manager.oracle.OracleIncrementalImportTest; -import org.apache.sqoop.manager.oracle.OracleSplitterTest; -import org.apache.sqoop.manager.sqlserver.SQLServerDatatypeExportDelimitedFileManualTest; -import org.apache.sqoop.manager.sqlserver.SQLServerDatatypeExportSequenceFileManualTest; -import org.apache.sqoop.manager.sqlserver.SQLServerDatatypeImportDelimitedFileManualTest; -import org.apache.sqoop.manager.sqlserver.SQLServerDatatypeImportSequenceFileManualTest; -import org.apache.sqoop.manager.sqlserver.SQLServerHiveImportManualTest; -import org.apache.sqoop.manager.sqlserver.SQLServerManagerManualTest; -import org.apache.sqoop.manager.sqlserver.SQLServerMultiColsManualTest; -import org.apache.sqoop.manager.sqlserver.SQLServerMultiMapsManualTest; -import org.apache.sqoop.manager.sqlserver.SQLServerParseMethodsManualTest; -import org.apache.sqoop.manager.sqlserver.SQLServerQueryManualTest; -import org.apache.sqoop.manager.sqlserver.SQLServerSplitByManualTest; -import org.apache.sqoop.manager.sqlserver.SQLServerWhereManualTest; - -/** - * Test battery including all tests of vendor-specific ConnManager - * implementations. These tests likely aren't run by Apache Hudson, because - * they require configuring and using Oracle, MySQL, etc., which may have - * incompatible licenses with Apache. - */ -public final class ThirdPartyTests extends TestCase { - - private ThirdPartyTests() { } - - public static Test suite() { - TestSuite suite = new TestSuite("Tests vendor-specific ConnManager " - + "implementations in Sqoop and tests with third party dependencies"); - - // MySQL - suite.addTestSuite(DirectMySQLTest.class); - suite.addTestSuite(DirectMySQLExportTest.class); - suite.addTestSuite(JdbcMySQLExportTest.class); - suite.addTestSuite(MySQLAuthTest.class); - suite.addTestSuite(MySQLCompatTest.class); - suite.addTestSuite(MySqlColumnEscapeImportTest.class); - - // Oracle - suite.addTestSuite(OracleExportTest.class); - suite.addTestSuite(OracleManagerTest.class); - suite.addTestSuite(OracleCompatTest.class); - suite.addTestSuite(OracleIncrementalImportTest.class); - suite.addTestSuite(OracleSplitterTest.class); - suite.addTestSuite(OraOopDataDrivenDBInputFormatConnectionCloseTest.class); - suite.addTestSuite(OracleColumnEscapeImportTest.class); - - // SQL Server - suite.addTestSuite(SQLServerDatatypeExportDelimitedFileManualTest.class); - suite.addTestSuite(SQLServerDatatypeExportSequenceFileManualTest.class); - suite.addTestSuite(SQLServerDatatypeImportDelimitedFileManualTest.class); - suite.addTestSuite(SQLServerDatatypeImportSequenceFileManualTest.class); - suite.addTestSuite(SQLServerHiveImportManualTest.class); - suite.addTestSuite(SQLServerManagerManualTest.class); - suite.addTestSuite(SQLServerMultiColsManualTest.class); - suite.addTestSuite(SQLServerMultiMapsManualTest.class); - suite.addTestSuite(SQLServerParseMethodsManualTest.class); - suite.addTestSuite(SQLServerQueryManualTest.class); - suite.addTestSuite(SQLServerSplitByManualTest.class); - suite.addTestSuite(SQLServerWhereManualTest.class); - - // PostgreSQL - suite.addTestSuite(PostgresqlImportTest.class); - suite.addTestSuite(PostgresqlExportTest.class); - - // Cubrid - suite.addTestSuite(CubridManagerImportTest.class); - suite.addTestSuite(CubridManagerExportTest.class); - suite.addTestSuite(CubridAuthTest.class); - suite.addTestSuite(CubridCompatTest.class); - - // DB2 - suite.addTestSuite(DB2ManagerImportManualTest.class); - - // Hbase - suite.addTestSuite(HBaseImportTest.class); - suite.addTestSuite(HBaseImportAddRowKeyTest.class); - suite.addTestSuite(HBaseImportNullTest.class); - suite.addTestSuite(HBaseImportTypesTest.class); - suite.addTestSuite(HBaseQueryImportTest.class); - suite.addTestSuite(HBaseUtilTest.class); - - // HCatalog - suite.addTestSuite(HCatalogImportTest.class); - suite.addTestSuite(HCatalogExportTest.class); - - // Call Export tests - suite.addTestSuite(MySqlCallExportTest.class); - suite.addTestSuite(OracleCallExportTest.class); - - // Netezza - suite.addTestSuite(NetezzaExportManualTest.class); - suite.addTestSuite(NetezzaImportManualTest.class); - suite.addTestSuite(DirectNetezzaExportManualTest.class); - suite.addTestSuite(DirectNetezzaHCatExportManualTest.class); - suite.addTestSuite(DirectNetezzaHCatImportManualTest.class); - - return suite; - } - -} - http://git-wip-us.apache.org/repos/asf/sqoop/blob/4a74b8bc/src/test/com/cloudera/sqoop/hbase/HBaseImportAddRowKeyTest.java ---------------------------------------------------------------------- diff --git a/src/test/com/cloudera/sqoop/hbase/HBaseImportAddRowKeyTest.java b/src/test/com/cloudera/sqoop/hbase/HBaseImportAddRowKeyTest.java index abf9f1c..fd00498 100644 --- a/src/test/com/cloudera/sqoop/hbase/HBaseImportAddRowKeyTest.java +++ b/src/test/com/cloudera/sqoop/hbase/HBaseImportAddRowKeyTest.java @@ -18,7 +18,6 @@ package com.cloudera.sqoop.hbase; -import junit.framework.JUnit4TestAdapter; import org.apache.commons.lang.StringUtils; import org.junit.Before; import org.junit.Test; @@ -136,8 +135,4 @@ public class HBaseImportAddRowKeyTest extends HBaseTestCase { return result.toArray(new String[result.size()]); } - public static junit.framework.Test suite() { - return new JUnit4TestAdapter(HBaseImportAddRowKeyTest.class); - } - } http://git-wip-us.apache.org/repos/asf/sqoop/blob/4a74b8bc/src/test/com/cloudera/sqoop/hbase/HBaseImportNullTest.java ---------------------------------------------------------------------- diff --git a/src/test/com/cloudera/sqoop/hbase/HBaseImportNullTest.java b/src/test/com/cloudera/sqoop/hbase/HBaseImportNullTest.java index 58566fc..dd88fe7 100644 --- a/src/test/com/cloudera/sqoop/hbase/HBaseImportNullTest.java +++ b/src/test/com/cloudera/sqoop/hbase/HBaseImportNullTest.java @@ -22,6 +22,8 @@ import java.io.IOException; import org.junit.Test; +import static org.junit.Assert.assertEquals; + /** * */ http://git-wip-us.apache.org/repos/asf/sqoop/blob/4a74b8bc/src/test/com/cloudera/sqoop/hbase/HBaseImportTest.java ---------------------------------------------------------------------- diff --git a/src/test/com/cloudera/sqoop/hbase/HBaseImportTest.java b/src/test/com/cloudera/sqoop/hbase/HBaseImportTest.java index a5e1bea..fa14a01 100644 --- a/src/test/com/cloudera/sqoop/hbase/HBaseImportTest.java +++ b/src/test/com/cloudera/sqoop/hbase/HBaseImportTest.java @@ -22,6 +22,8 @@ import java.io.IOException; import org.junit.Test; +import static org.junit.Assert.fail; + /** * Test imports of tables into HBase. */ http://git-wip-us.apache.org/repos/asf/sqoop/blob/4a74b8bc/src/test/com/cloudera/sqoop/hbase/HBaseQueryImportTest.java ---------------------------------------------------------------------- diff --git a/src/test/com/cloudera/sqoop/hbase/HBaseQueryImportTest.java b/src/test/com/cloudera/sqoop/hbase/HBaseQueryImportTest.java index 28b9026..d71d4e3 100644 --- a/src/test/com/cloudera/sqoop/hbase/HBaseQueryImportTest.java +++ b/src/test/com/cloudera/sqoop/hbase/HBaseQueryImportTest.java @@ -22,6 +22,8 @@ import java.io.IOException; import org.junit.Test; +import static org.junit.Assert.fail; + /** * Test import of free-form query into HBase. */ http://git-wip-us.apache.org/repos/asf/sqoop/blob/4a74b8bc/src/test/com/cloudera/sqoop/hbase/HBaseTestCase.java ---------------------------------------------------------------------- diff --git a/src/test/com/cloudera/sqoop/hbase/HBaseTestCase.java b/src/test/com/cloudera/sqoop/hbase/HBaseTestCase.java index ad92a07..a054eb6 100644 --- a/src/test/com/cloudera/sqoop/hbase/HBaseTestCase.java +++ b/src/test/com/cloudera/sqoop/hbase/HBaseTestCase.java @@ -52,6 +52,10 @@ import java.lang.reflect.Method; import java.util.UUID; import org.apache.commons.io.FileUtils; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; + /** * Utility methods that facilitate HBase import tests. */ http://git-wip-us.apache.org/repos/asf/sqoop/blob/4a74b8bc/src/test/com/cloudera/sqoop/hbase/HBaseUtilTest.java ---------------------------------------------------------------------- diff --git a/src/test/com/cloudera/sqoop/hbase/HBaseUtilTest.java b/src/test/com/cloudera/sqoop/hbase/HBaseUtilTest.java index 166eef3..4201139 100644 --- a/src/test/com/cloudera/sqoop/hbase/HBaseUtilTest.java +++ b/src/test/com/cloudera/sqoop/hbase/HBaseUtilTest.java @@ -20,13 +20,15 @@ package com.cloudera.sqoop.hbase; import org.junit.Test; -import junit.framework.TestCase; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; + /** * This tests to verify that HBase is present (default when running test cases) * and that when in fake not present mode, the method return false. */ -public class HBaseUtilTest extends TestCase { +public class HBaseUtilTest { @Test public void testHBasePresent() { http://git-wip-us.apache.org/repos/asf/sqoop/blob/4a74b8bc/src/test/com/cloudera/sqoop/hive/TestHiveImport.java ---------------------------------------------------------------------- diff --git a/src/test/com/cloudera/sqoop/hive/TestHiveImport.java b/src/test/com/cloudera/sqoop/hive/TestHiveImport.java index 1253e8d..1d67a2d 100644 --- a/src/test/com/cloudera/sqoop/hive/TestHiveImport.java +++ b/src/test/com/cloudera/sqoop/hive/TestHiveImport.java @@ -27,7 +27,7 @@ import java.util.Arrays; import java.util.List; import com.cloudera.sqoop.Sqoop; -import junit.framework.JUnit4TestAdapter; + import org.apache.avro.Schema; import org.apache.avro.SchemaBuilder; import org.apache.avro.generic.GenericRecord; @@ -54,18 +54,21 @@ import com.cloudera.sqoop.tool.ImportTool; import com.cloudera.sqoop.tool.SqoopTool; import org.apache.commons.cli.ParseException; import org.junit.rules.ExpectedException; -import org.junit.runner.RunWith; -import org.junit.runners.JUnit4; import org.kitesdk.data.Dataset; import org.kitesdk.data.DatasetReader; import org.kitesdk.data.Datasets; import org.kitesdk.data.Formats; -import org.kitesdk.data.spi.DefaultConfiguration; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; /** * Test HiveImport capability after an import to HDFS. */ -@RunWith(JUnit4.class) + public class TestHiveImport extends ImportJobTestCase { public static final Log LOG = LogFactory.getLog( @@ -273,7 +276,6 @@ public class TestHiveImport extends ImportJobTestCase { assertFalse("Import actually happened!", fs.exists(hiveImportPath)); } - /** Test that strings and ints are handled in the normal fashion. */ @Test public void testNormalHiveImport() throws IOException { @@ -710,8 +712,4 @@ public class TestHiveImport extends ImportJobTestCase { getCreateTableArgv(false, moreArgs1), new CreateHiveTableTool()); } - //workaround: ant kept falling back to JUnit3 - public static junit.framework.Test suite() { - return new JUnit4TestAdapter(TestHiveImport.class); - } } http://git-wip-us.apache.org/repos/asf/sqoop/blob/4a74b8bc/src/test/com/cloudera/sqoop/hive/TestTableDefWriter.java ---------------------------------------------------------------------- diff --git a/src/test/com/cloudera/sqoop/hive/TestTableDefWriter.java b/src/test/com/cloudera/sqoop/hive/TestTableDefWriter.java index 8d6b9d5..4db629f 100644 --- a/src/test/com/cloudera/sqoop/hive/TestTableDefWriter.java +++ b/src/test/com/cloudera/sqoop/hive/TestTableDefWriter.java @@ -20,9 +20,6 @@ package com.cloudera.sqoop.hive; import java.util.Map; -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; @@ -31,19 +28,23 @@ import org.apache.sqoop.util.SqlTypeMap; import com.cloudera.sqoop.SqoopOptions; import com.cloudera.sqoop.tool.ImportTool; import com.cloudera.sqoop.testutil.HsqldbTestServer; + import org.junit.Rule; import org.junit.Test; import org.junit.rules.ExpectedException; -import org.junit.runner.RunWith; -import org.junit.runners.JUnit4; import java.sql.Types; +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 Hive DDL statement generation. */ -@RunWith(JUnit4.class) -public class TestTableDefWriter extends TestCase { +public class TestTableDefWriter { public static final Log LOG = LogFactory.getLog( TestTableDefWriter.class.getName()); @@ -246,8 +247,4 @@ public class TestTableDefWriter extends TestCase { assertTrue(createTable.contains("`db`.`outputTable`")); } - //workaround: ant kept falling back to JUnit3 - public static junit.framework.Test suite() { - return new JUnit4TestAdapter(TestTableDefWriter.class); - } } http://git-wip-us.apache.org/repos/asf/sqoop/blob/4a74b8bc/src/test/com/cloudera/sqoop/io/TestCodecMap.java ---------------------------------------------------------------------- diff --git a/src/test/com/cloudera/sqoop/io/TestCodecMap.java b/src/test/com/cloudera/sqoop/io/TestCodecMap.java index 867f1d5..982b6ad 100644 --- a/src/test/com/cloudera/sqoop/io/TestCodecMap.java +++ b/src/test/com/cloudera/sqoop/io/TestCodecMap.java @@ -20,23 +20,24 @@ package com.cloudera.sqoop.io; import java.io.IOException; -import junit.framework.JUnit4TestAdapter; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.io.compress.CompressionCodec; import org.apache.hadoop.io.compress.GzipCodec; -import junit.framework.TestCase; -import org.junit.Rule; import org.junit.Test; + +import static org.junit.Assert.assertEquals; +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 looking up codecs by name. */ -@RunWith(JUnit4.class) -public class TestCodecMap extends TestCase { +public class TestCodecMap { + @Rule public ExpectedException thrown = ExpectedException.none(); @@ -85,8 +86,4 @@ public class TestCodecMap extends TestCase { CodecMap.getCodec("bogus", new Configuration()); } - //workaround: ant kept falling back to JUnit3 - public static junit.framework.Test suite() { - return new JUnit4TestAdapter(TestCodecMap.class); - } }
