diff --git a/common-test/src/main/java/org/apache/sqoop/common/test/db/MySQLProvider.java b/common-test/src/main/java/org/apache/sqoop/common/test/db/MySQLProvider.java index cef59bb6..268e4757 100644 --- a/common-test/src/main/java/org/apache/sqoop/common/test/db/MySQLProvider.java +++ b/common-test/src/main/java/org/apache/sqoop/common/test/db/MySQLProvider.java @@ -34,7 +34,7 @@ public class MySQLProvider extends DatabaseProvider { private static final String CONNECTION = System.getProperties().getProperty( "sqoop.provider.mysql.jdbc", - "jdbc:mysql://localhost/test" + "jdbc:mysql://localhost:3306/test?createDatabaseIfNotExist=true&sessionVariables=sql_mode='ANSI_QUOTES'" ); private static final String USERNAME = System.getProperties().getProperty( diff --git a/repository/repository-mysql/pom.xml b/repository/repository-mysql/pom.xml index 15e909eb..066d76bb 100644 --- a/repository/repository-mysql/pom.xml +++ b/repository/repository-mysql/pom.xml @@ -61,6 +61,11 @@ limitations under the License. mysql-connector-java test + + org.mockito + mockito-all + test + @@ -106,7 +111,6 @@ limitations under the License. mysql - diff --git a/repository/repository-mysql/src/test/java/org/apache/sqoop/integration/repository/mysql/MySqlTestCase.java b/repository/repository-mysql/src/test/java/org/apache/sqoop/integration/repository/mysql/MySqlTestCase.java index fcd4b71c..232ef4c2 100644 --- a/repository/repository-mysql/src/test/java/org/apache/sqoop/integration/repository/mysql/MySqlTestCase.java +++ b/repository/repository-mysql/src/test/java/org/apache/sqoop/integration/repository/mysql/MySqlTestCase.java @@ -22,11 +22,9 @@ import java.util.LinkedList; import java.util.List; -import junit.framework.TestCase; - import org.apache.commons.lang.StringUtils; -import org.apache.sqoop.common.test.db.DatabaseProvider; import org.apache.sqoop.common.test.db.MySQLProvider; +import org.apache.sqoop.connector.ConnectorManager; import org.apache.sqoop.json.DriverBean; import org.apache.sqoop.model.InputEditable; import org.apache.sqoop.model.MConfig; @@ -47,23 +45,27 @@ import org.apache.sqoop.submission.SubmissionStatus; import org.apache.sqoop.submission.counter.CounterGroup; import org.apache.sqoop.submission.counter.Counters; -import org.testng.annotations.AfterMethod; -import org.testng.annotations.BeforeClass; -import org.testng.annotations.BeforeMethod; +import org.testng.annotations.*; +import org.mockito.Mockito; /** * Abstract class with convenience methods for testing mysql repository. */ -abstract public class MySqlTestCase extends TestCase { - - public static DatabaseProvider provider; +abstract public class MySqlTestCase { + public static MySQLProvider provider; public static MySqlTestUtils utils; public MySqlRepositoryHandler handler; + private ConnectorManager mockConnectorManager; - @BeforeClass - public void setUpClass() { + @BeforeClass(alwaysRun = true) + public void setUpClass() throws Exception { provider = new MySQLProvider(); utils = new MySqlTestUtils(provider); + + mockConnectorManager = Mockito.mock(ConnectorManager.class); + Mockito.when(mockConnectorManager.getConnectorConfigurable("A")).thenReturn(getConnector(true, true, "A", "org.apache.sqoop.test.A")); + Mockito.when(mockConnectorManager.getConnectorConfigurable("B")).thenReturn(getConnector(true, true, "B", "org.apache.sqoop.test.B")); + ConnectorManager.setInstance(mockConnectorManager); } @BeforeMethod(alwaysRun = true) @@ -77,7 +79,7 @@ public void setUp() throws Exception { @AfterMethod(alwaysRun = true) public void tearDown() throws Exception { - provider.dropDatabase("SQOOP"); + provider.dropDatabase(CommonRepositorySchemaConstants.SCHEMA_SQOOP); provider.stop(); } @@ -184,4 +186,17 @@ protected List getConfigs(String configName1, String configName2) { return configs; } + + protected MConnector getConnector(boolean from, boolean to, String connectorName, String connectorClass) { + MFromConfig fromConfig = null; + MToConfig toConfig = null; + if (from) { + fromConfig = getFromConfig(); + } + if (to) { + toConfig = getToConfig(); + } + return new MConnector(connectorName, connectorClass, "1.0-test", getLinkConfig(), fromConfig, + toConfig); + } } diff --git a/repository/repository-mysql/src/test/java/org/apache/sqoop/integration/repository/mysql/TestConnectorHandling.java b/repository/repository-mysql/src/test/java/org/apache/sqoop/integration/repository/mysql/TestConnectorHandling.java index 4d30b5ea..223217a1 100644 --- a/repository/repository-mysql/src/test/java/org/apache/sqoop/integration/repository/mysql/TestConnectorHandling.java +++ b/repository/repository-mysql/src/test/java/org/apache/sqoop/integration/repository/mysql/TestConnectorHandling.java @@ -23,6 +23,10 @@ import org.apache.sqoop.model.MConnector; import org.testng.annotations.Test; +import static org.testng.Assert.assertEquals; +import static org.testng.Assert.assertNotNull; +import static org.testng.Assert.assertNull; + /** * Test driver methods on MySql repository. */ diff --git a/repository/repository-mysql/src/test/java/org/apache/sqoop/integration/repository/mysql/TestDriverHandling.java b/repository/repository-mysql/src/test/java/org/apache/sqoop/integration/repository/mysql/TestDriverHandling.java index c3144efa..72fefd59 100644 --- a/repository/repository-mysql/src/test/java/org/apache/sqoop/integration/repository/mysql/TestDriverHandling.java +++ b/repository/repository-mysql/src/test/java/org/apache/sqoop/integration/repository/mysql/TestDriverHandling.java @@ -22,6 +22,10 @@ import org.apache.sqoop.model.MDriver; import org.testng.annotations.Test; +import static org.testng.Assert.assertEquals; +import static org.testng.Assert.assertNull; +import static org.testng.Assert.assertNotNull; + /** * Test driver methods on MySql repository. */ diff --git a/repository/repository-mysql/src/test/java/org/apache/sqoop/integration/repository/mysql/TestHandler.java b/repository/repository-mysql/src/test/java/org/apache/sqoop/integration/repository/mysql/TestHandler.java index bfa53bda..5b3f290b 100644 --- a/repository/repository-mysql/src/test/java/org/apache/sqoop/integration/repository/mysql/TestHandler.java +++ b/repository/repository-mysql/src/test/java/org/apache/sqoop/integration/repository/mysql/TestHandler.java @@ -20,6 +20,8 @@ import org.testng.annotations.Test; +import static org.testng.Assert.assertTrue; + /** * Test driver methods on MySql repository. */ diff --git a/repository/repository-mysql/src/test/java/org/apache/sqoop/integration/repository/mysql/TestJobHandling.java b/repository/repository-mysql/src/test/java/org/apache/sqoop/integration/repository/mysql/TestJobHandling.java index 4784f10e..7a87feec 100644 --- a/repository/repository-mysql/src/test/java/org/apache/sqoop/integration/repository/mysql/TestJobHandling.java +++ b/repository/repository-mysql/src/test/java/org/apache/sqoop/integration/repository/mysql/TestJobHandling.java @@ -35,6 +35,12 @@ import org.testng.annotations.BeforeMethod; import org.testng.annotations.Test; +import static org.testng.Assert.assertEquals; +import static org.testng.Assert.assertNull; +import static org.testng.Assert.assertFalse; +import static org.testng.Assert.assertNotNull; +import static org.testng.Assert.assertTrue; + /** * Test driver methods on MySql repository. */ diff --git a/repository/repository-mysql/src/test/java/org/apache/sqoop/integration/repository/mysql/TestLinkHandling.java b/repository/repository-mysql/src/test/java/org/apache/sqoop/integration/repository/mysql/TestLinkHandling.java index 2e33cdb2..89cfc4e5 100644 --- a/repository/repository-mysql/src/test/java/org/apache/sqoop/integration/repository/mysql/TestLinkHandling.java +++ b/repository/repository-mysql/src/test/java/org/apache/sqoop/integration/repository/mysql/TestLinkHandling.java @@ -33,6 +33,12 @@ import org.testng.annotations.BeforeMethod; import org.testng.annotations.Test; +import static org.testng.Assert.assertEquals; +import static org.testng.Assert.assertNull; +import static org.testng.Assert.assertFalse; +import static org.testng.Assert.assertNotNull; +import static org.testng.Assert.assertTrue; + /** * Test driver methods on MySql repository. */ diff --git a/repository/repository-mysql/src/test/java/org/apache/sqoop/integration/repository/mysql/TestSubmissionHandling.java b/repository/repository-mysql/src/test/java/org/apache/sqoop/integration/repository/mysql/TestSubmissionHandling.java index faf01cb8..b4f34b61 100644 --- a/repository/repository-mysql/src/test/java/org/apache/sqoop/integration/repository/mysql/TestSubmissionHandling.java +++ b/repository/repository-mysql/src/test/java/org/apache/sqoop/integration/repository/mysql/TestSubmissionHandling.java @@ -36,6 +36,11 @@ import org.testng.annotations.BeforeMethod; import org.testng.annotations.Test; +import static org.testng.Assert.assertEquals; +import static org.testng.Assert.assertFalse; +import static org.testng.Assert.assertNotNull; +import static org.testng.Assert.assertTrue; + /** * Test driver methods on MySql repository. */