HADOOP-15197. Remove tomcat from the Hadoop-auth test bundle.

This commit is contained in:
Xiao Chen 2018-02-01 15:33:36 -08:00
parent dd50f53997
commit 09dd709d6e
4 changed files with 16 additions and 96 deletions

View File

@ -65,16 +65,6 @@
<groupId>org.eclipse.jetty</groupId> <groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-servlet</artifactId> <artifactId>jetty-servlet</artifactId>
<scope>test</scope> <scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-core</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-logging-juli</artifactId>
<scope>test</scope>
</dependency> </dependency>
<dependency> <dependency>
<groupId>javax.servlet</groupId> <groupId>javax.servlet</groupId>

View File

@ -13,9 +13,6 @@
*/ */
package org.apache.hadoop.security.authentication.client; package org.apache.hadoop.security.authentication.client;
import org.apache.catalina.deploy.FilterDef;
import org.apache.catalina.deploy.FilterMap;
import org.apache.catalina.startup.Tomcat;
import org.apache.hadoop.security.authentication.server.AuthenticationFilter; import org.apache.hadoop.security.authentication.server.AuthenticationFilter;
import org.apache.http.HttpResponse; import org.apache.http.HttpResponse;
import org.apache.http.auth.AuthScope; import org.apache.http.auth.AuthScope;
@ -45,7 +42,6 @@
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.io.BufferedReader; import java.io.BufferedReader;
import java.io.ByteArrayInputStream; import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.IOException; import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
import java.io.OutputStream; import java.io.OutputStream;
@ -65,18 +61,12 @@ public class AuthenticatorTestCase {
private Server server; private Server server;
private String host = null; private String host = null;
private int port = -1; private int port = -1;
private boolean useTomcat = false;
private Tomcat tomcat = null;
ServletContextHandler context; ServletContextHandler context;
private static Properties authenticatorConfig; private static Properties authenticatorConfig;
public AuthenticatorTestCase() {} public AuthenticatorTestCase() {}
public AuthenticatorTestCase(boolean useTomcat) {
this.useTomcat = useTomcat;
}
protected static void setAuthenticationHandlerConfig(Properties config) { protected static void setAuthenticationHandlerConfig(Properties config) {
authenticatorConfig = config; authenticatorConfig = config;
} }
@ -120,8 +110,7 @@ protected int getLocalPort() throws Exception {
} }
protected void start() throws Exception { protected void start() throws Exception {
if (useTomcat) startTomcat(); startJetty();
else startJetty();
} }
protected void startJetty() throws Exception { protected void startJetty() throws Exception {
@ -142,32 +131,8 @@ protected void startJetty() throws Exception {
System.out.println("Running embedded servlet container at: http://" + host + ":" + port); System.out.println("Running embedded servlet container at: http://" + host + ":" + port);
} }
protected void startTomcat() throws Exception {
tomcat = new Tomcat();
File base = new File(System.getProperty("java.io.tmpdir"));
org.apache.catalina.Context ctx =
tomcat.addContext("/foo",base.getAbsolutePath());
FilterDef fd = new FilterDef();
fd.setFilterClass(TestFilter.class.getName());
fd.setFilterName("TestFilter");
FilterMap fm = new FilterMap();
fm.setFilterName("TestFilter");
fm.addURLPattern("/*");
fm.addServletName("/bar");
ctx.addFilterDef(fd);
ctx.addFilterMap(fm);
tomcat.addServlet(ctx, "/bar", TestServlet.class.getName());
ctx.addServletMapping("/bar", "/bar");
host = "localhost";
port = getLocalPort();
tomcat.setHostname(host);
tomcat.setPort(port);
tomcat.start();
}
protected void stop() throws Exception { protected void stop() throws Exception {
if (useTomcat) stopTomcat(); stopJetty();
else stopJetty();
} }
protected void stopJetty() throws Exception { protected void stopJetty() throws Exception {
@ -182,18 +147,6 @@ protected void stopJetty() throws Exception {
} }
} }
protected void stopTomcat() throws Exception {
try {
tomcat.stop();
} catch (Exception e) {
}
try {
tomcat.destroy();
} catch (Exception e) {
}
}
protected String getBaseURL() { protected String getBaseURL() {
return "http://" + host + ":" + port + "/foo/bar"; return "http://" + host + ":" + port + "/foo/bar";
} }

View File

@ -28,33 +28,20 @@
import org.apache.hadoop.security.authentication.server.KerberosAuthenticationHandler; import org.apache.hadoop.security.authentication.server.KerberosAuthenticationHandler;
import org.junit.Assert; import org.junit.Assert;
import org.junit.Before; import org.junit.Before;
import org.junit.runners.Parameterized;
import org.junit.runner.RunWith;
import org.junit.Test; import org.junit.Test;
import java.io.File; import java.io.File;
import java.net.HttpURLConnection; import java.net.HttpURLConnection;
import java.net.URL; import java.net.URL;
import java.util.Arrays;
import java.util.Collection;
import java.util.Properties; import java.util.Properties;
import java.util.concurrent.Callable; import java.util.concurrent.Callable;
@RunWith(Parameterized.class) /**
* Test class for {@link KerberosAuthenticator}.
*/
public class TestKerberosAuthenticator extends KerberosSecurityTestcase { public class TestKerberosAuthenticator extends KerberosSecurityTestcase {
private boolean useTomcat = false; public TestKerberosAuthenticator() {
public TestKerberosAuthenticator(boolean useTomcat) {
this.useTomcat = useTomcat;
}
@Parameterized.Parameters
public static Collection booleans() {
return Arrays.asList(new Object[][] {
{ false },
{ true }
});
} }
@Before @Before
@ -93,7 +80,7 @@ private Properties getMultiAuthHandlerConfiguration() {
@Test(timeout=60000) @Test(timeout=60000)
public void testFallbacktoPseudoAuthenticator() throws Exception { public void testFallbacktoPseudoAuthenticator() throws Exception {
AuthenticatorTestCase auth = new AuthenticatorTestCase(useTomcat); AuthenticatorTestCase auth = new AuthenticatorTestCase();
Properties props = new Properties(); Properties props = new Properties();
props.setProperty(AuthenticationFilter.AUTH_TYPE, "simple"); props.setProperty(AuthenticationFilter.AUTH_TYPE, "simple");
props.setProperty(PseudoAuthenticationHandler.ANONYMOUS_ALLOWED, "false"); props.setProperty(PseudoAuthenticationHandler.ANONYMOUS_ALLOWED, "false");
@ -103,7 +90,7 @@ public void testFallbacktoPseudoAuthenticator() throws Exception {
@Test(timeout=60000) @Test(timeout=60000)
public void testFallbacktoPseudoAuthenticatorAnonymous() throws Exception { public void testFallbacktoPseudoAuthenticatorAnonymous() throws Exception {
AuthenticatorTestCase auth = new AuthenticatorTestCase(useTomcat); AuthenticatorTestCase auth = new AuthenticatorTestCase();
Properties props = new Properties(); Properties props = new Properties();
props.setProperty(AuthenticationFilter.AUTH_TYPE, "simple"); props.setProperty(AuthenticationFilter.AUTH_TYPE, "simple");
props.setProperty(PseudoAuthenticationHandler.ANONYMOUS_ALLOWED, "true"); props.setProperty(PseudoAuthenticationHandler.ANONYMOUS_ALLOWED, "true");
@ -113,7 +100,7 @@ public void testFallbacktoPseudoAuthenticatorAnonymous() throws Exception {
@Test(timeout=60000) @Test(timeout=60000)
public void testNotAuthenticated() throws Exception { public void testNotAuthenticated() throws Exception {
AuthenticatorTestCase auth = new AuthenticatorTestCase(useTomcat); AuthenticatorTestCase auth = new AuthenticatorTestCase();
AuthenticatorTestCase.setAuthenticationHandlerConfig(getAuthenticationHandlerConfiguration()); AuthenticatorTestCase.setAuthenticationHandlerConfig(getAuthenticationHandlerConfiguration());
auth.start(); auth.start();
try { try {
@ -129,7 +116,7 @@ public void testNotAuthenticated() throws Exception {
@Test(timeout=60000) @Test(timeout=60000)
public void testAuthentication() throws Exception { public void testAuthentication() throws Exception {
final AuthenticatorTestCase auth = new AuthenticatorTestCase(useTomcat); final AuthenticatorTestCase auth = new AuthenticatorTestCase();
AuthenticatorTestCase.setAuthenticationHandlerConfig( AuthenticatorTestCase.setAuthenticationHandlerConfig(
getAuthenticationHandlerConfiguration()); getAuthenticationHandlerConfiguration());
KerberosTestUtils.doAsClient(new Callable<Void>() { KerberosTestUtils.doAsClient(new Callable<Void>() {
@ -143,7 +130,7 @@ public Void call() throws Exception {
@Test(timeout=60000) @Test(timeout=60000)
public void testAuthenticationPost() throws Exception { public void testAuthenticationPost() throws Exception {
final AuthenticatorTestCase auth = new AuthenticatorTestCase(useTomcat); final AuthenticatorTestCase auth = new AuthenticatorTestCase();
AuthenticatorTestCase.setAuthenticationHandlerConfig( AuthenticatorTestCase.setAuthenticationHandlerConfig(
getAuthenticationHandlerConfiguration()); getAuthenticationHandlerConfiguration());
KerberosTestUtils.doAsClient(new Callable<Void>() { KerberosTestUtils.doAsClient(new Callable<Void>() {
@ -157,7 +144,7 @@ public Void call() throws Exception {
@Test(timeout=60000) @Test(timeout=60000)
public void testAuthenticationHttpClient() throws Exception { public void testAuthenticationHttpClient() throws Exception {
final AuthenticatorTestCase auth = new AuthenticatorTestCase(useTomcat); final AuthenticatorTestCase auth = new AuthenticatorTestCase();
AuthenticatorTestCase.setAuthenticationHandlerConfig( AuthenticatorTestCase.setAuthenticationHandlerConfig(
getAuthenticationHandlerConfiguration()); getAuthenticationHandlerConfiguration());
KerberosTestUtils.doAsClient(new Callable<Void>() { KerberosTestUtils.doAsClient(new Callable<Void>() {
@ -171,7 +158,7 @@ public Void call() throws Exception {
@Test(timeout=60000) @Test(timeout=60000)
public void testAuthenticationHttpClientPost() throws Exception { public void testAuthenticationHttpClientPost() throws Exception {
final AuthenticatorTestCase auth = new AuthenticatorTestCase(useTomcat); final AuthenticatorTestCase auth = new AuthenticatorTestCase();
AuthenticatorTestCase.setAuthenticationHandlerConfig( AuthenticatorTestCase.setAuthenticationHandlerConfig(
getAuthenticationHandlerConfiguration()); getAuthenticationHandlerConfiguration());
KerberosTestUtils.doAsClient(new Callable<Void>() { KerberosTestUtils.doAsClient(new Callable<Void>() {
@ -185,7 +172,7 @@ public Void call() throws Exception {
@Test(timeout = 60000) @Test(timeout = 60000)
public void testNotAuthenticatedWithMultiAuthHandler() throws Exception { public void testNotAuthenticatedWithMultiAuthHandler() throws Exception {
AuthenticatorTestCase auth = new AuthenticatorTestCase(useTomcat); AuthenticatorTestCase auth = new AuthenticatorTestCase();
AuthenticatorTestCase AuthenticatorTestCase
.setAuthenticationHandlerConfig(getMultiAuthHandlerConfiguration()); .setAuthenticationHandlerConfig(getMultiAuthHandlerConfiguration());
auth.start(); auth.start();
@ -204,7 +191,7 @@ public void testNotAuthenticatedWithMultiAuthHandler() throws Exception {
@Test(timeout = 60000) @Test(timeout = 60000)
public void testAuthenticationWithMultiAuthHandler() throws Exception { public void testAuthenticationWithMultiAuthHandler() throws Exception {
final AuthenticatorTestCase auth = new AuthenticatorTestCase(useTomcat); final AuthenticatorTestCase auth = new AuthenticatorTestCase();
AuthenticatorTestCase AuthenticatorTestCase
.setAuthenticationHandlerConfig(getMultiAuthHandlerConfiguration()); .setAuthenticationHandlerConfig(getMultiAuthHandlerConfiguration());
KerberosTestUtils.doAsClient(new Callable<Void>() { KerberosTestUtils.doAsClient(new Callable<Void>() {
@ -219,7 +206,7 @@ public Void call() throws Exception {
@Test(timeout = 60000) @Test(timeout = 60000)
public void testAuthenticationHttpClientPostWithMultiAuthHandler() public void testAuthenticationHttpClientPostWithMultiAuthHandler()
throws Exception { throws Exception {
final AuthenticatorTestCase auth = new AuthenticatorTestCase(useTomcat); final AuthenticatorTestCase auth = new AuthenticatorTestCase();
AuthenticatorTestCase AuthenticatorTestCase
.setAuthenticationHandlerConfig(getMultiAuthHandlerConfiguration()); .setAuthenticationHandlerConfig(getMultiAuthHandlerConfiguration());
KerberosTestUtils.doAsClient(new Callable<Void>() { KerberosTestUtils.doAsClient(new Callable<Void>() {

View File

@ -643,16 +643,6 @@
<artifactId>jetty-util-ajax</artifactId> <artifactId>jetty-util-ajax</artifactId>
<version>${jetty.version}</version> <version>${jetty.version}</version>
</dependency> </dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-core</artifactId>
<version>7.0.55</version>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-logging-juli</artifactId>
<version>7.0.55</version>
</dependency>
<dependency> <dependency>
<groupId>javax.servlet.jsp</groupId> <groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId> <artifactId>jsp-api</artifactId>