You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sqoop.apache.org by ma...@apache.org on 2016/11/29 14:41:18 UTC

[1/2] sqoop git commit: SQOOP-3055: Fixing MySQL tests failing due to ignored test inputs/configuration

Repository: sqoop
Updated Branches:
  refs/heads/trunk b0b7b4779 -> f9d76fd4a


SQOOP-3055: Fixing MySQL tests failing due to
ignored test inputs/configuration

(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/48cecdc9
Tree: http://git-wip-us.apache.org/repos/asf/sqoop/tree/48cecdc9
Diff: http://git-wip-us.apache.org/repos/asf/sqoop/diff/48cecdc9

Branch: refs/heads/trunk
Commit: 48cecdc99e45514adff5b9ea8112f5fb366aee14
Parents: b0b7b47
Author: Attila Szabo <ma...@apache.org>
Authored: Tue Nov 29 15:33:16 2016 +0100
Committer: Attila Szabo <ma...@apache.org>
Committed: Tue Nov 29 15:33:16 2016 +0100

----------------------------------------------------------------------
 build.xml                                       | 15 +++
 .../sqoop/manager/DirectMySQLExportTest.java    | 27 ++----
 .../cloudera/sqoop/manager/DirectMySQLTest.java | 23 +++--
 .../sqoop/manager/JdbcMySQLExportTest.java      | 24 ++---
 .../sqoop/manager/MySQLAllTablesTest.java       |  7 +-
 .../cloudera/sqoop/manager/MySQLCompatTest.java |  6 +-
 .../sqoop/manager/MySQLFreeFormQueryTest.java   |  6 +-
 .../sqoop/manager/MySQLLobAvroImportTest.java   |  6 +-
 .../cloudera/sqoop/manager/MySQLTestUtils.java  | 98 ++++++++++++++++----
 .../manager/mysql/MySqlCallExportTest.java      |  6 +-
 .../mysql/MySqlColumnEscapeImportTest.java      | 12 +--
 11 files changed, 151 insertions(+), 79 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/sqoop/blob/48cecdc9/build.xml
----------------------------------------------------------------------
diff --git a/build.xml b/build.xml
index 6e8d393..cc8760b 100644
--- a/build.xml
+++ b/build.xml
@@ -372,6 +372,12 @@
   <property name="sqoop.test.mysql.connectstring.host_url"
             value="jdbc:mysql://localhost/"/>
 
+  <property name="sqoop.test.mysql.username"
+            value="${env.USER}"/>
+  <property name="sqoop.test.mysql.password" value="" />
+  <property name="sqoop.test.mysql.databasename"
+            value="sqooptestdb"/>
+
   <property name="sqoop.test.cubrid.connectstring.host_url"
             value="jdbc:cubrid:localhost:30000"/>
   <property name="sqoop.test.cubrid.connectstring.database" value="SQOOPCUBRIDTEST" />
@@ -983,6 +989,15 @@
       <sysproperty key="sqoop.test.mysql.connectstring.host_url"
                    value="${sqoop.test.mysql.connectstring.host_url}"/>
 
+      <sysproperty key="sqoop.test.mysql.username"
+                   value="${sqoop.test.mysql.username}"/>
+
+      <sysproperty key="sqoop.test.mysql.password"
+                   value="${sqoop.test.mysql.password}"/>
+
+      <sysproperty key="sqoop.test.mysql.databasename"
+                   value="${sqoop.test.mysql.databasename}"/>
+
       <sysproperty key="sqoop.test.cubrid.connectstring.host_url"
                    value="${sqoop.test.cubrid.connectstring.host_url}"/>
 

http://git-wip-us.apache.org/repos/asf/sqoop/blob/48cecdc9/src/test/com/cloudera/sqoop/manager/DirectMySQLExportTest.java
----------------------------------------------------------------------
diff --git a/src/test/com/cloudera/sqoop/manager/DirectMySQLExportTest.java b/src/test/com/cloudera/sqoop/manager/DirectMySQLExportTest.java
index 79e90e2..7f08675 100644
--- a/src/test/com/cloudera/sqoop/manager/DirectMySQLExportTest.java
+++ b/src/test/com/cloudera/sqoop/manager/DirectMySQLExportTest.java
@@ -39,9 +39,6 @@ import com.cloudera.sqoop.SqoopOptions;
 import com.cloudera.sqoop.TestExport;
 import com.cloudera.sqoop.mapreduce.MySQLExportMapper;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-
 /**
  * Test the DirectMySQLManager implementation's exportJob() functionality.
  */
@@ -55,6 +52,7 @@ public class DirectMySQLExportTest extends TestExport {
   // instance variables populated during setUp, used during tests.
   private DirectMySQLManager manager;
   private Connection conn;
+  private MySQLTestUtils mySQLTestUtils = new MySQLTestUtils();
 
   @Override
   protected Connection getConnection() {
@@ -68,7 +66,7 @@ public class DirectMySQLExportTest extends TestExport {
 
   @Override
   protected String getConnectString() {
-    return MySQLTestUtils.CONNECT_STRING;
+    return mySQLTestUtils.getMySqlConnectString();
   }
 
   @Override
@@ -85,9 +83,10 @@ public class DirectMySQLExportTest extends TestExport {
   public void setUp() {
     super.setUp();
 
-    SqoopOptions options = new SqoopOptions(MySQLTestUtils.CONNECT_STRING,
+    SqoopOptions options = new SqoopOptions(mySQLTestUtils.getMySqlConnectString(),
         getTableName());
-    options.setUsername(MySQLTestUtils.getCurrentUser());
+    options.setUsername(mySQLTestUtils.getUserName());
+    mySQLTestUtils.addPasswordIfIsSet(options);
     this.manager = new DirectMySQLManager(options);
 
     try {
@@ -122,26 +121,14 @@ public class DirectMySQLExportTest extends TestExport {
 
   @Override
   protected String [] getCodeGenArgv(String... extraArgs) {
-
-    String [] moreArgs = new String[extraArgs.length + 2];
-    int i = 0;
-    for (i = 0; i < extraArgs.length; i++) {
-      moreArgs[i] = extraArgs[i];
-    }
-
-    // Add username argument for mysql.
-    moreArgs[i++] = "--username";
-    moreArgs[i++] = MySQLTestUtils.getCurrentUser();
-
-    return super.getCodeGenArgv(moreArgs);
+    return super.getCodeGenArgv(mySQLTestUtils.addUserNameAndPasswordToArgs(extraArgs));
   }
 
   @Override
   protected String [] getArgv(boolean includeHadoopFlags,
       int rowsPerStatement, int statementsPerTx, String... additionalArgv) {
 
-    String [] subArgv = newStrArray(additionalArgv, "--direct",
-        "--username", MySQLTestUtils.getCurrentUser());
+    String [] subArgv = newStrArray(mySQLTestUtils.addUserNameAndPasswordToArgs(additionalArgv),"--direct");
     return super.getArgv(includeHadoopFlags, rowsPerStatement,
         statementsPerTx, subArgv);
   }

http://git-wip-us.apache.org/repos/asf/sqoop/blob/48cecdc9/src/test/com/cloudera/sqoop/manager/DirectMySQLTest.java
----------------------------------------------------------------------
diff --git a/src/test/com/cloudera/sqoop/manager/DirectMySQLTest.java b/src/test/com/cloudera/sqoop/manager/DirectMySQLTest.java
index d0f0c50..faa0a3e 100644
--- a/src/test/com/cloudera/sqoop/manager/DirectMySQLTest.java
+++ b/src/test/com/cloudera/sqoop/manager/DirectMySQLTest.java
@@ -71,6 +71,7 @@ public class DirectMySQLTest extends ImportJobTestCase {
 
   // instance variables populated during setUp, used during tests
   private DirectMySQLManager manager;
+  private MySQLTestUtils mySQLTestUtils = new MySQLTestUtils();
 
   @Override
   protected String getTablePrefix() {
@@ -81,12 +82,13 @@ public class DirectMySQLTest extends ImportJobTestCase {
   public void setUp() {
     super.setUp();
 
-    SqoopOptions options = new SqoopOptions(MySQLTestUtils.CONNECT_STRING,
+    SqoopOptions options = new SqoopOptions(mySQLTestUtils.getMySqlConnectString(),
         getTableName());
-    options.setUsername(MySQLTestUtils.getCurrentUser());
+    options.setUsername(mySQLTestUtils.getUserName());
+    mySQLTestUtils.addPasswordIfIsSet(options);
 
     LOG.debug("Setting up another DirectMySQLTest: "
-        + MySQLTestUtils.CONNECT_STRING);
+        + mySQLTestUtils.getMySqlConnectString());
 
     manager = new DirectMySQLManager(options);
 
@@ -145,12 +147,13 @@ public class DirectMySQLTest extends ImportJobTestCase {
     args.add("--warehouse-dir");
     args.add(getWarehouseDir());
     args.add("--connect");
-    args.add(MySQLTestUtils.CONNECT_STRING);
+    args.add(mySQLTestUtils.getMySqlConnectString());
     if (isDirect) {
       args.add("--direct");
     }
     args.add("--username");
-    args.add(MySQLTestUtils.getCurrentUser());
+    args.add(mySQLTestUtils.getUserName());
+    mySQLTestUtils.addPasswordIfIsSet(args);
     args.add("--where");
     args.add("id > 1");
     args.add("--num-mappers");
@@ -303,9 +306,10 @@ public class DirectMySQLTest extends ImportJobTestCase {
     // Test a JDBC-based import of a table whose name is
     // a reserved sql keyword (and is thus `quoted`)
     final String RESERVED_TABLE_NAME = "TABLE";
-    SqoopOptions options = new SqoopOptions(MySQLTestUtils.CONNECT_STRING,
+    SqoopOptions options = new SqoopOptions(mySQLTestUtils.getMySqlConnectString(),
         RESERVED_TABLE_NAME);
-    options.setUsername(MySQLTestUtils.getCurrentUser());
+    options.setUsername(mySQLTestUtils.getUserName());
+    mySQLTestUtils.addPasswordIfIsSet(options);
     ConnManager mgr = new MySQLManager(options);
 
     Connection connection = null;
@@ -355,9 +359,10 @@ public class DirectMySQLTest extends ImportJobTestCase {
     // Test a JDBC-based import of a table with a column whose name is
     // a reserved sql keyword (and is thus `quoted`).
     final String TABLE_NAME = "mysql_escaped_col_table";
-    SqoopOptions options = new SqoopOptions(MySQLTestUtils.CONNECT_STRING,
+    SqoopOptions options = new SqoopOptions(mySQLTestUtils.getMySqlConnectString(),
         TABLE_NAME);
-    options.setUsername(MySQLTestUtils.getCurrentUser());
+    options.setUsername(mySQLTestUtils.getUserName());
+    mySQLTestUtils.addPasswordIfIsSet(options);
     ConnManager mgr = new MySQLManager(options);
 
     Connection connection = null;

http://git-wip-us.apache.org/repos/asf/sqoop/blob/48cecdc9/src/test/com/cloudera/sqoop/manager/JdbcMySQLExportTest.java
----------------------------------------------------------------------
diff --git a/src/test/com/cloudera/sqoop/manager/JdbcMySQLExportTest.java b/src/test/com/cloudera/sqoop/manager/JdbcMySQLExportTest.java
index 86b9aab..5c6e567 100644
--- a/src/test/com/cloudera/sqoop/manager/JdbcMySQLExportTest.java
+++ b/src/test/com/cloudera/sqoop/manager/JdbcMySQLExportTest.java
@@ -47,6 +47,7 @@ public class JdbcMySQLExportTest extends TestExport {
   // instance variables populated during setUp, used during tests.
   private MySQLManager manager;
   private Connection conn;
+  private MySQLTestUtils mySqlTestUtils = new MySQLTestUtils();
 
   @Override
   protected Connection getConnection() {
@@ -66,7 +67,7 @@ public class JdbcMySQLExportTest extends TestExport {
 
   @Override
   protected String getConnectString() {
-    return MySQLTestUtils.CONNECT_STRING;
+    return mySqlTestUtils.getMySqlConnectString();
   }
 
   @Override
@@ -83,9 +84,10 @@ public class JdbcMySQLExportTest extends TestExport {
   public void setUp() {
     super.setUp();
 
-    SqoopOptions options = new SqoopOptions(MySQLTestUtils.CONNECT_STRING,
+    SqoopOptions options = new SqoopOptions(mySqlTestUtils.getMySqlConnectString(),
         getTableName());
-    options.setUsername(MySQLTestUtils.getCurrentUser());
+    options.setUsername(mySqlTestUtils.getUserName());
+    mySqlTestUtils.addPasswordIfIsSet(options);
     this.manager = new MySQLManager(options);
     try {
       this.conn = manager.getConnection();
@@ -119,26 +121,14 @@ public class JdbcMySQLExportTest extends TestExport {
 
   @Override
   protected String [] getCodeGenArgv(String... extraArgs) {
-
-    String [] moreArgs = new String[extraArgs.length + 2];
-    int i = 0;
-    for (i = 0; i < extraArgs.length; i++) {
-      moreArgs[i] = extraArgs[i];
-    }
-
-    // Add username argument for mysql.
-    moreArgs[i++] = "--username";
-    moreArgs[i++] = MySQLTestUtils.getCurrentUser();
-
-    return super.getCodeGenArgv(moreArgs);
+    return super.getCodeGenArgv(mySqlTestUtils.addUserNameAndPasswordToArgs(extraArgs));
   }
 
   @Override
   protected String [] getArgv(boolean includeHadoopFlags,
       int rowsPerStatement, int statementsPerTx, String... additionalArgv) {
 
-    String [] subArgv = newStrArray(additionalArgv,
-        "--username", MySQLTestUtils.getCurrentUser());
+    String [] subArgv = newStrArray(mySqlTestUtils.addUserNameAndPasswordToArgs(additionalArgv));
     return super.getArgv(includeHadoopFlags, rowsPerStatement,
         statementsPerTx, subArgv);
   }

http://git-wip-us.apache.org/repos/asf/sqoop/blob/48cecdc9/src/test/com/cloudera/sqoop/manager/MySQLAllTablesTest.java
----------------------------------------------------------------------
diff --git a/src/test/com/cloudera/sqoop/manager/MySQLAllTablesTest.java b/src/test/com/cloudera/sqoop/manager/MySQLAllTablesTest.java
index bad3c29..ce4af81 100644
--- a/src/test/com/cloudera/sqoop/manager/MySQLAllTablesTest.java
+++ b/src/test/com/cloudera/sqoop/manager/MySQLAllTablesTest.java
@@ -33,6 +33,8 @@ import com.cloudera.sqoop.TestAllTables;
  */
 public class MySQLAllTablesTest extends TestAllTables {
 
+  private MySQLTestUtils mySQLTestUtils = new MySQLTestUtils();
+
   @Override
   protected boolean useHsqldbTestServer() {
     return false;
@@ -40,13 +42,14 @@ public class MySQLAllTablesTest extends TestAllTables {
 
   @Override
   protected String getConnectString() {
-    return MySQLTestUtils.CONNECT_STRING;
+    return mySQLTestUtils.getMySqlConnectString();
   }
 
   @Override
   protected SqoopOptions getSqoopOptions(Configuration conf) {
     SqoopOptions opts = new SqoopOptions(conf);
-    opts.setUsername(MySQLTestUtils.getCurrentUser());
+    opts.setUsername(mySQLTestUtils.getUserName());
+    mySQLTestUtils.addPasswordIfIsSet(opts);
     return opts;
   }
 

http://git-wip-us.apache.org/repos/asf/sqoop/blob/48cecdc9/src/test/com/cloudera/sqoop/manager/MySQLCompatTest.java
----------------------------------------------------------------------
diff --git a/src/test/com/cloudera/sqoop/manager/MySQLCompatTest.java b/src/test/com/cloudera/sqoop/manager/MySQLCompatTest.java
index 675b6b8..6539972 100644
--- a/src/test/com/cloudera/sqoop/manager/MySQLCompatTest.java
+++ b/src/test/com/cloudera/sqoop/manager/MySQLCompatTest.java
@@ -39,6 +39,7 @@ public class MySQLCompatTest extends ManagerCompatTestCase {
 
   public static final Log LOG = LogFactory.getLog(
       MySQLCompatTest.class.getName());
+  private MySQLTestUtils mySQLTestUtils = new MySQLTestUtils();
 
   @Override
   protected Log getLogger() {
@@ -52,13 +53,14 @@ public class MySQLCompatTest extends ManagerCompatTestCase {
 
   @Override
   protected String getConnectString() {
-    return MySQLTestUtils.CONNECT_STRING;
+    return mySQLTestUtils.getMySqlConnectString();
   }
 
   @Override
   protected SqoopOptions getSqoopOptions(Configuration conf) {
     SqoopOptions opts = new SqoopOptions(conf);
-    opts.setUsername(MySQLTestUtils.getCurrentUser());
+    opts.setUsername(mySQLTestUtils.getUserName());
+    mySQLTestUtils.addPasswordIfIsSet(opts);
     return opts;
 
   }

http://git-wip-us.apache.org/repos/asf/sqoop/blob/48cecdc9/src/test/com/cloudera/sqoop/manager/MySQLFreeFormQueryTest.java
----------------------------------------------------------------------
diff --git a/src/test/com/cloudera/sqoop/manager/MySQLFreeFormQueryTest.java b/src/test/com/cloudera/sqoop/manager/MySQLFreeFormQueryTest.java
index 935d948..22547f2 100644
--- a/src/test/com/cloudera/sqoop/manager/MySQLFreeFormQueryTest.java
+++ b/src/test/com/cloudera/sqoop/manager/MySQLFreeFormQueryTest.java
@@ -37,6 +37,7 @@ public class MySQLFreeFormQueryTest extends TestFreeFormQueryImport {
 
   public static final Log LOG = LogFactory.getLog(
       MySQLFreeFormQueryTest.class.getName());
+  private MySQLTestUtils mySQLTestUtils = new MySQLTestUtils();
 
   @Override
   protected Log getLogger() {
@@ -50,13 +51,14 @@ public class MySQLFreeFormQueryTest extends TestFreeFormQueryImport {
 
   @Override
   protected String getConnectString() {
-    return MySQLTestUtils.CONNECT_STRING;
+    return mySQLTestUtils.getMySqlConnectString();
   }
 
   @Override
   protected SqoopOptions getSqoopOptions(Configuration conf) {
     SqoopOptions opts = new SqoopOptions(conf);
-    opts.setUsername(MySQLTestUtils.getCurrentUser());
+    opts.setUsername(mySQLTestUtils.getUserName());
+    mySQLTestUtils.addPasswordIfIsSet(opts);
     return opts;
   }
 

http://git-wip-us.apache.org/repos/asf/sqoop/blob/48cecdc9/src/test/com/cloudera/sqoop/manager/MySQLLobAvroImportTest.java
----------------------------------------------------------------------
diff --git a/src/test/com/cloudera/sqoop/manager/MySQLLobAvroImportTest.java b/src/test/com/cloudera/sqoop/manager/MySQLLobAvroImportTest.java
index df78142..cd146f4 100644
--- a/src/test/com/cloudera/sqoop/manager/MySQLLobAvroImportTest.java
+++ b/src/test/com/cloudera/sqoop/manager/MySQLLobAvroImportTest.java
@@ -37,6 +37,7 @@ public class MySQLLobAvroImportTest extends LobAvroImportTestCase {
 
   public static final Log LOG = LogFactory.getLog(
       OracleCompatTest.class.getName());
+  private MySQLTestUtils mySQLTestUtils = new MySQLTestUtils();
 
   @Override
   protected Log getLogger() {
@@ -50,13 +51,14 @@ public class MySQLLobAvroImportTest extends LobAvroImportTestCase {
 
   @Override
   protected String getConnectString() {
-    return MySQLTestUtils.CONNECT_STRING;
+    return mySQLTestUtils.getMySqlConnectString();
   }
 
   @Override
   protected SqoopOptions getSqoopOptions(Configuration conf) {
     SqoopOptions opts = new SqoopOptions(conf);
-    opts.setUsername(MySQLTestUtils.getCurrentUser());
+    opts.setUsername(mySQLTestUtils.getUserName());
+    mySQLTestUtils.addPasswordIfIsSet(opts);
     return opts;
   }
 

http://git-wip-us.apache.org/repos/asf/sqoop/blob/48cecdc9/src/test/com/cloudera/sqoop/manager/MySQLTestUtils.java
----------------------------------------------------------------------
diff --git a/src/test/com/cloudera/sqoop/manager/MySQLTestUtils.java b/src/test/com/cloudera/sqoop/manager/MySQLTestUtils.java
index 0af79d6..2e2448a 100644
--- a/src/test/com/cloudera/sqoop/manager/MySQLTestUtils.java
+++ b/src/test/com/cloudera/sqoop/manager/MySQLTestUtils.java
@@ -18,13 +18,16 @@
 
 package com.cloudera.sqoop.manager;
 
+import com.cloudera.sqoop.SqoopOptions;
+import jodd.util.StringUtil;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
 import java.io.BufferedReader;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.InputStreamReader;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
+import java.util.ArrayList;
 
 /**
  * Utilities for mysql-based tests.
@@ -34,29 +37,72 @@ public final class MySQLTestUtils {
   public static final Log LOG = LogFactory.getLog(
       MySQLTestUtils.class.getName());
 
-  public static final String HOST_URL = System.getProperty(
-      "sqoop.test.mysql.connectstring.host_url",
-      "jdbc:mysql://localhost/");
+  private String hostUrl;
+
+  private String userName;
+  private String userPass;
+
+  private String mysqlDbNAme;
+  private String mySqlConnectString;
+
+  public MySQLTestUtils() {
+    hostUrl = System.getProperty(
+        "sqoop.test.mysql.connectstring.host_url",
+        "jdbc:mysql://localhost/");
+    userName = System.getProperty("sqoop.test.mysql.username", getCurrentUser());
+    userPass = System.getProperty("sqoop.test.mysql.password");
+
+    mysqlDbNAme = System.getProperty("sqoop.test.mysql.databasename", "sqooptestdb");
+    mySqlConnectString = getHostUrl() + getMysqlDbNAme();
+  }
+
+  public String getHostUrl() {
+    return hostUrl;
+  }
+
+  public String getUserName() {
+    return userName;
+  }
+
+  public String getUserPass() {
+    return userPass;
+  }
+
+  public String getMysqlDbNAme() {
+    return mysqlDbNAme;
+  }
 
-  public static final String USER_NAME = System.getProperty("sqoop.test.mysql.username", "sqoop");
-  public static final String USER_PASS = System.getProperty("sqoop.test.mysql.password", "sqoop");
 
-  public static final String MYSQL_DATABASE_NAME = System.getProperty("sqoop.test.mysql.databasename", "sqooptestdb");
-  public static final String TABLE_NAME = "EMPLOYEES_MYSQL";
-  public static final String CONNECT_STRING = HOST_URL + MYSQL_DATABASE_NAME;
+  public String getMySqlConnectString() {
+    return mySqlConnectString;
+  }
 
-  private MySQLTestUtils() { }
+  public String[] addUserNameAndPasswordToArgs(String[] extraArgs) {
+    int extraLength = isSet(getUserPass()) ? 4 : 2;
+    String[] moreArgs = new String[extraArgs.length + extraLength];
+    int i = 0;
+    for (i = 0; i < extraArgs.length; i++) {
+      moreArgs[i] = extraArgs[i];
+    }
+
+    // Add username argument for mysql.
+    moreArgs[i++] = "--username";
+    moreArgs[i++] = getUserName();
+    if (isSet(userPass)) {
+      moreArgs[i++] = "--password";
+      moreArgs[i++] = getUserPass();
+    }
+    return moreArgs;
+  }
 
-  /** @return the current username. */
   public static String getCurrentUser() {
     // First, check the $USER environment variable.
     String envUser = System.getenv("USER");
     if (null != envUser) {
       return envUser;
     }
-
     // Try `whoami`
-    String [] whoamiArgs = new String[1];
+    String[] whoamiArgs = new String[1];
     whoamiArgs[0] = "whoami";
     Process p = null;
     BufferedReader r = null;
@@ -78,7 +124,6 @@ public final class MySQLTestUtils {
               + ioe.toString());
         }
       }
-
       // wait for whoami to exit.
       while (p != null) {
         try {
@@ -92,6 +137,25 @@ public final class MySQLTestUtils {
           continue; // loop around.
         }
       }
+
     }
   }
-}
+
+  public void addPasswordIfIsSet(ArrayList<String> args) {
+    if (isSet(userPass)) {
+      args.add("--password");
+      args.add(getUserPass());
+    }
+  }
+
+  private boolean isSet(String userPass) {
+    return !StringUtil.isBlank(userPass);
+  }
+
+  public void addPasswordIfIsSet(SqoopOptions opts) {
+    if (isSet(userPass)) {
+      opts.setPassword(getUserPass());
+    }
+  }
+
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/sqoop/blob/48cecdc9/src/test/org/apache/sqoop/manager/mysql/MySqlCallExportTest.java
----------------------------------------------------------------------
diff --git a/src/test/org/apache/sqoop/manager/mysql/MySqlCallExportTest.java b/src/test/org/apache/sqoop/manager/mysql/MySqlCallExportTest.java
index 6bf939b..420ab19 100644
--- a/src/test/org/apache/sqoop/manager/mysql/MySqlCallExportTest.java
+++ b/src/test/org/apache/sqoop/manager/mysql/MySqlCallExportTest.java
@@ -49,6 +49,7 @@ public class MySqlCallExportTest extends ExportJobTestCase {
 
   private final String tableName = "MYSQL_CALL_EXPORT_BASE_TABLE";
   private final String procName = "MYSQL_CALL_EXPORT_PROC";
+  private MySQLTestUtils mySQLTestUtils = new MySQLTestUtils();
 
   @Override
   public void setUp() {
@@ -150,13 +151,14 @@ public class MySqlCallExportTest extends ExportJobTestCase {
 
   @Override
   protected String getConnectString() {
-    return MySQLTestUtils.CONNECT_STRING;
+    return mySQLTestUtils.getMySqlConnectString();
   }
 
   @Override
   protected SqoopOptions getSqoopOptions(Configuration conf) {
     SqoopOptions opts = new SqoopOptions(conf);
-    opts.setUsername(MySQLTestUtils.getCurrentUser());
+    opts.setUsername(mySQLTestUtils.getUserName());
+    mySQLTestUtils.addPasswordIfIsSet(opts);
     return opts;
   }
 

http://git-wip-us.apache.org/repos/asf/sqoop/blob/48cecdc9/src/test/org/apache/sqoop/manager/mysql/MySqlColumnEscapeImportTest.java
----------------------------------------------------------------------
diff --git a/src/test/org/apache/sqoop/manager/mysql/MySqlColumnEscapeImportTest.java b/src/test/org/apache/sqoop/manager/mysql/MySqlColumnEscapeImportTest.java
index 87cd389..8a6b6fe 100644
--- a/src/test/org/apache/sqoop/manager/mysql/MySqlColumnEscapeImportTest.java
+++ b/src/test/org/apache/sqoop/manager/mysql/MySqlColumnEscapeImportTest.java
@@ -38,6 +38,7 @@ public class MySqlColumnEscapeImportTest extends ImportJobTestCase {
 
   public static final Log LOG = LogFactory.getLog(
       MySqlColumnEscapeImportTest.class.getName());
+  private MySQLTestUtils mySQLTestUtils = new MySQLTestUtils();
 
   @Override
   protected boolean useHsqldbTestServer() {
@@ -46,14 +47,14 @@ public class MySqlColumnEscapeImportTest extends ImportJobTestCase {
 
   @Override
   protected String getConnectString() {
-    return MySQLTestUtils.CONNECT_STRING;
+    return mySQLTestUtils.getMySqlConnectString();
   }
 
   @Override
   protected SqoopOptions getSqoopOptions(Configuration conf) {
     SqoopOptions opts = new SqoopOptions(conf);
-    opts.setUsername(MySQLTestUtils.USER_NAME);
-    opts.setPassword(MySQLTestUtils.USER_PASS);
+    opts.setUsername(mySQLTestUtils.getUserName());
+    mySQLTestUtils.addPasswordIfIsSet(opts);
     return opts;
   }
 
@@ -80,9 +81,8 @@ public class MySqlColumnEscapeImportTest extends ImportJobTestCase {
     args.add("--connect");
     args.add(getConnectString());
     args.add("--username");
-    args.add(MySQLTestUtils.USER_NAME);
-    args.add("--password");
-    args.add(MySQLTestUtils.USER_PASS);
+    args.add(mySQLTestUtils.getUserName());
+    mySQLTestUtils.addPasswordIfIsSet(args);
     args.add("--target-dir");
     args.add(getWarehouseDir());
     args.add("--num-mappers");


[2/2] sqoop git commit: SQOOP-3056: Add ant ivy report target

Posted by ma...@apache.org.
SQOOP-3056: Add ant ivy report target

(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/f9d76fd4
Tree: http://git-wip-us.apache.org/repos/asf/sqoop/tree/f9d76fd4
Diff: http://git-wip-us.apache.org/repos/asf/sqoop/diff/f9d76fd4

Branch: refs/heads/trunk
Commit: f9d76fd4a3558d6a1b03b52c9a8b1b2a703d6e50
Parents: 48cecdc
Author: Attila Szabo <ma...@apache.org>
Authored: Tue Nov 29 15:38:35 2016 +0100
Committer: Attila Szabo <ma...@apache.org>
Committed: Tue Nov 29 15:38:35 2016 +0100

----------------------------------------------------------------------
 build.xml | 5 +++++
 1 file changed, 5 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/sqoop/blob/f9d76fd4/build.xml
----------------------------------------------------------------------
diff --git a/build.xml b/build.xml
index cc8760b..3484d74 100644
--- a/build.xml
+++ b/build.xml
@@ -1568,4 +1568,9 @@
       testcasesonly="false"/>
   </target>
 
+  <target name="report" depends="ivy-resolve-hadoop">
+    <mkdir dir="build/report"/>
+    <ivy:report todir="build/report"/>
+  </target>
+
 </project>