5
0
mirror of https://github.com/apache/sqoop.git synced 2025-05-16 17:00:53 +08:00

SQOOP-3174: Add SQLServer manual tests to 3rd party test suite

(Boglarka Egyed via Anna Szonyi)
This commit is contained in:
Anna Szonyi 2017-05-15 10:03:49 +02:00
parent 0ca73d4e71
commit 558bdaea90
15 changed files with 73 additions and 47 deletions

View File

@ -743,7 +743,7 @@
<sysproperty key="test.build.data" value="${build.test}/data"/> <sysproperty key="test.build.data" value="${build.test}/data"/>
<sysproperty key="build.test" value="${build.test}"/> <sysproperty key="build.test" value="${build.test}"/>
<!-- microsoft sqlserver manual test related properties--> <!-- microsoft sqlserver thirdparty test related properties-->
<sysproperty key="test.data.dir" value="${basedir}/testdata"/> <sysproperty key="test.data.dir" value="${basedir}/testdata"/>
<sysproperty key="ms.datatype.test.data.file.export" value="DatatypeTestData-export-lite.txt"/> <sysproperty key="ms.datatype.test.data.file.export" value="DatatypeTestData-export-lite.txt"/>
<sysproperty key="ms.datatype.test.data.file.import" value="DatatypeTestData-import-lite.txt"/> <sysproperty key="ms.datatype.test.data.file.import" value="DatatypeTestData-import-lite.txt"/>

View File

@ -43,12 +43,12 @@
import static org.junit.Assert.fail; import static org.junit.Assert.fail;
/** /**
* Please see instructions in SQLServerManagerImportManualTest. * Please see instructions in SQLServerManagerImportTest.
*/ */
public class SQLServerManagerExportManualTest extends ExportJobTestCase { public class SQLServerManagerExportTest extends ExportJobTestCase {
public static final Log LOG = LogFactory.getLog( public static final Log LOG = LogFactory.getLog(
SQLServerManagerExportManualTest.class.getName()); SQLServerManagerExportTest.class.getName());
static final String HOST_URL = System.getProperty( static final String HOST_URL = System.getProperty(
"sqoop.test.sqlserver.connectstring.host_url", "sqoop.test.sqlserver.connectstring.host_url",

View File

@ -55,22 +55,24 @@
* Since this requires an SQLServer installation, * Since this requires an SQLServer installation,
* this class is named in such a way that Sqoop's default QA process does * this class is named in such a way that Sqoop's default QA process does
* not run it. You need to run this manually with * not run it. You need to run this manually with
* -Dtestcase=SQLServerManagerImportManualTest. * -Dtestcase=SQLServerManagerImportTest or -Dthirdparty=true.
* *
* You need to put SQL Server JDBC driver library (sqljdbc4.jar) in a location * You need to put SQL Server JDBC driver library (sqljdbc4.jar) in a location
* where Sqoop will be able to access it (since this library cannot be checked * where Sqoop will be able to access it (since this library cannot be checked
* into Apache's tree for licensing reasons). * into Apache's tree for licensing reasons) and set it's path through -Dsqoop.thirdparty.lib.dir.
* *
* To set up your test environment: * To set up your test environment:
* Install SQL Server Express 2012 * Install SQL Server Express 2012
* Create a database SQOOPTEST * Create a database SQOOPTEST
* Create a login SQOOPUSER with password PASSWORD and grant all * Create a login SQOOPUSER with password PASSWORD and grant all
* access for SQOOPTEST to SQOOPUSER. * access for SQOOPTEST to SQOOPUSER.
* Set these through -Dsqoop.test.sqlserver.connectstring.host_url, -Dsqoop.test.sqlserver.database and
* -Dms.sqlserver.password
*/ */
public class SQLServerManagerImportManualTest extends ImportJobTestCase { public class SQLServerManagerImportTest extends ImportJobTestCase {
public static final Log LOG = LogFactory.getLog( public static final Log LOG = LogFactory.getLog(
SQLServerManagerImportManualTest.class.getName()); SQLServerManagerImportTest.class.getName());
static final String HOST_URL = System.getProperty( static final String HOST_URL = System.getProperty(
"sqoop.test.sqlserver.connectstring.host_url", "sqoop.test.sqlserver.connectstring.host_url",

View File

@ -36,19 +36,21 @@
* Since this requires an SQLServer installation, * Since this requires an SQLServer installation,
* this class is named in such a way that Sqoop's default QA process does * this class is named in such a way that Sqoop's default QA process does
* not run it. You need to run this manually with * not run it. You need to run this manually with
* -Dtestcase=SQLServerDatatypeExportDelimitedFileManualTest. * -Dtestcase=SQLServerDatatypeExportDelimitedFileTest or -Dthirdparty=true.
* *
* You need to put SQL Server JDBC driver library (sqljdbc4.jar) in a location * You need to put SQL Server JDBC driver library (sqljdbc4.jar) in a location
* where Sqoop will be able to access it (since this library cannot be checked * where Sqoop will be able to access it (since this library cannot be checked
* into Apache's tree for licensing reasons). * into Apache's tree for licensing reasons) and set it's path through -Dsqoop.thirdparty.lib.dir.
* *
* To set up your test environment: * To set up your test environment:
* Install SQL Server Express 2012 * Install SQL Server Express 2012
* Create a database SQOOPTEST * Create a database SQOOPTEST
* Create a login SQOOPUSER with password PASSWORD and grant all * Create a login SQOOPUSER with password PASSWORD and grant all
* access for SQOOPTEST to SQOOPUSER. * access for SQOOPTEST to SQOOPUSER.
* Set these through -Dsqoop.test.sqlserver.connectstring.host_url, -Dsqoop.test.sqlserver.database and
* -Dms.sqlserver.password
*/ */
public class SQLServerDatatypeExportDelimitedFileManualTest public class SQLServerDatatypeExportDelimitedFileTest
extends ManagerCompatExport { extends ManagerCompatExport {
@Override @Override

View File

@ -49,19 +49,21 @@
* Since this requires an SQLServer installation, * Since this requires an SQLServer installation,
* this class is named in such a way that Sqoop's default QA process does * this class is named in such a way that Sqoop's default QA process does
* not run it. You need to run this manually with * not run it. You need to run this manually with
* -Dtestcase=SQLServerDatatypeExportSequenceFileManualTest. * -Dtestcase=SQLServerDatatypeExportSequenceFileTest or -Dthirdparty=true.
* *
* You need to put SQL Server JDBC driver library (sqljdbc4.jar) in a location * You need to put SQL Server JDBC driver library (sqljdbc4.jar) in a location
* where Sqoop will be able to access it (since this library cannot be checked * where Sqoop will be able to access it (since this library cannot be checked
* into Apache's tree for licensing reasons). * into Apache's tree for licensing reasons) and set it's path through -Dsqoop.thirdparty.lib.dir.
* *
* To set up your test environment: * To set up your test environment:
* Install SQL Server Express 2012 * Install SQL Server Express 2012
* Create a database SQOOPTEST * Create a database SQOOPTEST
* Create a login SQOOPUSER with password PASSWORD and grant all * Create a login SQOOPUSER with password PASSWORD and grant all
* access for SQOOPTEST to SQOOPUSER. * access for SQOOPTEST to SQOOPUSER.
* Set these through -Dsqoop.test.sqlserver.connectstring.host_url, -Dsqoop.test.sqlserver.database and
* -Dms.sqlserver.password
*/ */
public class SQLServerDatatypeExportSequenceFileManualTest public class SQLServerDatatypeExportSequenceFileTest
extends ManagerCompatExport { extends ManagerCompatExport {
private static Map jars = new HashMap(); private static Map jars = new HashMap();

View File

@ -51,20 +51,22 @@
* Since this requires an SQLServer installation, * Since this requires an SQLServer installation,
* this class is named in such a way that Sqoop's default QA process does * this class is named in such a way that Sqoop's default QA process does
* not run it. You need to run this manually with * not run it. You need to run this manually with
* -Dtestcase=SQLServerDatatypeImportDelimitedFileManualTest. * -Dtestcase=SQLServerDatatypeImportDelimitedFileTest or -Dthirdparty=true.
* *
* You need to put SQL Server JDBC driver library (sqljdbc4.jar) in a location * You need to put SQL Server JDBC driver library (sqljdbc4.jar) in a location
* where Sqoop will be able to access it (since this library cannot be checked * where Sqoop will be able to access it (since this library cannot be checked
* into Apache's tree for licensing reasons). * into Apache's tree for licensing reasons) and set it's path through -Dsqoop.thirdparty.lib.dir.
* *
* To set up your test environment: * To set up your test environment:
* Install SQL Server Express 2012 * Install SQL Server Express 2012
* Create a database SQOOPTEST * Create a database SQOOPTEST
* Create a login SQOOPUSER with password PASSWORD and grant all * Create a login SQOOPUSER with password PASSWORD and grant all
* access for SQOOPTEST to SQOOPUSER. * access for SQOOPTEST to SQOOPUSER.
* Set these through -Dsqoop.test.sqlserver.connectstring.host_url, -Dsqoop.test.sqlserver.database and
* -Dms.sqlserver.password
*/ */
public class SQLServerDatatypeImportDelimitedFileManualTest public class SQLServerDatatypeImportDelimitedFileTest
extends SQLServerDatatypeImportSequenceFileManualTest { extends SQLServerDatatypeImportSequenceFileTest {
/** /**
* Create the argv to pass to Sqoop. * Create the argv to pass to Sqoop.

View File

@ -49,23 +49,25 @@
* Since this requires an SQLServer installation, * Since this requires an SQLServer installation,
* this class is named in such a way that Sqoop's default QA process does * this class is named in such a way that Sqoop's default QA process does
* not run it. You need to run this manually with * not run it. You need to run this manually with
* -Dtestcase=SQLServerDatatypeImportSequenceFileManualTest. * -Dtestcase=SQLServerDatatypeImportSequenceFileTest or -Dthirdparty=true.
* *
* You need to put SQL Server JDBC driver library (sqljdbc4.jar) in a location * You need to put SQL Server JDBC driver library (sqljdbc4.jar) in a location
* where Sqoop will be able to access it (since this library cannot be checked * where Sqoop will be able to access it (since this library cannot be checked
* into Apache's tree for licensing reasons). * into Apache's tree for licensing reasons) and set it's path through -Dsqoop.thirdparty.lib.dir.
* *
* To set up your test environment: * To set up your test environment:
* Install SQL Server Express 2012 * Install SQL Server Express 2012
* Create a database SQOOPTEST * Create a database SQOOPTEST
* Create a login SQOOPUSER with password PASSWORD and grant all * Create a login SQOOPUSER with password PASSWORD and grant all
* access for SQOOPTEST to SQOOPUSER. * access for SQOOPTEST to SQOOPUSER.
* Set these through -Dsqoop.test.sqlserver.connectstring.host_url, -Dsqoop.test.sqlserver.database and
* -Dms.sqlserver.password
*/ */
public class SQLServerDatatypeImportSequenceFileManualTest extends public class SQLServerDatatypeImportSequenceFileTest extends
ManagerCompatTestCase { ManagerCompatTestCase {
public static final Log LOG = LogFactory.getLog( public static final Log LOG = LogFactory.getLog(
SQLServerDatatypeImportSequenceFileManualTest.class.getName()); SQLServerDatatypeImportSequenceFileTest.class.getName());
private static MSSQLTestDataFileParser tdfs; private static MSSQLTestDataFileParser tdfs;
private static Map report; private static Map report;

View File

@ -43,19 +43,21 @@
* Since this requires an SQLServer installation, * Since this requires an SQLServer installation,
* this class is named in such a way that Sqoop's default QA process does * this class is named in such a way that Sqoop's default QA process does
* not run it. You need to run this manually with * not run it. You need to run this manually with
* -Dtestcase=SQLServerHiveImportManualTest. * -Dtestcase=SQLServerHiveImportTest or -Dthirdparty=true.
* *
* You need to put SQL Server JDBC driver library (sqljdbc4.jar) in a location * You need to put SQL Server JDBC driver library (sqljdbc4.jar) in a location
* where Sqoop will be able to access it (since this library cannot be checked * where Sqoop will be able to access it (since this library cannot be checked
* into Apache's tree for licensing reasons). * into Apache's tree for licensing reasons) and set it's path through -Dsqoop.thirdparty.lib.dir.
* *
* To set up your test environment: * To set up your test environment:
* Install SQL Server Express 2012 * Install SQL Server Express 2012
* Create a database SQOOPTEST * Create a database SQOOPTEST
* Create a login SQOOPUSER with password PASSWORD and grant all * Create a login SQOOPUSER with password PASSWORD and grant all
* access for SQOOPTEST to SQOOPUSER. * access for SQOOPTEST to SQOOPUSER.
* Set these through -Dsqoop.test.sqlserver.connectstring.host_url, -Dsqoop.test.sqlserver.database and
* -Dms.sqlserver.password
*/ */
public class SQLServerHiveImportManualTest extends TestHiveImport { public class SQLServerHiveImportTest extends TestHiveImport {
@Before @Before
public void setUp() { public void setUp() {

View File

@ -54,22 +54,24 @@
* Since this requires an SQLServer installation, * Since this requires an SQLServer installation,
* this class is named in such a way that Sqoop's default QA process does * this class is named in such a way that Sqoop's default QA process does
* not run it. You need to run this manually with * not run it. You need to run this manually with
* -Dtestcase=SQLServerManagerManualTest. * -Dtestcase=SQLServerManagerTest or -Dthirdparty=true.
* *
* You need to put SQL Server JDBC driver library (sqljdbc4.jar) in a location * You need to put SQL Server JDBC driver library (sqljdbc4.jar) in a location
* where Sqoop will be able to access it (since this library cannot be checked * where Sqoop will be able to access it (since this library cannot be checked
* into Apache's tree for licensing reasons). * into Apache's tree for licensing reasons) and set it's path through -Dsqoop.thirdparty.lib.dir.
* *
* To set up your test environment: * To set up your test environment:
* Install SQL Server Express 2012 * Install SQL Server Express 2012
* Create a database SQOOPTEST * Create a database SQOOPTEST
* Create a login SQOOPUSER with password PASSWORD and grant all * Create a login SQOOPUSER with password PASSWORD and grant all
* access for SQOOPTEST to SQOOPUSER. * access for SQOOPTEST to SQOOPUSER.
* Set these through -Dsqoop.test.sqlserver.connectstring.host_url, -Dsqoop.test.sqlserver.database and
* -Dms.sqlserver.password
*/ */
public class SQLServerManagerManualTest { public class SQLServerManagerTest {
public static final Log LOG = LogFactory.getLog( public static final Log LOG = LogFactory.getLog(
SQLServerManagerManualTest.class.getName()); SQLServerManagerTest.class.getName());
/** the name of a table that doesn't exist. */ /** the name of a table that doesn't exist. */
static final String MISSING_TABLE = "MISSING_TABLE"; static final String MISSING_TABLE = "MISSING_TABLE";

View File

@ -36,19 +36,21 @@
* Since this requires an SQLServer installation, * Since this requires an SQLServer installation,
* this class is named in such a way that Sqoop's default QA process does * this class is named in such a way that Sqoop's default QA process does
* not run it. You need to run this manually with * not run it. You need to run this manually with
* -Dtestcase=SQLServerMultiColsManualTest. * -Dtestcase=SQLServerMultiColsTest or -Dthirdparty=true.
* *
* You need to put SQL Server JDBC driver library (sqljdbc4.jar) in a location * You need to put SQL Server JDBC driver library (sqljdbc4.jar) in a location
* where Sqoop will be able to access it (since this library cannot be checked * where Sqoop will be able to access it (since this library cannot be checked
* into Apache's tree for licensing reasons). * into Apache's tree for licensing reasons) and set it's path through -Dsqoop.thirdparty.lib.dir.
* *
* To set up your test environment: * To set up your test environment:
* Install SQL Server Express 2012 * Install SQL Server Express 2012
* Create a database SQOOPTEST * Create a database SQOOPTEST
* Create a login SQOOPUSER with password PASSWORD and grant all * Create a login SQOOPUSER with password PASSWORD and grant all
* access for SQOOPTEST to SQOOPUSER. * access for SQOOPTEST to SQOOPUSER.
* Set these through -Dsqoop.test.sqlserver.connectstring.host_url, -Dsqoop.test.sqlserver.database and
* -Dms.sqlserver.password
*/ */
public class SQLServerMultiColsManualTest extends TestMultiCols { public class SQLServerMultiColsTest extends TestMultiCols {
protected boolean useHsqldbTestServer() { protected boolean useHsqldbTestServer() {
return false; return false;

View File

@ -60,19 +60,21 @@
* Since this requires an SQLServer installation, * Since this requires an SQLServer installation,
* this class is named in such a way that Sqoop's default QA process does * this class is named in such a way that Sqoop's default QA process does
* not run it. You need to run this manually with * not run it. You need to run this manually with
* -Dtestcase=SQLServerMultiMapsManualTest. * -Dtestcase=SQLServerMultiMapsTest or -Dthirdparty=true.
* *
* You need to put SQL Server JDBC driver library (sqljdbc4.jar) in a location * You need to put SQL Server JDBC driver library (sqljdbc4.jar) in a location
* where Sqoop will be able to access it (since this library cannot be checked * where Sqoop will be able to access it (since this library cannot be checked
* into Apache's tree for licensing reasons). * into Apache's tree for licensing reasons) and set it's path through -Dsqoop.thirdparty.lib.dir.
* *
* To set up your test environment: * To set up your test environment:
* Install SQL Server Express 2012 * Install SQL Server Express 2012
* Create a database SQOOPTEST * Create a database SQOOPTEST
* Create a login SQOOPUSER with password PASSWORD and grant all * Create a login SQOOPUSER with password PASSWORD and grant all
* access for SQOOPTEST to SQOOPUSER. * access for SQOOPTEST to SQOOPUSER.
* Set these through -Dsqoop.test.sqlserver.connectstring.host_url, -Dsqoop.test.sqlserver.database and
* -Dms.sqlserver.password
*/ */
public class SQLServerMultiMapsManualTest extends ImportJobTestCase { public class SQLServerMultiMapsTest extends ImportJobTestCase {
@Before @Before
public void setUp() { public void setUp() {

View File

@ -60,19 +60,21 @@
* Since this requires an SQLServer installation, * Since this requires an SQLServer installation,
* this class is named in such a way that Sqoop's default QA process does * this class is named in such a way that Sqoop's default QA process does
* not run it. You need to run this manually with * not run it. You need to run this manually with
* -Dtestcase=SQLServerParseMethodsManualTest. * -Dtestcase=SQLServerParseMethodsTest or -Dthirdparty=true.
* *
* You need to put SQL Server JDBC driver library (sqljdbc4.jar) in a location * You need to put SQL Server JDBC driver library (sqljdbc4.jar) in a location
* where Sqoop will be able to access it (since this library cannot be checked * where Sqoop will be able to access it (since this library cannot be checked
* into Apache's tree for licensing reasons). * into Apache's tree for licensing reasons) and set it's path through -Dsqoop.thirdparty.lib.dir.
* *
* To set up your test environment: * To set up your test environment:
* Install SQL Server Express 2012 * Install SQL Server Express 2012
* Create a database SQOOPTEST * Create a database SQOOPTEST
* Create a login SQOOPUSER with password PASSWORD and grant all * Create a login SQOOPUSER with password PASSWORD and grant all
* access for SQOOPTEST to SQOOPUSER. * access for SQOOPTEST to SQOOPUSER.
* Set these through -Dsqoop.test.sqlserver.connectstring.host_url, -Dsqoop.test.sqlserver.database and
* -Dms.sqlserver.password
*/ */
public class SQLServerParseMethodsManualTest extends ImportJobTestCase { public class SQLServerParseMethodsTest extends ImportJobTestCase {
@Before @Before
public void setUp() { public void setUp() {

View File

@ -54,19 +54,21 @@
* Since this requires an SQLServer installation, * Since this requires an SQLServer installation,
* this class is named in such a way that Sqoop's default QA process does * this class is named in such a way that Sqoop's default QA process does
* not run it. You need to run this manually with * not run it. You need to run this manually with
* -Dtestcase=SQLServerQueryManualTest. * -Dtestcase=SQLServerQueryTest or -Dthirdparty=true.
* *
* You need to put SQL Server JDBC driver library (sqljdbc4.jar) in a location * You need to put SQL Server JDBC driver library (sqljdbc4.jar) in a location
* where Sqoop will be able to access it (since this library cannot be checked * where Sqoop will be able to access it (since this library cannot be checked
* into Apache's tree for licensing reasons). * into Apache's tree for licensing reasons) and set it's path through -Dsqoop.thirdparty.lib.dir.
* *
* To set up your test environment: * To set up your test environment:
* Install SQL Server Express 2012 * Install SQL Server Express 2012
* Create a database SQOOPTEST * Create a database SQOOPTEST
* Create a login SQOOPUSER with password PASSWORD and grant all * Create a login SQOOPUSER with password PASSWORD and grant all
* access for SQOOPTEST to SQOOPUSER. * access for SQOOPTEST to SQOOPUSER.
* Set these through -Dsqoop.test.sqlserver.connectstring.host_url, -Dsqoop.test.sqlserver.database and
* -Dms.sqlserver.password
*/ */
public class SQLServerQueryManualTest extends ImportJobTestCase { public class SQLServerQueryTest extends ImportJobTestCase {
@Before @Before
public void setUp() { public void setUp() {

View File

@ -54,19 +54,21 @@
* Since this requires an SQLServer installation, * Since this requires an SQLServer installation,
* this class is named in such a way that Sqoop's default QA process does * this class is named in such a way that Sqoop's default QA process does
* not run it. You need to run this manually with * not run it. You need to run this manually with
* -Dtestcase=SQLServerSplitByManualTest. * -Dtestcase=SQLServerSplitByTest or -Dthirdparty=true.
* *
* You need to put SQL Server JDBC driver library (sqljdbc4.jar) in a location * You need to put SQL Server JDBC driver library (sqljdbc4.jar) in a location
* where Sqoop will be able to access it (since this library cannot be checked * where Sqoop will be able to access it (since this library cannot be checked
* into Apache's tree for licensing reasons). * into Apache's tree for licensing reasons) and set it's path through -Dsqoop.thirdparty.lib.dir.
* *
* To set up your test environment: * To set up your test environment:
* Install SQL Server Express 2012 * Install SQL Server Express 2012
* Create a database SQOOPTEST * Create a database SQOOPTEST
* Create a login SQOOPUSER with password PASSWORD and grant all * Create a login SQOOPUSER with password PASSWORD and grant all
* access for SQOOPTEST to SQOOPUSER. * access for SQOOPTEST to SQOOPUSER.
* Set these through -Dsqoop.test.sqlserver.connectstring.host_url, -Dsqoop.test.sqlserver.database and
* -Dms.sqlserver.password
*/ */
public class SQLServerSplitByManualTest extends ImportJobTestCase { public class SQLServerSplitByTest extends ImportJobTestCase {
@Before @Before
public void setUp() { public void setUp() {

View File

@ -54,19 +54,21 @@
* Since this requires an SQLServer installation, * Since this requires an SQLServer installation,
* this class is named in such a way that Sqoop's default QA process does * this class is named in such a way that Sqoop's default QA process does
* not run it. You need to run this manually with * not run it. You need to run this manually with
* -Dtestcase=SQLServerWhereManualTest. * -Dtestcase=SQLServerWhereTest or -Dthirdparty=true.
* *
* You need to put SQL Server JDBC driver library (sqljdbc4.jar) in a location * You need to put SQL Server JDBC driver library (sqljdbc4.jar) in a location
* where Sqoop will be able to access it (since this library cannot be checked * where Sqoop will be able to access it (since this library cannot be checked
* into Apache's tree for licensing reasons). * into Apache's tree for licensing reasons) and set it's path through -Dsqoop.thirdparty.lib.dir.
* *
* To set up your test environment: * To set up your test environment:
* Install SQL Server Express 2012 * Install SQL Server Express 2012
* Create a database SQOOPTEST * Create a database SQOOPTEST
* Create a login SQOOPUSER with password PASSWORD and grant all * Create a login SQOOPUSER with password PASSWORD and grant all
* access for SQOOPTEST to SQOOPUSER. * access for SQOOPTEST to SQOOPUSER.
* Set these through -Dsqoop.test.sqlserver.connectstring.host_url, -Dsqoop.test.sqlserver.database and
* -Dms.sqlserver.password
*/ */
public class SQLServerWhereManualTest extends ImportJobTestCase { public class SQLServerWhereTest extends ImportJobTestCase {
@Before @Before
public void setUp(){ public void setUp(){