Repository: knox Updated Branches: refs/heads/master d2f0fc0e5 -> 6657f2fd9
KNOX-963 - Use GatewayTestDriver to configure LDAP in gateway-tests Project: http://git-wip-us.apache.org/repos/asf/knox/repo Commit: http://git-wip-us.apache.org/repos/asf/knox/commit/6657f2fd Tree: http://git-wip-us.apache.org/repos/asf/knox/tree/6657f2fd Diff: http://git-wip-us.apache.org/repos/asf/knox/diff/6657f2fd Branch: refs/heads/master Commit: 6657f2fd9f52c8303fc9a2d1d72eef38be719288 Parents: d2f0fc0 Author: Colm O hEigeartaigh <cohei...@apache.org> Authored: Tue Aug 29 15:28:01 2017 +0100 Committer: Colm O hEigeartaigh <cohei...@apache.org> Committed: Tue Aug 29 15:28:01 2017 +0100 ---------------------------------------------------------------------- .../hadoop/gateway/GatewayTestDriver.java | 20 +++++---- .../hadoop/gateway/GatewayAdminFuncTest.java | 26 ++--------- .../gateway/GatewayAdminTopologyFuncTest.java | 30 +++---------- .../hadoop/gateway/GatewayAppFuncTest.java | 28 ++---------- .../hadoop/gateway/GatewayBasicFuncTest.java | 4 +- .../hadoop/gateway/GatewayDeployFuncTest.java | 27 ++---------- .../GatewayLdapDynamicGroupFuncTest.java | 43 ++++++------------- .../gateway/GatewayLdapGroupFuncTest.java | 38 ++++------------- .../gateway/GatewayLdapPosixGroupFuncTest.java | 34 +++++---------- .../gateway/GatewayLocalServiceFuncTest.java | 27 ++---------- .../hadoop/gateway/GatewayMultiFuncTest.java | 30 +++---------- .../hadoop/gateway/GatewaySampleFuncTest.java | 26 ++--------- .../hadoop/gateway/GatewaySslFuncTest.java | 28 ++---------- .../apache/hadoop/gateway/Knox242FuncTest.java | 45 ++++++-------------- .../gateway/KnoxCliLdapFuncTestNegative.java | 29 +++---------- .../gateway/KnoxCliLdapFuncTestPositive.java | 29 +++---------- .../hadoop/gateway/KnoxCliSysBindTest.java | 29 +++---------- 17 files changed, 111 insertions(+), 382 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/knox/blob/6657f2fd/gateway-test-release-utils/src/main/java/org/apache/hadoop/gateway/GatewayTestDriver.java ---------------------------------------------------------------------- diff --git a/gateway-test-release-utils/src/main/java/org/apache/hadoop/gateway/GatewayTestDriver.java b/gateway-test-release-utils/src/main/java/org/apache/hadoop/gateway/GatewayTestDriver.java index bcbeeea..3135123 100644 --- a/gateway-test-release-utils/src/main/java/org/apache/hadoop/gateway/GatewayTestDriver.java +++ b/gateway-test-release-utils/src/main/java/org/apache/hadoop/gateway/GatewayTestDriver.java @@ -95,7 +95,7 @@ public class GatewayTestDriver { Path path = FileSystems.getDefault().getPath(basedir, "/src/test/resources/users.ldif"); return setupLdap( port, path.toFile() ); } - + public int setupLdap( int port, File ldifConfig ) throws Exception { ldapTransport = new TcpTransport( port ); ldap = new SimpleLdapDirectoryServer( "dc=hadoop,dc=apache,dc=org", ldifConfig, ldapTransport ); @@ -169,13 +169,17 @@ public class GatewayTestDriver { } public void cleanup() throws Exception { - gateway.stop(); - FileUtils.deleteQuietly( new File( config.getGatewayTopologyDir() ) ); - FileUtils.deleteQuietly( new File( config.getGatewayConfDir() ) ); - FileUtils.deleteQuietly( new File( config.getGatewaySecurityDir() ) ); - FileUtils.deleteQuietly( new File( config.getGatewayDeploymentDir() ) ); - FileUtils.deleteQuietly( new File( config.getGatewayDataDir() ) ); - FileUtils.deleteQuietly( new File( config.getGatewayServicesDir() ) ); + if ( gateway != null ) { + gateway.stop(); + } + if ( config != null ) { + FileUtils.deleteQuietly( new File( config.getGatewayTopologyDir() ) ); + FileUtils.deleteQuietly( new File( config.getGatewayConfDir() ) ); + FileUtils.deleteQuietly( new File( config.getGatewaySecurityDir() ) ); + FileUtils.deleteQuietly( new File( config.getGatewayDeploymentDir() ) ); + FileUtils.deleteQuietly( new File( config.getGatewayDataDir() ) ); + FileUtils.deleteQuietly( new File( config.getGatewayServicesDir() ) ); + } for( Service service : services.values() ) { service.server.stop(); http://git-wip-us.apache.org/repos/asf/knox/blob/6657f2fd/gateway-test/src/test/java/org/apache/hadoop/gateway/GatewayAdminFuncTest.java ---------------------------------------------------------------------- diff --git a/gateway-test/src/test/java/org/apache/hadoop/gateway/GatewayAdminFuncTest.java b/gateway-test/src/test/java/org/apache/hadoop/gateway/GatewayAdminFuncTest.java index 8c73b57..ea4c779 100644 --- a/gateway-test/src/test/java/org/apache/hadoop/gateway/GatewayAdminFuncTest.java +++ b/gateway-test/src/test/java/org/apache/hadoop/gateway/GatewayAdminFuncTest.java @@ -19,9 +19,7 @@ package org.apache.hadoop.gateway; import com.mycila.xmltool.XMLDoc; import com.mycila.xmltool.XMLTag; -import org.apache.directory.server.protocol.shared.transport.TcpTransport; import org.apache.hadoop.gateway.config.GatewayConfig; -import org.apache.hadoop.gateway.security.ldap.SimpleLdapDirectoryServer; import org.apache.hadoop.gateway.services.DefaultGatewayServices; import org.apache.hadoop.gateway.services.ServiceLifecycleException; import org.apache.hadoop.test.TestUtils; @@ -40,10 +38,7 @@ import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; -import java.net.ServerSocket; import java.net.URL; -import java.nio.file.FileSystems; -import java.nio.file.Path; import java.util.HashMap; import java.util.Map; import java.util.UUID; @@ -62,14 +57,13 @@ public class GatewayAdminFuncTest { public static GatewayServer gateway; public static String gatewayUrl; public static String clusterUrl; - public static SimpleLdapDirectoryServer ldap; - public static TcpTransport ldapTransport; + private static GatewayTestDriver driver = new GatewayTestDriver(); @BeforeClass public static void setupSuite() throws Exception { TestUtils.LOG_ENTER(); //appenders = NoOpAppender.setUp(); - setupLdap(); + driver.setupLdap(0); setupGateway(); TestUtils.LOG_EXIT(); } @@ -78,24 +72,12 @@ public class GatewayAdminFuncTest { public static void cleanupSuite() throws Exception { TestUtils.LOG_ENTER(); gateway.stop(); - ldap.stop( true ); + driver.cleanup(); //FileUtils.deleteQuietly( new File( config.getGatewayHomeDir() ) ); //NoOpAppender.tearDown( appenders ); TestUtils.LOG_EXIT(); } - public static void setupLdap() throws Exception { - String basedir = System.getProperty("basedir"); - if (basedir == null) { - basedir = new File(".").getCanonicalPath(); - } - Path path = FileSystems.getDefault().getPath(basedir, "/src/test/resources/users.ldif"); - ldapTransport = new TcpTransport( 0 ); - ldap = new SimpleLdapDirectoryServer( "dc=hadoop,dc=apache,dc=org", path.toFile(), ldapTransport ); - ldap.start(); - LOG.info( "LDAP port = " + ldapTransport.getPort() ); - } - public static void setupGateway() throws Exception { File targetDir = new File( System.getProperty( "user.dir" ), "target" ); @@ -151,7 +133,7 @@ public class GatewayAdminFuncTest { .addTag( "value" ).addText( "uid={0},ou=people,dc=hadoop,dc=apache,dc=org" ).gotoParent() .addTag( "param" ) .addTag( "name" ).addText( "main.ldapRealm.contextFactory.url" ) - .addTag( "value" ).addText( "ldap://localhost:" + ldapTransport.getAcceptor().getLocalAddress().getPort() ).gotoParent() + .addTag( "value" ).addText( driver.getLdapUrl() ).gotoParent() .addTag( "param" ) .addTag( "name" ).addText( "main.ldapRealm.contextFactory.authenticationMechanism" ) .addTag( "value" ).addText( "simple" ).gotoParent() http://git-wip-us.apache.org/repos/asf/knox/blob/6657f2fd/gateway-test/src/test/java/org/apache/hadoop/gateway/GatewayAdminTopologyFuncTest.java ---------------------------------------------------------------------- diff --git a/gateway-test/src/test/java/org/apache/hadoop/gateway/GatewayAdminTopologyFuncTest.java b/gateway-test/src/test/java/org/apache/hadoop/gateway/GatewayAdminTopologyFuncTest.java index 204879e..9c8a38d 100644 --- a/gateway-test/src/test/java/org/apache/hadoop/gateway/GatewayAdminTopologyFuncTest.java +++ b/gateway-test/src/test/java/org/apache/hadoop/gateway/GatewayAdminTopologyFuncTest.java @@ -25,8 +25,6 @@ import java.io.StringReader; import java.net.URI; import java.net.URISyntaxException; import java.net.URL; -import java.nio.file.FileSystems; -import java.nio.file.Path; import java.util.Enumeration; import java.util.HashMap; import java.util.Map; @@ -36,9 +34,7 @@ import javax.ws.rs.core.MediaType; import com.jayway.restassured.http.ContentType; import com.mycila.xmltool.XMLDoc; import com.mycila.xmltool.XMLTag; -import org.apache.directory.server.protocol.shared.transport.TcpTransport; import org.apache.hadoop.gateway.config.GatewayConfig; -import org.apache.hadoop.gateway.security.ldap.SimpleLdapDirectoryServer; import org.apache.hadoop.gateway.services.DefaultGatewayServices; import org.apache.hadoop.gateway.services.GatewayServices; import org.apache.hadoop.gateway.services.ServiceLifecycleException; @@ -84,37 +80,23 @@ public class GatewayAdminTopologyFuncTest { public static GatewayServer gateway; public static String gatewayUrl; public static String clusterUrl; - public static SimpleLdapDirectoryServer ldap; - public static TcpTransport ldapTransport; + private static GatewayTestDriver driver = new GatewayTestDriver(); @BeforeClass public static void setupSuite() throws Exception { //appenders = NoOpAppender.setUp(); - setupLdap(); + driver.setupLdap(0); setupGateway(new GatewayTestConfig()); } @AfterClass public static void cleanupSuite() throws Exception { gateway.stop(); - ldap.stop( true ); + driver.cleanup(); //FileUtils.deleteQuietly( new File( config.getGatewayHomeDir() ) ); //NoOpAppender.tearDown( appenders ); } - public static void setupLdap() throws Exception { - String basedir = System.getProperty("basedir"); - if (basedir == null) { - basedir = new File(".").getCanonicalPath(); - } - Path path = FileSystems.getDefault().getPath(basedir, "/src/test/resources/users.ldif"); - - ldapTransport = new TcpTransport( 0 ); - ldap = new SimpleLdapDirectoryServer( "dc=hadoop,dc=apache,dc=org", path.toFile(), ldapTransport ); - ldap.start(); - LOG.info( "LDAP port = " + ldapTransport.getAcceptor().getLocalAddress().getPort() ); - } - public static void setupGateway(GatewayTestConfig testConfig) throws Exception { File targetDir = new File( System.getProperty( "user.dir" ), "target" ); @@ -182,7 +164,7 @@ public class GatewayAdminTopologyFuncTest { .addTag( "value" ).addText( "uid={0},ou=people,dc=hadoop,dc=apache,dc=org" ).gotoParent() .addTag( "param" ) .addTag( "name" ).addText( "main.ldapRealm.contextFactory.url" ) - .addTag( "value" ).addText( "ldap://localhost:" + ldapTransport.getAcceptor().getLocalAddress().getPort() ).gotoParent() + .addTag( "value" ).addText( driver.getLdapUrl() ).gotoParent() .addTag( "param" ) .addTag( "name" ).addText( "main.ldapRealm.contextFactory.authenticationMechanism" ) .addTag( "value" ).addText( "simple" ).gotoParent() @@ -225,7 +207,7 @@ public class GatewayAdminTopologyFuncTest { .addTag( "value" ).addText( "uid={0},ou=people,dc=hadoop,dc=apache,dc=org" ).gotoParent() .addTag( "param" ) .addTag( "name" ).addText( "main.ldapRealm.contextFactory.url" ) - .addTag( "value" ).addText( "ldap://localhost:" + ldapTransport.getAcceptor().getLocalAddress().getPort() ).gotoParent() + .addTag( "value" ).addText( driver.getLdapUrl() ).gotoParent() .addTag( "param" ) .addTag( "name" ).addText( "main.ldapRealm.contextFactory.authenticationMechanism" ) .addTag( "value" ).addText( "simple" ).gotoParent() @@ -474,7 +456,7 @@ public class GatewayAdminTopologyFuncTest { Param ldapURL = new Param(); ldapURL.setName("main.ldapRealm.contextFactory.url"); - ldapURL.setValue("ldap://localhost:" + ldapTransport.getAcceptor().getLocalAddress().getPort()); + ldapURL.setValue(driver.getLdapUrl()); Param ldapUserTemplate = new Param(); ldapUserTemplate.setName("main.ldapRealm.userDnTemplate"); http://git-wip-us.apache.org/repos/asf/knox/blob/6657f2fd/gateway-test/src/test/java/org/apache/hadoop/gateway/GatewayAppFuncTest.java ---------------------------------------------------------------------- diff --git a/gateway-test/src/test/java/org/apache/hadoop/gateway/GatewayAppFuncTest.java b/gateway-test/src/test/java/org/apache/hadoop/gateway/GatewayAppFuncTest.java index 2cd3ac7..3007dfa 100644 --- a/gateway-test/src/test/java/org/apache/hadoop/gateway/GatewayAppFuncTest.java +++ b/gateway-test/src/test/java/org/apache/hadoop/gateway/GatewayAppFuncTest.java @@ -20,8 +20,6 @@ package org.apache.hadoop.gateway; import java.io.File; import java.net.URL; import java.nio.charset.Charset; -import java.nio.file.FileSystems; -import java.nio.file.Path; import java.util.ArrayList; import java.util.Collection; import java.util.Enumeration; @@ -32,8 +30,6 @@ import java.util.Properties; import java.util.UUID; import org.apache.commons.io.FileUtils; -import org.apache.directory.server.protocol.shared.transport.TcpTransport; -import org.apache.hadoop.gateway.security.ldap.SimpleLdapDirectoryServer; import org.apache.hadoop.gateway.services.DefaultGatewayServices; import org.apache.hadoop.gateway.services.GatewayServices; import org.apache.hadoop.gateway.services.ServiceLifecycleException; @@ -76,18 +72,16 @@ public class GatewayAppFuncTest { private static int gatewayPort; private static String gatewayUrl; private static String clusterUrl; - private static SimpleLdapDirectoryServer ldap; - private static TcpTransport ldapTransport; - private static int ldapPort; private static Properties params; private static TopologyService topos; private static MockServer mockWebHdfs; + private static GatewayTestDriver driver = new GatewayTestDriver(); @BeforeClass public static void setupSuite() throws Exception { LOG_ENTER(); //appenders = NoOpAppender.setUp(); - setupLdap(); + driver.setupLdap(0); setupGateway(); LOG_EXIT(); } @@ -96,7 +90,7 @@ public class GatewayAppFuncTest { public static void cleanupSuite() throws Exception { LOG_ENTER(); gateway.stop(); - ldap.stop( true ); + driver.cleanup(); FileUtils.deleteQuietly( new File( config.getGatewayHomeDir() ) ); //NoOpAppender.tearDown( appenders ); LOG_EXIT(); @@ -108,20 +102,6 @@ public class GatewayAppFuncTest { FileUtils.cleanDirectory( new File( config.getGatewayDeploymentDir() ) ); } - public static void setupLdap() throws Exception { - String basedir = System.getProperty("basedir"); - if (basedir == null) { - basedir = new File(".").getCanonicalPath(); - } - Path path = FileSystems.getDefault().getPath(basedir, "/src/test/resources/users.ldif"); - - ldapTransport = new TcpTransport( 0 ); - ldap = new SimpleLdapDirectoryServer( "dc=hadoop,dc=apache,dc=org", path.toFile(), ldapTransport ); - ldap.start(); - ldapPort = ldapTransport.getAcceptor().getLocalAddress().getPort(); - LOG.info( "LDAP port = " + ldapPort ); - } - public static void setupGateway() throws Exception { File targetDir = new File( System.getProperty( "user.dir" ), "target" ); @@ -178,7 +158,7 @@ public class GatewayAppFuncTest { LOG.info( "Gateway port = " + gateway.getAddresses()[ 0 ].getPort() ); params = new Properties(); - params.put( "LDAP_URL", "ldap://localhost:" + ldapPort ); + params.put( "LDAP_URL", driver.getLdapUrl() ); params.put( "WEBHDFS_URL", "http://localhost:" + mockWebHdfs.getPort() ); } http://git-wip-us.apache.org/repos/asf/knox/blob/6657f2fd/gateway-test/src/test/java/org/apache/hadoop/gateway/GatewayBasicFuncTest.java ---------------------------------------------------------------------- diff --git a/gateway-test/src/test/java/org/apache/hadoop/gateway/GatewayBasicFuncTest.java b/gateway-test/src/test/java/org/apache/hadoop/gateway/GatewayBasicFuncTest.java index d8f1352..bbb801b 100644 --- a/gateway-test/src/test/java/org/apache/hadoop/gateway/GatewayBasicFuncTest.java +++ b/gateway-test/src/test/java/org/apache/hadoop/gateway/GatewayBasicFuncTest.java @@ -35,7 +35,6 @@ import java.util.Map; import java.util.Map.Entry; import javax.ws.rs.core.MediaType; -import com.jayway.restassured.RestAssured; import com.jayway.restassured.http.ContentType; import com.jayway.restassured.path.json.JsonPath; import com.jayway.restassured.response.Cookie; @@ -113,7 +112,7 @@ public class GatewayBasicFuncTest { private static Logger log = LoggerFactory.getLogger( GatewayBasicFuncTest.class ); - public static GatewayTestDriver driver = new GatewayTestDriver(); + private static GatewayTestDriver driver = new GatewayTestDriver(); // Controls the host name to which the gateway dispatch requests. This may be the name of a sandbox VM // or an EC2 instance. Currently only a single host is supported. @@ -147,7 +146,6 @@ public class GatewayBasicFuncTest { //Log.setLog( new NoOpLogger() ); LOG_ENTER(); GatewayTestConfig config = new GatewayTestConfig(); - config.setGatewayPath( "gateway" ); driver.setResourceBase(GatewayBasicFuncTest.class); driver.setupLdap(0); driver.setupService("WEBHDFS", "http://" + TEST_HOST + ":50070/webhdfs", "/cluster/webhdfs", USE_MOCK_SERVICES); http://git-wip-us.apache.org/repos/asf/knox/blob/6657f2fd/gateway-test/src/test/java/org/apache/hadoop/gateway/GatewayDeployFuncTest.java ---------------------------------------------------------------------- diff --git a/gateway-test/src/test/java/org/apache/hadoop/gateway/GatewayDeployFuncTest.java b/gateway-test/src/test/java/org/apache/hadoop/gateway/GatewayDeployFuncTest.java index a37181c..296f480 100644 --- a/gateway-test/src/test/java/org/apache/hadoop/gateway/GatewayDeployFuncTest.java +++ b/gateway-test/src/test/java/org/apache/hadoop/gateway/GatewayDeployFuncTest.java @@ -21,9 +21,7 @@ import com.jayway.restassured.response.Response; import com.mycila.xmltool.XMLDoc; import com.mycila.xmltool.XMLTag; import org.apache.commons.io.FileUtils; -import org.apache.directory.server.protocol.shared.transport.TcpTransport; import org.apache.hadoop.gateway.config.GatewayConfig; -import org.apache.hadoop.gateway.security.ldap.SimpleLdapDirectoryServer; import org.apache.hadoop.gateway.services.DefaultGatewayServices; import org.apache.hadoop.gateway.services.ServiceLifecycleException; import org.apache.hadoop.test.TestUtils; @@ -46,10 +44,7 @@ import java.io.FileOutputStream; import java.io.FilenameFilter; import java.io.IOException; import java.io.InputStream; -import java.net.ServerSocket; import java.net.URL; -import java.nio.file.FileSystems; -import java.nio.file.Path; import java.util.Enumeration; import java.util.HashMap; import java.util.Map; @@ -77,39 +72,25 @@ public class GatewayDeployFuncTest { public static File gatewayHome; public static String gatewayUrl; public static String clusterUrl; - public static SimpleLdapDirectoryServer ldap; - public static TcpTransport ldapTransport; + private static GatewayTestDriver driver = new GatewayTestDriver(); @BeforeClass public static void setupSuite() throws Exception { LOG_ENTER(); //appenders = NoOpAppender.setUp(); - setupLdap(); + driver.setupLdap(0); LOG_EXIT(); } @AfterClass public static void cleanupSuite() throws Exception { LOG_ENTER(); - ldap.stop( true ); + driver.cleanup(); //FileUtils.deleteQuietly( new File( config.getGatewayHomeDir() ) ); //NoOpAppender.tearDown( appenders ); LOG_EXIT(); } - public static void setupLdap() throws Exception { - String basedir = System.getProperty("basedir"); - if (basedir == null) { - basedir = new File(".").getCanonicalPath(); - } - Path path = FileSystems.getDefault().getPath(basedir, "/src/test/resources/users.ldif"); - - ldapTransport = new TcpTransport( 0 ); - ldap = new SimpleLdapDirectoryServer( "dc=hadoop,dc=apache,dc=org", path.toFile(), ldapTransport ); - ldap.start(); - LOG.info( "LDAP port = " + ldapTransport.getPort() ); - } - @Before public void setupGateway() throws Exception { @@ -169,7 +150,7 @@ public class GatewayDeployFuncTest { .addTag( "value" ).addText( "uid={0},ou=people,dc=hadoop,dc=apache,dc=org" ).gotoParent() .addTag( "param" ) .addTag( "name" ).addText( "main.ldapRealm.contextFactory.url" ) - .addTag( "value" ).addText( "ldap://localhost:" + ldapTransport.getAcceptor().getLocalAddress().getPort() ).gotoParent() + .addTag( "value" ).addText( driver.getLdapUrl() ).gotoParent() .addTag( "param" ) .addTag( "name" ).addText( "main.ldapRealm.contextFactory.authenticationMechanism" ) .addTag( "value" ).addText( "simple" ).gotoParent() http://git-wip-us.apache.org/repos/asf/knox/blob/6657f2fd/gateway-test/src/test/java/org/apache/hadoop/gateway/GatewayLdapDynamicGroupFuncTest.java ---------------------------------------------------------------------- diff --git a/gateway-test/src/test/java/org/apache/hadoop/gateway/GatewayLdapDynamicGroupFuncTest.java b/gateway-test/src/test/java/org/apache/hadoop/gateway/GatewayLdapDynamicGroupFuncTest.java index e04c73a..174eb58 100755 --- a/gateway-test/src/test/java/org/apache/hadoop/gateway/GatewayLdapDynamicGroupFuncTest.java +++ b/gateway-test/src/test/java/org/apache/hadoop/gateway/GatewayLdapDynamicGroupFuncTest.java @@ -30,8 +30,6 @@ import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.PrintStream; -import java.net.InetSocketAddress; -import java.net.ServerSocket; import java.net.URL; import java.nio.file.FileSystems; import java.nio.file.Path; @@ -40,10 +38,8 @@ import java.util.HashMap; import java.util.Map; import java.util.UUID; -import org.apache.directory.server.protocol.shared.transport.TcpTransport; import org.apache.hadoop.gateway.config.GatewayConfig; import org.apache.hadoop.gateway.config.impl.GatewayConfigImpl; -import org.apache.hadoop.gateway.security.ldap.SimpleLdapDirectoryServer; import org.apache.hadoop.gateway.services.DefaultGatewayServices; import org.apache.hadoop.gateway.services.GatewayServices; import org.apache.hadoop.gateway.services.ServiceLifecycleException; @@ -80,16 +76,19 @@ public class GatewayLdapDynamicGroupFuncTest { public static String gatewayUrl; public static String clusterUrl; public static String serviceUrl; - public static SimpleLdapDirectoryServer ldap; - public static TcpTransport ldapTransport; + private static GatewayTestDriver driver = new GatewayTestDriver(); @BeforeClass public static void setupSuite() throws Exception { LOG_ENTER(); //appenders = NoOpAppender.setUp(); - int port = setupLdap(); - setupGateway(port); - TestUtils.awaitPortOpen( new InetSocketAddress( "localhost", port ), 10000, 100 ); + String basedir = System.getProperty("basedir"); + if (basedir == null) { + basedir = new File(".").getCanonicalPath(); + } + Path path = FileSystems.getDefault().getPath(basedir, "/src/test/resources/users-dynamic.ldif"); + driver.setupLdap( 0, path.toFile() ); + setupGateway(); TestUtils.awaitNon404HttpStatus( new URL( serviceUrl ), 10000, 100 ); LOG_EXIT(); } @@ -98,27 +97,13 @@ public class GatewayLdapDynamicGroupFuncTest { public static void cleanupSuite() throws Exception { LOG_ENTER(); gateway.stop(); - ldap.stop( true ); + driver.cleanup(); //FileUtils.deleteQuietly( new File( config.getGatewayHomeDir() ) ); //NoOpAppender.tearDown( appenders ); LOG_EXIT(); } - public static int setupLdap() throws Exception { - String basedir = System.getProperty("basedir"); - if (basedir == null) { - basedir = new File(".").getCanonicalPath(); - } - Path path = FileSystems.getDefault().getPath(basedir, "/src/test/resources/users-dynamic.ldif"); - - ldapTransport = new TcpTransport( 0 ); - ldap = new SimpleLdapDirectoryServer( "dc=hadoop,dc=apache,dc=org", path.toFile(), ldapTransport ); - ldap.start(); - LOG.info( "LDAP port = " + ldapTransport.getAcceptor().getLocalAddress().getPort() ); - return ldapTransport.getAcceptor().getLocalAddress().getPort(); - } - - public static void setupGateway(int ldapPort) throws IOException, Exception { + public static void setupGateway() throws IOException, Exception { File targetDir = new File( System.getProperty( "user.dir" ), "target" ); File gatewayDir = new File( targetDir, "gateway-home-" + UUID.randomUUID() ); @@ -184,12 +169,12 @@ public class GatewayLdapDynamicGroupFuncTest { File descriptor = new File( topoDir, "testdg-cluster.xml" ); FileOutputStream stream = new FileOutputStream( descriptor ); - createTopology(ldapPort).toStream( stream ); + createTopology().toStream( stream ); stream.close(); } - private static XMLTag createTopology(int ldapPort) { + private static XMLTag createTopology() { XMLTag xml = XMLDoc.newDocument( true ) .addRoot( "topology" ) .addTag( "gateway" ) @@ -212,7 +197,7 @@ public class GatewayLdapDynamicGroupFuncTest { .addTag( "value" ).addText( "simple" ) .gotoParent().addTag( "param" ) .addTag( "name" ).addText( "main.ldapRealm.contextFactory.url" ) - .addTag( "value" ).addText( "ldap://localhost:" + ldapPort) + .addTag( "value" ).addText( driver.getLdapUrl()) .gotoParent().addTag( "param" ) .addTag( "name" ).addText( "main.ldapRealm.userDnTemplate" ) .addTag( "value" ).addText( "uid={0},ou=people,dc=hadoop,dc=apache,dc=org" ) @@ -325,5 +310,5 @@ public class GatewayLdapDynamicGroupFuncTest { .when().get( serviceUrl ); LOG_EXIT(); } - + } http://git-wip-us.apache.org/repos/asf/knox/blob/6657f2fd/gateway-test/src/test/java/org/apache/hadoop/gateway/GatewayLdapGroupFuncTest.java ---------------------------------------------------------------------- diff --git a/gateway-test/src/test/java/org/apache/hadoop/gateway/GatewayLdapGroupFuncTest.java b/gateway-test/src/test/java/org/apache/hadoop/gateway/GatewayLdapGroupFuncTest.java index 3945679..d34decc 100644 --- a/gateway-test/src/test/java/org/apache/hadoop/gateway/GatewayLdapGroupFuncTest.java +++ b/gateway-test/src/test/java/org/apache/hadoop/gateway/GatewayLdapGroupFuncTest.java @@ -30,20 +30,14 @@ import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.PrintStream; -import java.net.InetSocketAddress; -import java.net.ServerSocket; import java.net.URL; -import java.nio.file.FileSystems; -import java.nio.file.Path; import java.util.Enumeration; import java.util.HashMap; import java.util.Map; import java.util.UUID; -import org.apache.directory.server.protocol.shared.transport.TcpTransport; import org.apache.hadoop.gateway.config.GatewayConfig; import org.apache.hadoop.gateway.config.impl.GatewayConfigImpl; -import org.apache.hadoop.gateway.security.ldap.SimpleLdapDirectoryServer; import org.apache.hadoop.gateway.services.DefaultGatewayServices; import org.apache.hadoop.gateway.services.GatewayServices; import org.apache.hadoop.gateway.services.ServiceLifecycleException; @@ -80,16 +74,14 @@ public class GatewayLdapGroupFuncTest { public static String gatewayUrl; public static String clusterUrl; public static String serviceUrl; - public static SimpleLdapDirectoryServer ldap; - public static TcpTransport ldapTransport; + private static GatewayTestDriver driver = new GatewayTestDriver(); @BeforeClass public static void setupSuite() throws Exception { LOG_ENTER(); //appenders = NoOpAppender.setUp(); - int port = setupLdap(); - setupGateway(port); - TestUtils.awaitPortOpen( new InetSocketAddress( "localhost", port ), 10000, 100 ); + driver.setupLdap(0); + setupGateway(); TestUtils.awaitNon404HttpStatus( new URL( serviceUrl ), 10000, 100 ); LOG_EXIT(); } @@ -98,27 +90,13 @@ public class GatewayLdapGroupFuncTest { public static void cleanupSuite() throws Exception { LOG_ENTER(); gateway.stop(); - ldap.stop( true ); + driver.cleanup(); //FileUtils.deleteQuietly( new File( config.getGatewayHomeDir() ) ); //NoOpAppender.tearDown( appenders ); LOG_EXIT(); } - public static int setupLdap() throws Exception { - String basedir = System.getProperty("basedir"); - if (basedir == null) { - basedir = new File(".").getCanonicalPath(); - } - Path path = FileSystems.getDefault().getPath(basedir, "/src/test/resources/users.ldif"); - - ldapTransport = new TcpTransport( 0 ); - ldap = new SimpleLdapDirectoryServer( "dc=hadoop,dc=apache,dc=org", path.toFile(), ldapTransport ); - ldap.start(); - LOG.info( "LDAP port = " + ldapTransport.getAcceptor().getLocalAddress().getPort() ); - return ldapTransport.getAcceptor().getLocalAddress().getPort(); - } - - public static void setupGateway(int ldapPort) throws Exception { + public static void setupGateway() throws Exception { File targetDir = new File( System.getProperty( "user.dir" ), "target" ); File gatewayDir = new File( targetDir, "gateway-home-" + UUID.randomUUID() ); @@ -185,11 +163,11 @@ public class GatewayLdapGroupFuncTest { File descriptor = new File( topoDir, "test-cluster.xml" ); FileOutputStream stream = new FileOutputStream( descriptor ); - createTopology(ldapPort).toStream( stream ); + createTopology().toStream( stream ); stream.close(); } - private static XMLTag createTopology(int ldapPort) { + private static XMLTag createTopology() { XMLTag xml = XMLDoc.newDocument( true ) .addRoot( "topology" ) .addTag( "gateway" ) @@ -212,7 +190,7 @@ public class GatewayLdapGroupFuncTest { .addTag( "value" ).addText( "simple" ) .gotoParent().addTag( "param" ) .addTag( "name" ).addText( "main.ldapRealm.contextFactory.url" ) - .addTag( "value" ).addText( "ldap://localhost:" + ldapPort) + .addTag( "value" ).addText( driver.getLdapUrl()) .gotoParent().addTag( "param" ) .addTag( "name" ).addText( "main.ldapRealm.userDnTemplate" ) .addTag( "value" ).addText( "uid={0},ou=people,dc=hadoop,dc=apache,dc=org" ) http://git-wip-us.apache.org/repos/asf/knox/blob/6657f2fd/gateway-test/src/test/java/org/apache/hadoop/gateway/GatewayLdapPosixGroupFuncTest.java ---------------------------------------------------------------------- diff --git a/gateway-test/src/test/java/org/apache/hadoop/gateway/GatewayLdapPosixGroupFuncTest.java b/gateway-test/src/test/java/org/apache/hadoop/gateway/GatewayLdapPosixGroupFuncTest.java index 586383d..4581623 100644 --- a/gateway-test/src/test/java/org/apache/hadoop/gateway/GatewayLdapPosixGroupFuncTest.java +++ b/gateway-test/src/test/java/org/apache/hadoop/gateway/GatewayLdapPosixGroupFuncTest.java @@ -19,9 +19,7 @@ package org.apache.hadoop.gateway; import com.mycila.xmltool.XMLDoc; import com.mycila.xmltool.XMLTag; -import org.apache.directory.server.protocol.shared.transport.TcpTransport; import org.apache.hadoop.gateway.config.GatewayConfig; -import org.apache.hadoop.gateway.security.ldap.SimpleLdapDirectoryServer; import org.apache.hadoop.gateway.services.DefaultGatewayServices; import org.apache.hadoop.gateway.services.GatewayServices; import org.apache.hadoop.gateway.services.ServiceLifecycleException; @@ -45,8 +43,6 @@ import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; -import java.net.InetSocketAddress; -import java.net.ServerSocket; import java.net.URL; import java.util.Enumeration; import java.util.HashMap; @@ -62,7 +58,7 @@ import static org.junit.Assert.assertThat; import static org.junit.Assert.fail; /** - * Functional test to verify : looking up ldap groups from directory + * Functional test to verify : looking up ldap groups from directory * and using them in acl authorization checks * */ @@ -78,16 +74,15 @@ public class GatewayLdapPosixGroupFuncTest { public static String gatewayUrl; public static String clusterUrl; public static String serviceUrl; - public static SimpleLdapDirectoryServer ldap; - public static TcpTransport ldapTransport; + private static GatewayTestDriver driver = new GatewayTestDriver(); @BeforeClass public static void setupSuite() throws Exception { LOG_ENTER(); //appenders = NoOpAppender.setUp(); - int port = setupLdap(); - setupGateway(port); - TestUtils.awaitPortOpen( new InetSocketAddress( "localhost", port ), 10000, 100 ); + URL usersUrl = getResourceUrl( "users.ldif" ); + driver.setupLdap( 0, new File( usersUrl.toURI() ) ); + setupGateway(); TestUtils.awaitNon404HttpStatus( new URL( serviceUrl ), 10000, 100 ); LOG_EXIT(); } @@ -96,22 +91,13 @@ public class GatewayLdapPosixGroupFuncTest { public static void cleanupSuite() throws Exception { LOG_ENTER(); gateway.stop(); - ldap.stop( true ); + driver.cleanup(); //FileUtils.deleteQuietly( new File( config.getGatewayHomeDir() ) ); //NoOpAppender.tearDown( appenders ); LOG_EXIT(); } - public static int setupLdap() throws Exception { - URL usersUrl = getResourceUrl( "users.ldif" ); - ldapTransport = new TcpTransport( 0 ); - ldap = new SimpleLdapDirectoryServer( "dc=hadoop,dc=apache,dc=org", new File( usersUrl.toURI() ), ldapTransport ); - ldap.start(); - LOG.info( "LDAP port = " + ldapTransport.getAcceptor().getLocalAddress().getPort() ); - return ldapTransport.getAcceptor().getLocalAddress().getPort(); - } - - public static void setupGateway(int ldapPort) throws Exception { + public static void setupGateway() throws Exception { File targetDir = new File( System.getProperty( "user.dir" ), "target" ); File gatewayDir = new File( targetDir, "gateway-home-" + UUID.randomUUID() ); @@ -155,12 +141,12 @@ public class GatewayLdapPosixGroupFuncTest { File descriptor = new File( topoDir, "test-cluster.xml" ); OutputStream stream = new FileOutputStream( descriptor ); - createTopology(ldapPort).toStream( stream ); + createTopology().toStream( stream ); stream.close(); } - private static XMLTag createTopology(int ldapPort) { + private static XMLTag createTopology() { XMLTag xml = XMLDoc.newDocument( true ) .addRoot( "topology" ) .addTag( "gateway" ) @@ -183,7 +169,7 @@ public class GatewayLdapPosixGroupFuncTest { .addTag( "value" ).addText( "simple" ) .gotoParent().addTag( "param" ) .addTag( "name" ).addText( "main.ldapRealm.contextFactory.url" ) - .addTag( "value" ).addText( "ldap://localhost:" + ldapPort ) + .addTag( "value" ).addText( driver.getLdapUrl() ) .gotoParent().addTag( "param" ) .addTag( "name" ).addText( "main.ldapRealm.userDnTemplate" ) .addTag( "value" ).addText( "uid={0},ou=people,dc=hadoop,dc=apache,dc=org" ) http://git-wip-us.apache.org/repos/asf/knox/blob/6657f2fd/gateway-test/src/test/java/org/apache/hadoop/gateway/GatewayLocalServiceFuncTest.java ---------------------------------------------------------------------- diff --git a/gateway-test/src/test/java/org/apache/hadoop/gateway/GatewayLocalServiceFuncTest.java b/gateway-test/src/test/java/org/apache/hadoop/gateway/GatewayLocalServiceFuncTest.java index fd88f6d..57e3bd5 100644 --- a/gateway-test/src/test/java/org/apache/hadoop/gateway/GatewayLocalServiceFuncTest.java +++ b/gateway-test/src/test/java/org/apache/hadoop/gateway/GatewayLocalServiceFuncTest.java @@ -20,9 +20,7 @@ package org.apache.hadoop.gateway; import com.mycila.xmltool.XMLDoc; import com.mycila.xmltool.XMLTag; import org.apache.commons.io.FileUtils; -import org.apache.directory.server.protocol.shared.transport.TcpTransport; import org.apache.hadoop.gateway.config.GatewayConfig; -import org.apache.hadoop.gateway.security.ldap.SimpleLdapDirectoryServer; import org.apache.hadoop.gateway.services.DefaultGatewayServices; import org.apache.hadoop.gateway.services.ServiceLifecycleException; import org.apache.hadoop.test.TestUtils; @@ -41,10 +39,7 @@ import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; -import java.net.ServerSocket; import java.net.URL; -import java.nio.file.FileSystems; -import java.nio.file.Path; import java.util.Enumeration; import java.util.HashMap; import java.util.Map; @@ -67,14 +62,13 @@ public class GatewayLocalServiceFuncTest { public static GatewayServer gateway; public static String gatewayUrl; public static String clusterUrl; - public static SimpleLdapDirectoryServer ldap; - public static TcpTransport ldapTransport; + private static GatewayTestDriver driver = new GatewayTestDriver(); @BeforeClass public static void setupSuite() throws Exception { LOG_ENTER(); appenders = NoOpAppender.setUp(); - setupLdap(); + driver.setupLdap(0); setupGateway(); LOG_EXIT(); } @@ -83,26 +77,13 @@ public class GatewayLocalServiceFuncTest { public static void cleanupSuite() throws Exception { LOG_ENTER(); gateway.stop(); - ldap.stop( true ); + driver.cleanup(); FileUtils.deleteQuietly( new File( config.getGatewayConfDir() ) ); FileUtils.deleteQuietly( new File( config.getGatewayDataDir() ) ); NoOpAppender.tearDown( appenders ); LOG_EXIT(); } - public static void setupLdap() throws Exception { - String basedir = System.getProperty("basedir"); - if (basedir == null) { - basedir = new File(".").getCanonicalPath(); - } - Path path = FileSystems.getDefault().getPath(basedir, "/src/test/resources/users.ldif"); - - ldapTransport = new TcpTransport( 0 ); - ldap = new SimpleLdapDirectoryServer( "dc=hadoop,dc=apache,dc=org", path.toFile(), ldapTransport ); - ldap.start(); - LOG.info( "LDAP port = " + ldapTransport.getAcceptor().getLocalAddress().getPort() ); - } - public static void setupGateway() throws Exception { File targetDir = new File( System.getProperty( "user.dir" ), "target" ); @@ -158,7 +139,7 @@ public class GatewayLocalServiceFuncTest { .addTag( "value" ).addText( "uid={0},ou=people,dc=hadoop,dc=apache,dc=org" ).gotoParent() .addTag( "param" ) .addTag( "name" ).addText( "main.ldapRealm.contextFactory.url" ) - .addTag( "value" ).addText( "ldap://localhost:" + ldapTransport.getAcceptor().getLocalAddress().getPort() ).gotoParent() + .addTag( "value" ).addText( driver.getLdapUrl() ).gotoParent() .addTag( "param" ) .addTag( "name" ).addText( "main.ldapRealm.contextFactory.authenticationMechanism" ) .addTag( "value" ).addText( "simple" ).gotoParent() http://git-wip-us.apache.org/repos/asf/knox/blob/6657f2fd/gateway-test/src/test/java/org/apache/hadoop/gateway/GatewayMultiFuncTest.java ---------------------------------------------------------------------- diff --git a/gateway-test/src/test/java/org/apache/hadoop/gateway/GatewayMultiFuncTest.java b/gateway-test/src/test/java/org/apache/hadoop/gateway/GatewayMultiFuncTest.java index 3901c34..47a8388 100644 --- a/gateway-test/src/test/java/org/apache/hadoop/gateway/GatewayMultiFuncTest.java +++ b/gateway-test/src/test/java/org/apache/hadoop/gateway/GatewayMultiFuncTest.java @@ -20,8 +20,6 @@ package org.apache.hadoop.gateway; import java.io.File; import java.net.URL; import java.nio.charset.Charset; -import java.nio.file.FileSystems; -import java.nio.file.Path; import java.util.Enumeration; import java.util.HashMap; import java.util.Map; @@ -31,7 +29,6 @@ import java.util.UUID; import org.apache.commons.io.FileUtils; import org.apache.commons.io.IOUtils; import org.apache.directory.server.protocol.shared.transport.TcpTransport; -import org.apache.hadoop.gateway.security.ldap.SimpleLdapDirectoryServer; import org.apache.hadoop.gateway.services.DefaultGatewayServices; import org.apache.hadoop.gateway.services.GatewayServices; import org.apache.hadoop.gateway.services.ServiceLifecycleException; @@ -86,16 +83,16 @@ public class GatewayMultiFuncTest { private static GatewayServer gateway; private static int gatewayPort; private static String gatewayUrl; - private static SimpleLdapDirectoryServer ldap; private static TcpTransport ldapTransport; private static Properties params; private static TopologyService topos; + private static GatewayTestDriver driver = new GatewayTestDriver(); @BeforeClass public static void setupSuite() throws Exception { LOG_ENTER(); //appenders = NoOpAppender.setUp(); - setupLdap(); + driver.setupLdap(0); setupGateway(); LOG_EXIT(); } @@ -104,25 +101,12 @@ public class GatewayMultiFuncTest { public static void cleanupSuite() throws Exception { LOG_ENTER(); gateway.stop(); - ldap.stop( true ); + driver.cleanup(); FileUtils.deleteQuietly( new File( config.getGatewayHomeDir() ) ); //NoOpAppender.tearDown( appenders ); LOG_EXIT(); } - public static void setupLdap() throws Exception { - String basedir = System.getProperty("basedir"); - if (basedir == null) { - basedir = new File(".").getCanonicalPath(); - } - Path path = FileSystems.getDefault().getPath(basedir, "/src/test/resources/users.ldif"); - - ldapTransport = new TcpTransport( 0 ); - ldap = new SimpleLdapDirectoryServer( "dc=hadoop,dc=apache,dc=org", path.toFile(), ldapTransport ); - ldap.start(); - LOG.info( "LDAP port = " + ldapTransport.getAcceptor().getLocalAddress().getPort() ); - } - public static void setupGateway() throws Exception { File targetDir = new File( System.getProperty( "user.dir" ), "target" ); @@ -172,7 +156,7 @@ public class GatewayMultiFuncTest { LOG.info( "Gateway port = " + gateway.getAddresses()[ 0 ].getPort() ); params = new Properties(); - params.put( "LDAP_URL", "ldap://localhost:" + ldapTransport.getAcceptor().getLocalAddress().getPort() ); + params.put( "LDAP_URL", driver.getLdapUrl() ); } @Test( timeout = TestUtils.MEDIUM_TIMEOUT ) @@ -182,7 +166,7 @@ public class GatewayMultiFuncTest { MockServer mock = new MockServer( "REPEAT", true ); params = new Properties(); - params.put( "LDAP_URL", "ldap://localhost:" + ldapTransport.getAcceptor().getLocalAddress().getPort() ); + params.put( "LDAP_URL", driver.getLdapUrl() ); params.put( "MOCK_SERVER_PORT", mock.getPort() ); String topoStr = TestUtils.merge( DAT, "topologies/test-knox678-utf8-chars-topology.xml", params ); @@ -233,7 +217,7 @@ public class GatewayMultiFuncTest { params = new Properties(); params.put( "MOCK_SERVER_PORT", mock.getPort() ); - params.put( "LDAP_URL", "ldap://localhost:" + ldapTransport.getAcceptor().getLocalAddress().getPort() ); + params.put( "LDAP_URL", driver.getLdapUrl() ); String topoStr = TestUtils.merge( DAT, "topologies/test-knox678-utf8-chars-topology.xml", params ); File topoFile = new File( config.getGatewayTopologyDir(), "knox681.xml" ); @@ -324,7 +308,7 @@ public class GatewayMultiFuncTest { String invalidPword = "invalid-guest-password"; params = new Properties(); - params.put( "LDAP_URL", "ldap://localhost:" + ldapTransport.getAcceptor().getLocalAddress().getPort() ); + params.put( "LDAP_URL", driver.getLdapUrl() ); params.put( "LDAP_SYSTEM_USERNAME", adminUName ); params.put( "LDAP_SYSTEM_PASSWORD", adminPWord ); http://git-wip-us.apache.org/repos/asf/knox/blob/6657f2fd/gateway-test/src/test/java/org/apache/hadoop/gateway/GatewaySampleFuncTest.java ---------------------------------------------------------------------- diff --git a/gateway-test/src/test/java/org/apache/hadoop/gateway/GatewaySampleFuncTest.java b/gateway-test/src/test/java/org/apache/hadoop/gateway/GatewaySampleFuncTest.java index b1b37c8..dc84cbd 100644 --- a/gateway-test/src/test/java/org/apache/hadoop/gateway/GatewaySampleFuncTest.java +++ b/gateway-test/src/test/java/org/apache/hadoop/gateway/GatewaySampleFuncTest.java @@ -19,9 +19,7 @@ package org.apache.hadoop.gateway; import com.mycila.xmltool.XMLDoc; import com.mycila.xmltool.XMLTag; -import org.apache.directory.server.protocol.shared.transport.TcpTransport; import org.apache.hadoop.gateway.config.GatewayConfig; -import org.apache.hadoop.gateway.security.ldap.SimpleLdapDirectoryServer; import org.apache.hadoop.gateway.services.DefaultGatewayServices; import org.apache.hadoop.gateway.services.ServiceLifecycleException; import org.apache.hadoop.test.TestUtils; @@ -41,8 +39,6 @@ import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.net.URL; -import java.nio.file.FileSystems; -import java.nio.file.Path; import java.util.Enumeration; import java.util.HashMap; import java.util.Map; @@ -65,14 +61,13 @@ public class GatewaySampleFuncTest { public static GatewayServer gateway; public static String gatewayUrl; public static String clusterUrl; - public static SimpleLdapDirectoryServer ldap; - public static TcpTransport ldapTransport; + private static GatewayTestDriver driver = new GatewayTestDriver(); @BeforeClass public static void setupSuite() throws Exception { LOG_ENTER(); //appenders = NoOpAppender.setUp(); - setupLdap(); + driver.setupLdap(0); setupGateway(); LOG_EXIT(); } @@ -81,25 +76,12 @@ public class GatewaySampleFuncTest { public static void cleanupSuite() throws Exception { LOG_ENTER(); gateway.stop(); - ldap.stop( true ); + driver.cleanup(); //FileUtils.deleteQuietly( new File( config.getGatewayHomeDir() ) ); //NoOpAppender.tearDown( appenders ); LOG_EXIT(); } - public static void setupLdap() throws Exception { - String basedir = System.getProperty("basedir"); - if (basedir == null) { - basedir = new File(".").getCanonicalPath(); - } - Path path = FileSystems.getDefault().getPath(basedir, "/src/test/resources/users.ldif"); - - ldapTransport = new TcpTransport( 0 ); - ldap = new SimpleLdapDirectoryServer( "dc=hadoop,dc=apache,dc=org", path.toFile(), ldapTransport ); - ldap.start(); - LOG.info( "LDAP port = " + ldapTransport.getAcceptor().getLocalAddress().getPort() ); - } - public static void setupGateway() throws Exception { File targetDir = new File( System.getProperty( "user.dir" ), "target" ); @@ -156,7 +138,7 @@ public class GatewaySampleFuncTest { .addTag( "value" ).addText( "uid={0},ou=people,dc=hadoop,dc=apache,dc=org" ).gotoParent() .addTag( "param" ) .addTag( "name" ).addText( "main.ldapRealm.contextFactory.url" ) - .addTag( "value" ).addText( "ldap://localhost:" + ldapTransport.getAcceptor().getLocalAddress().getPort() ).gotoParent() + .addTag( "value" ).addText( driver.getLdapUrl() ).gotoParent() .addTag( "param" ) .addTag( "name" ).addText( "main.ldapRealm.contextFactory.authenticationMechanism" ) .addTag( "value" ).addText( "simple" ).gotoParent() http://git-wip-us.apache.org/repos/asf/knox/blob/6657f2fd/gateway-test/src/test/java/org/apache/hadoop/gateway/GatewaySslFuncTest.java ---------------------------------------------------------------------- diff --git a/gateway-test/src/test/java/org/apache/hadoop/gateway/GatewaySslFuncTest.java b/gateway-test/src/test/java/org/apache/hadoop/gateway/GatewaySslFuncTest.java index ed80f29..d2c2bf8 100644 --- a/gateway-test/src/test/java/org/apache/hadoop/gateway/GatewaySslFuncTest.java +++ b/gateway-test/src/test/java/org/apache/hadoop/gateway/GatewaySslFuncTest.java @@ -18,9 +18,6 @@ package org.apache.hadoop.gateway; import java.io.File; -import java.net.URL; -import java.nio.file.FileSystems; -import java.nio.file.Path; import java.security.KeyManagementException; import java.security.NoSuchAlgorithmException; import java.security.SecureRandom; @@ -43,8 +40,6 @@ import javax.net.ssl.X509TrustManager; import javax.xml.transform.stream.StreamSource; import org.apache.commons.io.FileUtils; -import org.apache.directory.server.protocol.shared.transport.TcpTransport; -import org.apache.hadoop.gateway.security.ldap.SimpleLdapDirectoryServer; import org.apache.hadoop.gateway.services.DefaultGatewayServices; import org.apache.hadoop.gateway.services.GatewayServices; import org.apache.hadoop.gateway.services.ServiceLifecycleException; @@ -97,18 +92,16 @@ public class GatewaySslFuncTest { private static String gatewayScheme; private static int gatewayPort; private static String gatewayUrl; - private static SimpleLdapDirectoryServer ldap; - private static TcpTransport ldapTransport; - private static int ldapPort; private static Properties params; private static TopologyService topos; private static MockServer mockWebHdfs; + private static GatewayTestDriver driver = new GatewayTestDriver(); @BeforeClass public static void setupSuite() throws Exception { LOG_ENTER(); //appenders = NoOpAppender.setUp(); - setupLdap(); + driver.setupLdap(0); setupGateway(); LOG_EXIT(); } @@ -117,7 +110,7 @@ public class GatewaySslFuncTest { public static void cleanupSuite() throws Exception { LOG_ENTER(); gateway.stop(); - ldap.stop( true ); + driver.cleanup(); FileUtils.deleteQuietly( new File( config.getGatewayHomeDir() ) ); //NoOpAppender.tearDown( appenders ); LOG_EXIT(); @@ -129,19 +122,6 @@ public class GatewaySslFuncTest { FileUtils.cleanDirectory( new File( config.getGatewayDeploymentDir() ) ); } - public static void setupLdap() throws Exception { - String basedir = System.getProperty("basedir"); - if (basedir == null) { - basedir = new File(".").getCanonicalPath(); - } - Path path = FileSystems.getDefault().getPath(basedir, "/src/test/resources/users.ldif"); - - ldapTransport = new TcpTransport( 0 ); - ldap = new SimpleLdapDirectoryServer( "dc=hadoop,dc=apache,dc=org", path.toFile(), ldapTransport ); - ldap.start(); - LOG.info( "LDAP port = " + ldapTransport.getAcceptor().getLocalAddress().getPort() ); - } - public static void setupGateway() throws Exception { File targetDir = new File( System.getProperty( "user.dir" ), "target" ); @@ -202,7 +182,7 @@ public class GatewaySslFuncTest { LOG.info( "Gateway port = " + gateway.getAddresses()[ 0 ].getPort() ); params = new Properties(); - params.put( "LDAP_URL", "ldap://localhost:" + ldapTransport.getAcceptor().getLocalAddress().getPort() ); + params.put( "LDAP_URL", driver.getLdapUrl() ); params.put( "WEBHDFS_URL", "http://localhost:" + mockWebHdfs.getPort() ); } http://git-wip-us.apache.org/repos/asf/knox/blob/6657f2fd/gateway-test/src/test/java/org/apache/hadoop/gateway/Knox242FuncTest.java ---------------------------------------------------------------------- diff --git a/gateway-test/src/test/java/org/apache/hadoop/gateway/Knox242FuncTest.java b/gateway-test/src/test/java/org/apache/hadoop/gateway/Knox242FuncTest.java index 22278f2..1910d96 100755 --- a/gateway-test/src/test/java/org/apache/hadoop/gateway/Knox242FuncTest.java +++ b/gateway-test/src/test/java/org/apache/hadoop/gateway/Knox242FuncTest.java @@ -24,14 +24,10 @@ import static org.hamcrest.CoreMatchers.is; import static org.hamcrest.CoreMatchers.notNullValue; import static org.junit.Assert.assertThat; -import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; -import java.io.PrintStream; -import java.net.InetSocketAddress; -import java.net.ServerSocket; import java.net.URL; import java.nio.file.FileSystems; import java.nio.file.Path; @@ -40,10 +36,8 @@ import java.util.HashMap; import java.util.Map; import java.util.UUID; -import org.apache.directory.server.protocol.shared.transport.TcpTransport; import org.apache.hadoop.gateway.config.GatewayConfig; import org.apache.hadoop.gateway.config.impl.GatewayConfigImpl; -import org.apache.hadoop.gateway.security.ldap.SimpleLdapDirectoryServer; import org.apache.hadoop.gateway.services.DefaultGatewayServices; import org.apache.hadoop.gateway.services.GatewayServices; import org.apache.hadoop.gateway.services.ServiceLifecycleException; @@ -81,16 +75,19 @@ public class Knox242FuncTest { public static String gatewayUrl; public static String clusterUrl; public static String serviceUrl; - public static SimpleLdapDirectoryServer ldap; - public static TcpTransport ldapTransport; + private static GatewayTestDriver driver = new GatewayTestDriver(); @BeforeClass public static void setupSuite() throws Exception { LOG_ENTER(); //appenders = NoOpAppender.setUp(); - int port = setupLdap(); - setupGateway(port); - TestUtils.awaitPortOpen( new InetSocketAddress( "localhost", port ), 10000, 100 ); + String basedir = System.getProperty("basedir"); + if (basedir == null) { + basedir = new File(".").getCanonicalPath(); + } + Path path = FileSystems.getDefault().getPath(basedir, "/src/test/resources/users-dynamic.ldif"); + driver.setupLdap( 0 , path.toFile() ); + setupGateway(); TestUtils.awaitNon404HttpStatus( new URL( serviceUrl ), 10000, 100 ); LOG_EXIT(); } @@ -99,27 +96,13 @@ public class Knox242FuncTest { public static void cleanupSuite() throws Exception { LOG_ENTER(); gateway.stop(); - ldap.stop( true ); + driver.cleanup(); //FileUtils.deleteQuietly( new File( config.getGatewayHomeDir() ) ); //NoOpAppender.tearDown( appenders ); LOG_EXIT(); } - public static int setupLdap() throws Exception { - String basedir = System.getProperty("basedir"); - if (basedir == null) { - basedir = new File(".").getCanonicalPath(); - } - Path path = FileSystems.getDefault().getPath(basedir, "/src/test/resources/users-dynamic.ldif"); - - ldapTransport = new TcpTransport( 0 ); - ldap = new SimpleLdapDirectoryServer( "dc=hadoop,dc=apache,dc=org", path.toFile(), ldapTransport ); - ldap.start(); - LOG.info( "LDAP port = " + ldapTransport.getPort() ); - return ldapTransport.getAcceptor().getLocalAddress().getPort(); - } - - public static void setupGateway(int ldapPort) throws IOException, Exception { + public static void setupGateway() throws IOException, Exception { File targetDir = new File( System.getProperty( "user.dir" ), "target" ); File gatewayDir = new File( targetDir, "gateway-home-" + UUID.randomUUID() ); @@ -163,11 +146,11 @@ public class Knox242FuncTest { File descriptor = new File( topoDir, "testdg-cluster.xml" ); FileOutputStream stream = new FileOutputStream( descriptor ); - createTopology(ldapPort).toStream( stream ); + createTopology().toStream( stream ); stream.close(); } - private static XMLTag createTopology(int ldapPort) { + private static XMLTag createTopology() { XMLTag xml = XMLDoc.newDocument( true ) .addRoot( "topology" ) .addTag( "gateway" ) @@ -190,7 +173,7 @@ public class Knox242FuncTest { .addTag( "value" ).addText( "simple" ) .gotoParent().addTag( "param" ) .addTag( "name" ).addText( "main.ldapRealm.contextFactory.url" ) - .addTag( "value" ).addText( "ldap://localhost:" + ldapPort) + .addTag( "value" ).addText( driver.getLdapUrl()) .gotoParent().addTag( "param" ) .addTag( "name" ).addText( "main.ldapRealm.userDnTemplate" ) .addTag( "value" ).addText( "uid={0},ou=people,dc=hadoop,dc=apache,dc=org" ) @@ -319,5 +302,5 @@ public class Knox242FuncTest { .when().get( serviceUrl ); LOG_EXIT(); } - + } http://git-wip-us.apache.org/repos/asf/knox/blob/6657f2fd/gateway-test/src/test/java/org/apache/hadoop/gateway/KnoxCliLdapFuncTestNegative.java ---------------------------------------------------------------------- diff --git a/gateway-test/src/test/java/org/apache/hadoop/gateway/KnoxCliLdapFuncTestNegative.java b/gateway-test/src/test/java/org/apache/hadoop/gateway/KnoxCliLdapFuncTestNegative.java index f1225b2..9cf171d 100644 --- a/gateway-test/src/test/java/org/apache/hadoop/gateway/KnoxCliLdapFuncTestNegative.java +++ b/gateway-test/src/test/java/org/apache/hadoop/gateway/KnoxCliLdapFuncTestNegative.java @@ -20,8 +20,6 @@ package org.apache.hadoop.gateway; import com.mycila.xmltool.XMLDoc; import com.mycila.xmltool.XMLTag; import org.apache.commons.logging.impl.NoOpLog; -import org.apache.directory.server.protocol.shared.transport.TcpTransport; -import org.apache.hadoop.gateway.security.ldap.SimpleLdapDirectoryServer; import org.apache.hadoop.gateway.services.DefaultGatewayServices; import org.apache.hadoop.gateway.services.ServiceLifecycleException; import org.apache.hadoop.gateway.util.KnoxCLI; @@ -42,10 +40,7 @@ import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.ByteArrayOutputStream; -import java.net.ServerSocket; import java.net.URL; -import java.nio.file.FileSystems; -import java.nio.file.Path; import java.util.Enumeration; import java.util.HashMap; import java.util.Map; @@ -67,8 +62,7 @@ public class KnoxCliLdapFuncTestNegative { public static GatewayServer gateway; public static String gatewayUrl; public static String clusterUrl; - public static SimpleLdapDirectoryServer ldap; - public static TcpTransport ldapTransport; + private static GatewayTestDriver driver = new GatewayTestDriver(); private static final ByteArrayOutputStream outContent = new ByteArrayOutputStream(); private static final ByteArrayOutputStream errContent = new ByteArrayOutputStream(); @@ -79,7 +73,7 @@ public class KnoxCliLdapFuncTestNegative { LOG_ENTER(); System.setOut(new PrintStream(outContent)); System.setErr(new PrintStream(errContent)); - setupLdap(); + driver.setupLdap(0); setupGateway(); LOG_EXIT(); } @@ -87,26 +81,13 @@ public class KnoxCliLdapFuncTestNegative { @AfterClass public static void cleanupSuite() throws Exception { LOG_ENTER(); - ldap.stop( true ); + driver.cleanup(); //FileUtils.deleteQuietly( new File( config.getGatewayHomeDir() ) ); //NoOpAppender.tearDown( appenders ); LOG_EXIT(); } - public static void setupLdap( ) throws Exception { - String basedir = System.getProperty("basedir"); - if (basedir == null) { - basedir = new File(".").getCanonicalPath(); - } - Path path = FileSystems.getDefault().getPath(basedir, "/src/test/resources/users.ldif"); - - ldapTransport = new TcpTransport( 0 ); - ldap = new SimpleLdapDirectoryServer( "dc=hadoop,dc=apache,dc=org", path.toFile(), ldapTransport ); - ldap.start(); - LOG.info( "LDAP port = " + ldapTransport.getAcceptor().getLocalAddress().getPort() ); - } - public static void setupGateway() throws Exception { File targetDir = new File( System.getProperty( "user.dir" ), "target" ); @@ -189,7 +170,7 @@ public class KnoxCliLdapFuncTestNegative { .addTag("value").addText("uid={0},ou=people,dc=hadoop,dc=apache,dc=org").gotoParent() .addTag("param") .addTag( "name" ).addText("main.ldapRealm.contextFactory.url") - .addTag("value").addText("ldap://localhost:" + ldapTransport.getAcceptor().getLocalAddress().getPort()).gotoParent() + .addTag("value").addText(driver.getLdapUrl()).gotoParent() .addTag("param") .addTag("name").addText("main.ldapRealm.contextFactory.systemUsername") .addTag("value").addText("uid=guest,ou=people,dc=hadoop,dc=apache,dc=org").gotoParent() @@ -256,7 +237,7 @@ public class KnoxCliLdapFuncTestNegative { .addTag("value").addText("uid={0},ou=people,dc=hadoop,dc=apache,dc=org").gotoParent() .addTag("param") .addTag("name").addText("main.ldapRealm.contextFactory.url") - .addTag("value").addText("ldap://localhost:" + ldapTransport.getAcceptor().getLocalAddress().getPort()).gotoParent() + .addTag("value").addText(driver.getLdapUrl()).gotoParent() .addTag("param") .addTag("name").addText("main.ldapRealm.contextFactory.authenticationMechanism") .addTag("value").addText("simple").gotoParent() http://git-wip-us.apache.org/repos/asf/knox/blob/6657f2fd/gateway-test/src/test/java/org/apache/hadoop/gateway/KnoxCliLdapFuncTestPositive.java ---------------------------------------------------------------------- diff --git a/gateway-test/src/test/java/org/apache/hadoop/gateway/KnoxCliLdapFuncTestPositive.java b/gateway-test/src/test/java/org/apache/hadoop/gateway/KnoxCliLdapFuncTestPositive.java index 0402eb1..db2b2f6 100644 --- a/gateway-test/src/test/java/org/apache/hadoop/gateway/KnoxCliLdapFuncTestPositive.java +++ b/gateway-test/src/test/java/org/apache/hadoop/gateway/KnoxCliLdapFuncTestPositive.java @@ -19,8 +19,6 @@ package org.apache.hadoop.gateway; import com.mycila.xmltool.XMLDoc; import com.mycila.xmltool.XMLTag; -import org.apache.directory.server.protocol.shared.transport.TcpTransport; -import org.apache.hadoop.gateway.security.ldap.SimpleLdapDirectoryServer; import org.apache.hadoop.gateway.services.DefaultGatewayServices; import org.apache.hadoop.gateway.services.ServiceLifecycleException; import org.apache.hadoop.gateway.util.KnoxCLI; @@ -40,10 +38,7 @@ import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.ByteArrayOutputStream; -import java.net.ServerSocket; import java.net.URL; -import java.nio.file.FileSystems; -import java.nio.file.Path; import java.util.Enumeration; import java.util.HashMap; import java.util.Map; @@ -65,8 +60,7 @@ public class KnoxCliLdapFuncTestPositive { public static GatewayServer gateway; public static String gatewayUrl; public static String clusterUrl; - public static SimpleLdapDirectoryServer ldap; - public static TcpTransport ldapTransport; + private static GatewayTestDriver driver = new GatewayTestDriver(); private static final ByteArrayOutputStream outContent = new ByteArrayOutputStream(); private static final ByteArrayOutputStream errContent = new ByteArrayOutputStream(); @@ -77,7 +71,7 @@ public class KnoxCliLdapFuncTestPositive { LOG_ENTER(); System.setOut(new PrintStream(outContent)); System.setErr(new PrintStream(errContent)); - setupLdap(); + driver.setupLdap(0); setupGateway(); LOG_EXIT(); } @@ -85,26 +79,13 @@ public class KnoxCliLdapFuncTestPositive { @AfterClass public static void cleanupSuite() throws Exception { LOG_ENTER(); - ldap.stop( true ); + driver.cleanup(); //FileUtils.deleteQuietly( new File( config.getGatewayHomeDir() ) ); //NoOpAppender.tearDown( appenders ); LOG_EXIT(); } - public static void setupLdap( ) throws Exception { - String basedir = System.getProperty("basedir"); - if (basedir == null) { - basedir = new File(".").getCanonicalPath(); - } - Path path = FileSystems.getDefault().getPath(basedir, "/src/test/resources/users.ldif"); - - ldapTransport = new TcpTransport( 0 ); - ldap = new SimpleLdapDirectoryServer( "dc=hadoop,dc=apache,dc=org", path.toFile(), ldapTransport ); - ldap.start(); - LOG.info( "LDAP port = " + ldapTransport.getAcceptor().getLocalAddress().getPort() ); - } - public static void setupGateway() throws Exception { File targetDir = new File( System.getProperty( "user.dir" ), "target" ); @@ -187,7 +168,7 @@ public class KnoxCliLdapFuncTestPositive { .addTag("value").addText("uid={0},ou=people,dc=hadoop,dc=apache,dc=org").gotoParent() .addTag( "param" ) .addTag("name").addText("main.ldapRealm.contextFactory.url") - .addTag("value").addText("ldap://localhost:" + ldapTransport.getAcceptor().getLocalAddress().getPort()).gotoParent() + .addTag("value").addText(driver.getLdapUrl()).gotoParent() .addTag( "param" ) .addTag("name").addText("main.ldapRealm.contextFactory.authenticationMechanism") .addTag("value").addText("simple").gotoParent() @@ -250,7 +231,7 @@ public class KnoxCliLdapFuncTestPositive { .addTag("value").addText("uid={0},ou=people,dc=hadoop,dc=apache,dc=org").gotoParent() .addTag("param") .addTag("name").addText("main.ldapRealm.contextFactory.url") - .addTag("value").addText("ldap://localhost:" + ldapTransport.getAcceptor().getLocalAddress().getPort()).gotoParent() + .addTag("value").addText(driver.getLdapUrl()).gotoParent() .addTag("param") .addTag("name").addText("main.ldapRealm.contextFactory.authenticationMechanism") .addTag("value").addText("simple").gotoParent() http://git-wip-us.apache.org/repos/asf/knox/blob/6657f2fd/gateway-test/src/test/java/org/apache/hadoop/gateway/KnoxCliSysBindTest.java ---------------------------------------------------------------------- diff --git a/gateway-test/src/test/java/org/apache/hadoop/gateway/KnoxCliSysBindTest.java b/gateway-test/src/test/java/org/apache/hadoop/gateway/KnoxCliSysBindTest.java index bda5347..c9b94e7 100644 --- a/gateway-test/src/test/java/org/apache/hadoop/gateway/KnoxCliSysBindTest.java +++ b/gateway-test/src/test/java/org/apache/hadoop/gateway/KnoxCliSysBindTest.java @@ -19,8 +19,6 @@ package org.apache.hadoop.gateway; import com.mycila.xmltool.XMLDoc; import com.mycila.xmltool.XMLTag; -import org.apache.directory.server.protocol.shared.transport.TcpTransport; -import org.apache.hadoop.gateway.security.ldap.SimpleLdapDirectoryServer; import org.apache.hadoop.gateway.services.DefaultGatewayServices; import org.apache.hadoop.gateway.services.ServiceLifecycleException; import org.apache.hadoop.gateway.util.KnoxCLI; @@ -40,10 +38,7 @@ import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; -import java.net.ServerSocket; import java.net.URL; -import java.nio.file.FileSystems; -import java.nio.file.Path; import java.util.Enumeration; import java.util.HashMap; import java.util.Map; @@ -64,8 +59,7 @@ public class KnoxCliSysBindTest { public static GatewayServer gateway; public static String gatewayUrl; public static String clusterUrl; - public static SimpleLdapDirectoryServer ldap; - public static TcpTransport ldapTransport; + private static GatewayTestDriver driver = new GatewayTestDriver(); private static final ByteArrayOutputStream outContent = new ByteArrayOutputStream(); private static final ByteArrayOutputStream errContent = new ByteArrayOutputStream(); @@ -76,7 +70,7 @@ public class KnoxCliSysBindTest { LOG_ENTER(); System.setOut(new PrintStream(outContent)); System.setErr(new PrintStream(errContent)); - setupLdap(); + driver.setupLdap(0); setupGateway(); LOG_EXIT(); } @@ -84,26 +78,13 @@ public class KnoxCliSysBindTest { @AfterClass public static void cleanupSuite() throws Exception { LOG_ENTER(); - ldap.stop( true ); + driver.cleanup(); //FileUtils.deleteQuietly( new File( config.getGatewayHomeDir() ) ); //NoOpAppender.tearDown( appenders ); LOG_EXIT(); } - public static void setupLdap( ) throws Exception { - String basedir = System.getProperty("basedir"); - if (basedir == null) { - basedir = new File(".").getCanonicalPath(); - } - Path path = FileSystems.getDefault().getPath(basedir, "/src/test/resources/users.ldif"); - - ldapTransport = new TcpTransport( 0 ); - ldap = new SimpleLdapDirectoryServer( "dc=hadoop,dc=apache,dc=org", path.toFile(), ldapTransport ); - ldap.start(); - LOG.info( "LDAP port = " + ldapTransport.getAcceptor().getLocalAddress().getPort() ); - } - public static void setupGateway() throws Exception { File targetDir = new File( System.getProperty( "user.dir" ), "target" ); @@ -191,7 +172,7 @@ public class KnoxCliSysBindTest { .addTag("value").addText("uid={0},ou=people,dc=hadoop,dc=apache,dc=org").gotoParent() .addTag( "param" ) .addTag("name").addText("main.ldapRealm.contextFactory.url") - .addTag("value").addText("ldap://localhost:" + ldapTransport.getAcceptor().getLocalAddress().getPort()).gotoParent() + .addTag("value").addText(driver.getLdapUrl()).gotoParent() .addTag( "param" ) .addTag("name").addText("main.ldapRealm.contextFactory.authenticationMechanism") .addTag("value").addText("simple").gotoParent() @@ -254,7 +235,7 @@ public class KnoxCliSysBindTest { .addTag("value").addText("uid={0},ou=people,dc=hadoop,dc=apache,dc=org").gotoParent() .addTag("param") .addTag("name").addText("main.ldapRealm.contextFactory.url") - .addTag("value").addText("ldap://localhost:" + ldapTransport.getAcceptor().getLocalAddress().getPort()).gotoParent() + .addTag("value").addText(driver.getLdapUrl()).gotoParent() .addTag("param") .addTag("name").addText("main.ldapRealm.contextFactory.authenticationMechanism") .addTag("value").addText("simple").gotoParent()