Repository: sqoop
Updated Branches:
  refs/heads/sqoop2 96f3d9c19 -> f9d7c3a8e


http://git-wip-us.apache.org/repos/asf/sqoop/blob/5fd80fd5/test/src/test/java/org/apache/sqoop/integration/serverproperties/ConnectorClasspathIsolationTest.java
----------------------------------------------------------------------
diff --git 
a/test/src/test/java/org/apache/sqoop/integration/serverproperties/ConnectorClasspathIsolationTest.java
 
b/test/src/test/java/org/apache/sqoop/integration/serverproperties/ConnectorClasspathIsolationTest.java
deleted file mode 100644
index 1829257..0000000
--- 
a/test/src/test/java/org/apache/sqoop/integration/serverproperties/ConnectorClasspathIsolationTest.java
+++ /dev/null
@@ -1,190 +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 org.apache.sqoop.integration.serverproperties;
-
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.apache.commons.lang.StringUtils;
-import org.apache.hadoop.conf.Configuration;
-import org.apache.sqoop.core.ConfigurationConstants;
-import org.apache.sqoop.model.MDriverConfig;
-import org.apache.sqoop.model.MJob;
-import org.apache.sqoop.model.MLink;
-import org.apache.sqoop.test.infrastructure.Infrastructure;
-import org.apache.sqoop.test.infrastructure.SqoopTestCase;
-import 
org.apache.sqoop.test.infrastructure.providers.HadoopInfrastructureProvider;
-import 
org.apache.sqoop.test.infrastructure.providers.KdcInfrastructureProvider;
-import org.apache.sqoop.test.minicluster.JettySqoopMiniCluster;
-import org.apache.sqoop.test.minicluster.SqoopMiniCluster;
-import org.apache.sqoop.test.utils.ConnectorUtils;
-import org.apache.sqoop.test.utils.HdfsUtils;
-import org.testng.annotations.AfterMethod;
-import org.testng.annotations.BeforeMethod;
-import org.testng.annotations.Test;
-
-@Test(groups = "no-real-cluster")
-@Infrastructure(dependencies = {KdcInfrastructureProvider.class, 
HadoopInfrastructureProvider.class})
-public class ConnectorClasspathIsolationTest extends SqoopTestCase {
-
-  private static final String TEST_FROM_CONNECTOR_JAR_NAME = 
"test-from-connector.jar";
-  private static final String TEST_TO_CONNECTOR_JAR_NAME = 
"test-to-connector.jar";
-  private static final String TEST_FROM_DEPENDENCY_JAR_NAME = 
"test-from-dependency.jar";
-  private static final String TEST_TO_DEPENDENCY_JAR_NAME = 
"test-to-dependency.jar";
-
-  private static final String[] FROM_CONNECTOR_SOURCE_FILES = {
-    "TestConnectorClasspathIsolation/from/TestFromConnector.java",
-    "TestConnectorClasspathIsolation/from/TestExtractor.java",
-    "TestConnectorClasspathIsolation/from/TestFromDestroyer.java",
-    "TestConnectorClasspathIsolation/from/TestFromInitializer.java",
-    "TestConnectorClasspathIsolation/from/TestFromJobConfiguration.java",
-    "TestConnectorClasspathIsolation/from/TestPartition.java",
-    "TestConnectorClasspathIsolation/from/TestPartitioner.java",
-    "TestConnectorClasspathIsolation/from/TestFromLinkConfiguration.java"
-  };
-
-  private static final String[] FROM_CONNECTOR_DEPENDENCY_SOURCE_FILES = {
-    "TestConnectorClasspathIsolation/from/TestClasspathIsolation.java"
-  };
-
-  private static final String[] FROM_CONNECTOR_PROPERTY_FILES = {
-    "TestConnectorClasspathIsolation/from/sqoopconnector.properties"
-  };
-
-  private static final String[] TO_CONNECTOR_SOURCE_FILES = {
-    "TestConnectorClasspathIsolation/to/TestToConnector.java",
-    "TestConnectorClasspathIsolation/to/TestLoader.java",
-    "TestConnectorClasspathIsolation/to/TestToDestroyer.java",
-    "TestConnectorClasspathIsolation/to/TestToInitializer.java",
-    "TestConnectorClasspathIsolation/to/TestToJobConfiguration.java",
-    "TestConnectorClasspathIsolation/to/TestToLinkConfiguration.java"
-  };
-
-  private static final String[] TO_CONNECTOR_DEPENDENCY_SOURCE_FILES = {
-    "TestConnectorClasspathIsolation/to/TestClasspathIsolation.java"
-  };
-
-  private static final String[] TO_CONNECTOR_PROPERTY_FILES = {
-    "TestConnectorClasspathIsolation/to/sqoopconnector.properties"
-  };
-
-  private ClassLoader classLoader;
-  private SqoopMiniCluster sqoopMiniCluster;
-
-  public static class DerbySqoopMiniCluster extends JettySqoopMiniCluster {
-
-    private String extraClasspath;
-
-    public DerbySqoopMiniCluster(String temporaryPath, Configuration 
configuration, String extraClasspath) throws Exception {
-      super(temporaryPath, configuration);
-      this.extraClasspath = extraClasspath;
-    }
-
-    @Override
-    protected Map<String, String> getClasspathConfiguration() {
-      Map<String, String> properties = new HashMap<>();
-
-      if (extraClasspath != null) {
-        properties.put(ConfigurationConstants.CLASSPATH, extraClasspath);
-      }
-
-      return properties;
-    }
-  }
-
-  public void startSqoopMiniCluster(String extraClasspath) throws Exception {
-    // And use them for new Derby repo instance
-    sqoopMiniCluster = new 
DerbySqoopMiniCluster(HdfsUtils.joinPathFragments(super.getTemporaryPath(), 
getTestName()), getHadoopConf(), extraClasspath);
-    KdcInfrastructureProvider kdcProvider = 
getInfrastructureProvider(KdcInfrastructureProvider.class);
-    if (kdcProvider != null) {
-      sqoopMiniCluster.setKdc(kdcProvider.getInstance());
-    }
-
-    // Start server
-    sqoopMiniCluster.start();
-
-    // Initialize Sqoop Client API
-    initSqoopClient(sqoopMiniCluster.getServerUrl());
-  }
-
-  @BeforeMethod
-  public void captureClasspath() {
-    classLoader = Thread.currentThread().getContextClassLoader();
-  }
-
-  @AfterMethod
-  public void restoreClasspath(){
-    Thread.currentThread().setContextClassLoader(classLoader);
-  }
-
-  @Test
-  public void testConnectorClasspathIsolation() throws Exception {
-    Map<String, String> fromConnectorJarMap = 
ConnectorUtils.compileTestConnectorAndDependency(
-        FROM_CONNECTOR_SOURCE_FILES,
-        FROM_CONNECTOR_DEPENDENCY_SOURCE_FILES,
-        FROM_CONNECTOR_PROPERTY_FILES,
-        TEST_FROM_CONNECTOR_JAR_NAME,
-        TEST_FROM_DEPENDENCY_JAR_NAME,
-        true);
-    Map<String, String> toConnectorJarMap = 
ConnectorUtils.compileTestConnectorAndDependency(
-        TO_CONNECTOR_SOURCE_FILES,
-        TO_CONNECTOR_DEPENDENCY_SOURCE_FILES,
-        TO_CONNECTOR_PROPERTY_FILES,
-        TEST_TO_CONNECTOR_JAR_NAME,
-        TEST_TO_DEPENDENCY_JAR_NAME,
-        true);
-    startSqoopMiniCluster(
-        
StringUtils.join(Arrays.asList(fromConnectorJarMap.get(TEST_FROM_CONNECTOR_JAR_NAME),
 toConnectorJarMap.get(TEST_TO_CONNECTOR_JAR_NAME)), ":"));
-
-    MJob job = prepareJob();
-
-    prepareDriverConfig(job);
-
-    saveJob(job);
-
-    executeJob(job);
-
-    stopSqoop();
-    ConnectorUtils.deleteJars(fromConnectorJarMap);
-  }
-
-  private MJob prepareJob() {
-    MLink rdbmsConnection = getClient().createLink("test-from-connector");
-    saveLink(rdbmsConnection);
-
-    MLink testConnection = getClient().createLink("test-to-connector");
-    saveLink(testConnection);
-
-    MJob job = getClient().createJob(rdbmsConnection.getName(), 
testConnection.getName());
-
-    return job;
-  }
-
-  private MDriverConfig prepareDriverConfig(MJob job) {
-    MDriverConfig driverConfig = job.getDriverConfig();
-    driverConfig.getIntegerInput("throttlingConfig.numExtractors").setValue(3);
-
-    return driverConfig;
-  }
-
-  private void stopSqoop() throws Exception {
-    sqoopMiniCluster.stop();
-  }
-}

http://git-wip-us.apache.org/repos/asf/sqoop/blob/5fd80fd5/test/src/test/java/org/apache/sqoop/integration/serverproperties/SslTest.java
----------------------------------------------------------------------
diff --git 
a/test/src/test/java/org/apache/sqoop/integration/serverproperties/SslTest.java 
b/test/src/test/java/org/apache/sqoop/integration/serverproperties/SslTest.java
deleted file mode 100644
index 17503f3..0000000
--- 
a/test/src/test/java/org/apache/sqoop/integration/serverproperties/SslTest.java
+++ /dev/null
@@ -1,164 +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 org.apache.sqoop.integration.serverproperties;
-
-import org.apache.commons.io.FileUtils;
-import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.security.authentication.client.PseudoAuthenticator;
-import 
org.apache.hadoop.security.token.delegation.web.DelegationTokenAuthenticatedURL;
-import org.apache.sqoop.security.SecurityConstants;
-import org.apache.sqoop.test.infrastructure.Infrastructure;
-import org.apache.sqoop.test.infrastructure.SqoopTestCase;
-import 
org.apache.sqoop.test.infrastructure.providers.DatabaseInfrastructureProvider;
-import 
org.apache.sqoop.test.infrastructure.providers.HadoopInfrastructureProvider;
-import 
org.apache.sqoop.test.infrastructure.providers.KdcInfrastructureProvider;
-import org.apache.sqoop.test.minicluster.JettySqoopMiniCluster;
-import org.apache.sqoop.test.minicluster.SqoopMiniCluster;
-import org.apache.sqoop.test.utils.HdfsUtils;
-import org.apache.sqoop.test.utils.SecurityUtils;
-import org.apache.sqoop.test.utils.SqoopUtils;
-import org.eclipse.jetty.util.ssl.SslContextFactory;
-import org.testng.annotations.AfterMethod;
-import org.testng.annotations.BeforeMethod;
-import org.testng.annotations.Test;
-
-import javax.net.ssl.HostnameVerifier;
-import javax.net.ssl.HttpsURLConnection;
-import javax.net.ssl.SSLContext;
-import javax.net.ssl.SSLSession;
-import javax.ws.rs.HttpMethod;
-import javax.ws.rs.core.MediaType;
-import java.io.File;
-import java.net.HttpURLConnection;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.security.cert.Certificate;
-import java.security.cert.X509Certificate;
-import java.util.Map;
-
-import static org.testng.Assert.assertEquals;
-
-@Infrastructure(dependencies = {KdcInfrastructureProvider.class, 
HadoopInfrastructureProvider.class, DatabaseInfrastructureProvider.class})
-@Test(groups = {"no-real-cluster"})
-public class SslTest extends SqoopTestCase {
-
-  private SqoopMiniCluster sqoopMiniCluster;
-  private SSLContext defaultSslContext;
-  private HostnameVerifier defaultHostNameVerifier;
-
-  public static class SslSqoopMiniCluster extends JettySqoopMiniCluster {
-
-    private String keyStoreFilePath;
-    private String keyStorePassword;
-    private String keyManagerPassword;
-
-    public SslSqoopMiniCluster(String temporaryPath, Configuration 
configuration, String keyStoreFilePath, String keyStorePassword, String 
keyManagerPassword) throws Exception {
-      super(temporaryPath, configuration);
-      this.keyStoreFilePath = keyStoreFilePath;
-      this.keyStorePassword = keyStorePassword;
-      this.keyManagerPassword = keyManagerPassword;
-    }
-
-    @Override
-    protected Map<String, String> getSecurityConfiguration() {
-      Map<String, String> properties = super.getSecurityConfiguration();
-
-      properties.put(SecurityConstants.TLS_ENABLED, String.valueOf(true));
-      properties.put(SecurityConstants.TLS_PROTOCOL, "TLSv1.2");
-      properties.put(SecurityConstants.KEYSTORE_LOCATION, keyStoreFilePath);
-      properties.put(SecurityConstants.KEYSTORE_PASSWORD, keyStorePassword);
-      properties.put(SecurityConstants.KEYMANAGER_PASSWORD, 
keyManagerPassword);
-
-      return properties;
-    }
-  }
-
-  @BeforeMethod
-  public void backupSslContext() throws Exception {
-    defaultSslContext = SSLContext.getDefault();
-    defaultHostNameVerifier = HttpsURLConnection.getDefaultHostnameVerifier();
-  }
-
-  @AfterMethod
-  public void restoreSslContext() {
-    SSLContext.setDefault(defaultSslContext);
-    HttpsURLConnection.setDefaultHostnameVerifier(defaultHostNameVerifier);
-  }
-
-  @AfterMethod
-  public void stopCluster() throws Exception {
-    sqoopMiniCluster.stop();
-  }
-
-  @Test
-  public void testSslInUse() throws Exception {
-    String sslKeystoresDir = getTemporaryPath() + "ssl-keystore/";
-    String sslConfDir = SqoopUtils.getClasspathDir(SslTest.class);
-    FileUtils.deleteDirectory(new File(sslKeystoresDir));
-    FileUtils.forceMkdir(new File(sslKeystoresDir));
-    X509Certificate serverCertificate = SecurityUtils.setupSSLConfig(
-      sslKeystoresDir, sslConfDir, new Configuration(), false, true);
-
-    sqoopMiniCluster =
-      new SslSqoopMiniCluster(HdfsUtils.joinPathFragments(getTemporaryPath(), 
getTestName()), getHadoopConf(), sslKeystoresDir + 
SecurityUtils.SERVER_KEYSTORE, SecurityUtils.SERVER_KEY_STORE_PASSWORD, 
SecurityUtils.SERVER_KEY_PASSWORD);
-
-    KdcInfrastructureProvider kdcProvider = 
getInfrastructureProvider(KdcInfrastructureProvider.class);
-    if (kdcProvider != null) {
-      sqoopMiniCluster.setKdc(kdcProvider.getInstance());
-    }
-
-    sqoopMiniCluster.start();
-
-    // Bypass hostname verification
-    HttpsURLConnection.setDefaultHostnameVerifier(new HostnameVerifier() {
-      public boolean verify(String hostname, SSLSession session) {
-        try {
-          if (hostname.equals((new 
URL(sqoopMiniCluster.getServerUrl())).getHost())) {
-            return true;
-          }
-        } catch (MalformedURLException e) {
-          return false;
-        }
-        return false;
-      }
-    });
-
-    SslContextFactory sslContextFactory = new SslContextFactory();
-    sslContextFactory.setKeyStorePath(sslKeystoresDir + 
SecurityUtils.TRUSTSTORE);
-
-    sslContextFactory.start();
-
-    SSLContext.setDefault(sslContextFactory.getSslContext());
-
-    initSqoopClient(sqoopMiniCluster.getServerUrl());
-
-    // Make a request and check the cert
-    URL url = new URL(sqoopMiniCluster.getServerUrl() + "version?" +
-      PseudoAuthenticator.USER_NAME + "=" + System.getProperty("user.name"));
-    HttpURLConnection conn = new 
DelegationTokenAuthenticatedURL().openConnection(url, getAuthToken());
-    conn.setRequestMethod(HttpMethod.GET);
-    conn.setRequestProperty("Accept", MediaType.APPLICATION_JSON);
-
-    assertEquals(conn.getResponseCode(), 200);
-
-    HttpsURLConnection secured = (HttpsURLConnection) conn;
-    Certificate actualCertificate = secured.getServerCertificates()[0];
-    assertEquals(actualCertificate, serverCertificate);
-  }
-
-}

http://git-wip-us.apache.org/repos/asf/sqoop/blob/5fd80fd5/test/src/test/resources/connector-loading-tests-suite.xml
----------------------------------------------------------------------
diff --git a/test/src/test/resources/connector-loading-tests-suite.xml 
b/test/src/test/resources/connector-loading-tests-suite.xml
new file mode 100644
index 0000000..c03fb4f
--- /dev/null
+++ b/test/src/test/resources/connector-loading-tests-suite.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+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.
+-->
+
+<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd"; >
+
+<suite name="ConnectorLoadingTests" verbose="2" parallel="false">
+
+    <listeners>
+        <listener class-name="org.apache.sqoop.test.testng.SqoopTestListener" 
/>
+        <listener 
class-name="org.apache.sqoop.test.testng.ReconfigureLogListener" />
+    </listeners>
+
+    <test name="ConnectorLoadingTests">
+        <packages>
+            <package name="org.apache.sqoop.integration.connectorloading"/>
+        </packages>
+    </test>
+
+</suite>

http://git-wip-us.apache.org/repos/asf/sqoop/blob/5fd80fd5/test/src/test/resources/server-properties-tests-suite.xml
----------------------------------------------------------------------
diff --git a/test/src/test/resources/server-properties-tests-suite.xml 
b/test/src/test/resources/server-properties-tests-suite.xml
deleted file mode 100644
index 2743996..0000000
--- a/test/src/test/resources/server-properties-tests-suite.xml
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-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.
--->
-
-<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd"; >
-
-<suite name="ServerPropertiesTests" verbose="2" parallel="false">
-
-    <listeners>
-        <listener class-name="org.apache.sqoop.test.testng.SqoopTestListener" 
/>
-        <listener 
class-name="org.apache.sqoop.test.testng.ReconfigureLogListener" />
-    </listeners>
-
-    <test name="ServerPropertiesTests">
-        <packages>
-            <package name="org.apache.sqoop.integration.serverproperties"/>
-        </packages>
-    </test>
-
-</suite>

Reply via email to