http://git-wip-us.apache.org/repos/asf/hadoop/blob/5d58858b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesFairScheduler.java ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesFairScheduler.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesFairScheduler.java index 1aed3a6..cbe360a 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesFairScheduler.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesFairScheduler.java @@ -30,15 +30,15 @@ import org.apache.hadoop.yarn.server.resourcemanager.scheduler.ResourceScheduler import org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FairScheduler; import org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.QueueManager; import org.apache.hadoop.yarn.webapp.GenericExceptionHandler; +import org.apache.hadoop.yarn.webapp.GuiceServletConfig; import org.apache.hadoop.yarn.webapp.JerseyTestBase; import org.codehaus.jettison.json.JSONArray; import org.codehaus.jettison.json.JSONException; import org.codehaus.jettison.json.JSONObject; +import org.junit.Before; import org.junit.Test; import com.google.inject.Guice; -import com.google.inject.Injector; -import com.google.inject.servlet.GuiceServletContextListener; import com.google.inject.servlet.ServletModule; import com.sun.jersey.api.client.ClientResponse; import com.sun.jersey.api.client.WebResource; @@ -47,9 +47,9 @@ import com.sun.jersey.test.framework.WebAppDescriptor; public class TestRMWebServicesFairScheduler extends JerseyTestBase { private static MockRM rm; - private YarnConfiguration conf; + private static YarnConfiguration conf; - private Injector injector = Guice.createInjector(new ServletModule() { + private static class WebServletModule extends ServletModule { @Override protected void configureServlets() { bind(JAXBContextResolver.class); @@ -62,16 +62,21 @@ public class TestRMWebServicesFairScheduler extends JerseyTestBase { bind(ResourceManager.class).toInstance(rm); serve("/*").with(GuiceContainer.class); } - }); - - public class GuiceServletConfig extends GuiceServletContextListener { + } - @Override - protected Injector getInjector() { - return injector; - } + static { + GuiceServletConfig.setInjector( + Guice.createInjector(new WebServletModule())); } - + + @Before + @Override + public void setUp() throws Exception { + super.setUp(); + GuiceServletConfig.setInjector( + Guice.createInjector(new WebServletModule())); + } + public TestRMWebServicesFairScheduler() { super(new WebAppDescriptor.Builder( "org.apache.hadoop.yarn.server.resourcemanager.webapp")
http://git-wip-us.apache.org/repos/asf/hadoop/blob/5d58858b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesForCSWithPartitions.java ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesForCSWithPartitions.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesForCSWithPartitions.java index 8087e33..046cf8a 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesForCSWithPartitions.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesForCSWithPartitions.java @@ -38,6 +38,7 @@ import org.apache.hadoop.yarn.server.resourcemanager.scheduler.ResourceScheduler import org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler; import org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacitySchedulerConfiguration; import org.apache.hadoop.yarn.webapp.GenericExceptionHandler; +import org.apache.hadoop.yarn.webapp.GuiceServletConfig; import org.apache.hadoop.yarn.webapp.JerseyTestBase; import org.apache.hadoop.yarn.webapp.WebServicesTestUtils; import org.codehaus.jettison.json.JSONArray; @@ -53,8 +54,6 @@ import org.xml.sax.InputSource; import com.google.common.collect.ImmutableSet; import com.google.inject.Guice; -import com.google.inject.Injector; -import com.google.inject.servlet.GuiceServletContextListener; import com.google.inject.servlet.ServletModule; import com.sun.jersey.api.client.ClientResponse; import com.sun.jersey.api.client.WebResource; @@ -78,10 +77,10 @@ public class TestRMWebServicesForCSWithPartitions extends JerseyTestBase { private static final ImmutableSet<String> CLUSTER_LABELS = ImmutableSet.of(LABEL_LX, LABEL_LY, DEFAULT_PARTITION); private static MockRM rm; - private CapacitySchedulerConfiguration csConf; - private YarnConfiguration conf; + static private CapacitySchedulerConfiguration csConf; + static private YarnConfiguration conf; - private Injector injector = Guice.createInjector(new ServletModule() { + private static class WebServletModule extends ServletModule { @Override protected void configureServlets() { bind(JAXBContextResolver.class); @@ -106,76 +105,79 @@ public class TestRMWebServicesForCSWithPartitions extends JerseyTestBase { bind(ResourceManager.class).toInstance(rm); serve("/*").with(GuiceContainer.class); } - }); + }; - public class GuiceServletConfig extends GuiceServletContextListener { - @Override - protected Injector getInjector() { - return injector; - } + static { + GuiceServletConfig.setInjector( + Guice.createInjector(new WebServletModule())); } private static void setupQueueConfiguration( - CapacitySchedulerConfiguration conf, ResourceManager rm) { + CapacitySchedulerConfiguration config, ResourceManager resourceManager) { // Define top-level queues - conf.setQueues(CapacitySchedulerConfiguration.ROOT, + config.setQueues(CapacitySchedulerConfiguration.ROOT, new String[] { QUEUE_A, QUEUE_B, QUEUE_C }); String interMediateQueueC = CapacitySchedulerConfiguration.ROOT + "." + QUEUE_C; - conf.setQueues(interMediateQueueC, + config.setQueues(interMediateQueueC, new String[] { LEAF_QUEUE_C1, LEAF_QUEUE_C2 }); - conf.setCapacityByLabel(CapacitySchedulerConfiguration.ROOT, LABEL_LX, 100); - conf.setCapacityByLabel(CapacitySchedulerConfiguration.ROOT, LABEL_LY, 100); + config.setCapacityByLabel( + CapacitySchedulerConfiguration.ROOT, LABEL_LX, 100); + config.setCapacityByLabel( + CapacitySchedulerConfiguration.ROOT, LABEL_LY, 100); String leafQueueA = CapacitySchedulerConfiguration.ROOT + "." + QUEUE_A; - conf.setCapacity(leafQueueA, 30); - conf.setMaximumCapacity(leafQueueA, 50); + config.setCapacity(leafQueueA, 30); + config.setMaximumCapacity(leafQueueA, 50); String leafQueueB = CapacitySchedulerConfiguration.ROOT + "." + QUEUE_B; - conf.setCapacity(leafQueueB, 30); - conf.setMaximumCapacity(leafQueueB, 50); + config.setCapacity(leafQueueB, 30); + config.setMaximumCapacity(leafQueueB, 50); - conf.setCapacity(interMediateQueueC, 40); - conf.setMaximumCapacity(interMediateQueueC, 50); + config.setCapacity(interMediateQueueC, 40); + config.setMaximumCapacity(interMediateQueueC, 50); String leafQueueC1 = interMediateQueueC + "." + LEAF_QUEUE_C1; - conf.setCapacity(leafQueueC1, 50); - conf.setMaximumCapacity(leafQueueC1, 60); + config.setCapacity(leafQueueC1, 50); + config.setMaximumCapacity(leafQueueC1, 60); String leafQueueC2 = interMediateQueueC + "." + LEAF_QUEUE_C2; - conf.setCapacity(leafQueueC2, 50); - conf.setMaximumCapacity(leafQueueC2, 70); + config.setCapacity(leafQueueC2, 50); + config.setMaximumCapacity(leafQueueC2, 70); // Define label specific configuration - conf.setAccessibleNodeLabels(leafQueueA, ImmutableSet.of(DEFAULT_PARTITION)); - conf.setAccessibleNodeLabels(leafQueueB, ImmutableSet.of(LABEL_LX)); - conf.setAccessibleNodeLabels(interMediateQueueC, + config.setAccessibleNodeLabels( + leafQueueA, ImmutableSet.of(DEFAULT_PARTITION)); + config.setAccessibleNodeLabels(leafQueueB, ImmutableSet.of(LABEL_LX)); + config.setAccessibleNodeLabels(interMediateQueueC, ImmutableSet.of(LABEL_LX, LABEL_LY)); - conf.setAccessibleNodeLabels(leafQueueC1, + config.setAccessibleNodeLabels(leafQueueC1, ImmutableSet.of(LABEL_LX, LABEL_LY)); - conf.setAccessibleNodeLabels(leafQueueC2, + config.setAccessibleNodeLabels(leafQueueC2, ImmutableSet.of(LABEL_LX, LABEL_LY)); - conf.setDefaultNodeLabelExpression(leafQueueB, LABEL_LX); - conf.setDefaultNodeLabelExpression(leafQueueC1, LABEL_LX); - conf.setDefaultNodeLabelExpression(leafQueueC2, LABEL_LY); - - conf.setCapacityByLabel(leafQueueB, LABEL_LX, 30); - conf.setCapacityByLabel(interMediateQueueC, LABEL_LX, 70); - conf.setCapacityByLabel(leafQueueC1, LABEL_LX, 40); - conf.setCapacityByLabel(leafQueueC2, LABEL_LX, 60); - - conf.setCapacityByLabel(interMediateQueueC, LABEL_LY, 100); - conf.setCapacityByLabel(leafQueueC1, LABEL_LY, 50); - conf.setCapacityByLabel(leafQueueC2, LABEL_LY, 50); - conf.setMaximumCapacityByLabel(leafQueueC1, LABEL_LY, 75); - conf.setMaximumCapacityByLabel(leafQueueC2, LABEL_LY, 75); + config.setDefaultNodeLabelExpression(leafQueueB, LABEL_LX); + config.setDefaultNodeLabelExpression(leafQueueC1, LABEL_LX); + config.setDefaultNodeLabelExpression(leafQueueC2, LABEL_LY); + + config.setCapacityByLabel(leafQueueB, LABEL_LX, 30); + config.setCapacityByLabel(interMediateQueueC, LABEL_LX, 70); + config.setCapacityByLabel(leafQueueC1, LABEL_LX, 40); + config.setCapacityByLabel(leafQueueC2, LABEL_LX, 60); + + config.setCapacityByLabel(interMediateQueueC, LABEL_LY, 100); + config.setCapacityByLabel(leafQueueC1, LABEL_LY, 50); + config.setCapacityByLabel(leafQueueC2, LABEL_LY, 50); + config.setMaximumCapacityByLabel(leafQueueC1, LABEL_LY, 75); + config.setMaximumCapacityByLabel(leafQueueC2, LABEL_LY, 75); } @Before @Override public void setUp() throws Exception { super.setUp(); + GuiceServletConfig.setInjector( + Guice.createInjector(new WebServletModule())); } public TestRMWebServicesForCSWithPartitions() { http://git-wip-us.apache.org/repos/asf/hadoop/blob/5d58858b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesNodeLabels.java ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesNodeLabels.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesNodeLabels.java index 7a72cb1..0cfaac1 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesNodeLabels.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesNodeLabels.java @@ -41,16 +41,16 @@ import org.apache.hadoop.yarn.server.resourcemanager.webapp.dao.NodeToLabelsEntr import org.apache.hadoop.yarn.server.resourcemanager.webapp.dao.NodeToLabelsInfo; import org.apache.hadoop.yarn.server.resourcemanager.webapp.dao.NodeToLabelsEntryList; import org.apache.hadoop.yarn.webapp.GenericExceptionHandler; +import org.apache.hadoop.yarn.webapp.GuiceServletConfig; import org.apache.hadoop.yarn.webapp.JerseyTestBase; import org.apache.hadoop.yarn.webapp.WebServicesTestUtils; import org.codehaus.jettison.json.JSONException; import org.codehaus.jettison.json.JSONObject; import org.junit.Assert; +import org.junit.Before; import org.junit.Test; import com.google.inject.Guice; -import com.google.inject.Injector; -import com.google.inject.servlet.GuiceServletContextListener; import com.google.inject.servlet.ServletModule; import com.sun.jersey.api.client.ClientResponse; import com.sun.jersey.api.client.UniformInterfaceException; @@ -69,13 +69,13 @@ public class TestRMWebServicesNodeLabels extends JerseyTestBase { .getLog(TestRMWebServicesNodeLabels.class); private static MockRM rm; - private YarnConfiguration conf; + private static YarnConfiguration conf; - private String userName; - private String notUserName; - private RMWebServices rmWebService; + private static String userName; + private static String notUserName; + private static RMWebServices rmWebService; - private Injector injector = Guice.createInjector(new ServletModule() { + private static class WebServletModule extends ServletModule { @Override protected void configureServlets() { @@ -98,14 +98,14 @@ public class TestRMWebServicesNodeLabels extends JerseyTestBase { TestRMWebServicesAppsModification.TestRMCustomAuthFilter.class); serve("/*").with(GuiceContainer.class); } - }); - - public class GuiceServletConfig extends GuiceServletContextListener { - - @Override - protected Injector getInjector() { - return injector; - } + }; + + @Override + @Before + public void setUp() throws Exception { + super.setUp(); + GuiceServletConfig.setInjector( + Guice.createInjector(new WebServletModule())); } public TestRMWebServicesNodeLabels() { http://git-wip-us.apache.org/repos/asf/hadoop/blob/5d58858b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesNodes.java ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesNodes.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesNodes.java index 5bcb0e0..718091f 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesNodes.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesNodes.java @@ -18,6 +18,7 @@ package org.apache.hadoop.yarn.server.resourcemanager.webapp; +import static org.apache.hadoop.yarn.webapp.WebServicesTestUtils.assertResponseStatusCode; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; @@ -51,6 +52,7 @@ import org.apache.hadoop.yarn.server.resourcemanager.scheduler.SchedulerNodeRepo import org.apache.hadoop.yarn.util.RackResolver; import org.apache.hadoop.yarn.util.YarnVersionInfo; import org.apache.hadoop.yarn.webapp.GenericExceptionHandler; +import org.apache.hadoop.yarn.webapp.GuiceServletConfig; import org.apache.hadoop.yarn.webapp.JerseyTestBase; import org.apache.hadoop.yarn.webapp.WebServicesTestUtils; import org.codehaus.jettison.json.JSONArray; @@ -65,8 +67,6 @@ import org.xml.sax.InputSource; import com.google.common.base.Joiner; import com.google.inject.Guice; -import com.google.inject.Injector; -import com.google.inject.servlet.GuiceServletContextListener; import com.google.inject.servlet.ServletModule; import com.sun.jersey.api.client.ClientResponse; import com.sun.jersey.api.client.ClientResponse.Status; @@ -79,7 +79,7 @@ public class TestRMWebServicesNodes extends JerseyTestBase { private static MockRM rm; - private Injector injector = Guice.createInjector(new ServletModule() { + private static class WebServletModule extends ServletModule { @Override protected void configureServlets() { bind(JAXBContextResolver.class); @@ -91,20 +91,19 @@ public class TestRMWebServicesNodes extends JerseyTestBase { bind(ResourceManager.class).toInstance(rm); serve("/*").with(GuiceContainer.class); } - }); - - public class GuiceServletConfig extends GuiceServletContextListener { + } - @Override - protected Injector getInjector() { - return injector; - } + static { + GuiceServletConfig.setInjector( + Guice.createInjector(new WebServletModule())); } @Before @Override public void setUp() throws Exception { super.setUp(); + GuiceServletConfig.setInjector( + Guice.createInjector(new WebServletModule())); } public TestRMWebServicesNodes() { @@ -227,7 +226,8 @@ public class TestRMWebServicesNodes extends JerseyTestBase { assertEquals(MediaType.APPLICATION_JSON_TYPE, response.getType()); JSONObject json = response.getEntity(JSONObject.class); assertEquals("incorrect number of elements", 1, json.length()); - assertEquals("nodes is not null", JSONObject.NULL, json.get("nodes")); + assertEquals("nodes is not empty", + new JSONObject().toString(), json.get("nodes").toString()); } @Test @@ -245,7 +245,7 @@ public class TestRMWebServicesNodes extends JerseyTestBase { } catch (UniformInterfaceException ue) { ClientResponse response = ue.getResponse(); - assertEquals(Status.BAD_REQUEST, response.getClientResponseStatus()); + assertResponseStatusCode(Status.BAD_REQUEST, response.getStatusInfo()); assertEquals(MediaType.APPLICATION_JSON_TYPE, response.getType()); JSONObject msg = response.getEntity(JSONObject.class); @@ -357,7 +357,8 @@ public class TestRMWebServicesNodes extends JerseyTestBase { assertEquals(MediaType.APPLICATION_JSON_TYPE, response.getType()); JSONObject json = response.getEntity(JSONObject.class); assertEquals("incorrect number of elements", 1, json.length()); - assertEquals("nodes is not null", JSONObject.NULL, json.get("nodes")); + assertEquals("nodes is not empty", + new JSONObject().toString(), json.get("nodes").toString()); } public void testNodesHelper(String path, String media) throws JSONException, @@ -436,7 +437,7 @@ public class TestRMWebServicesNodes extends JerseyTestBase { fail("should have thrown exception on non-existent nodeid"); } catch (UniformInterfaceException ue) { ClientResponse response = ue.getResponse(); - assertEquals(Status.NOT_FOUND, response.getClientResponseStatus()); + assertResponseStatusCode(Status.NOT_FOUND, response.getStatusInfo()); assertEquals(MediaType.APPLICATION_JSON_TYPE, response.getType()); JSONObject msg = response.getEntity(JSONObject.class); JSONObject exception = msg.getJSONObject("RemoteException"); @@ -462,7 +463,7 @@ public class TestRMWebServicesNodes extends JerseyTestBase { fail("should have thrown exception on non-existent nodeid"); } catch (UniformInterfaceException ue) { ClientResponse response = ue.getResponse(); - assertEquals(Status.NOT_FOUND, response.getClientResponseStatus()); + assertResponseStatusCode(Status.NOT_FOUND, response.getStatusInfo()); assertEquals(MediaType.APPLICATION_JSON_TYPE, response.getType()); JSONObject msg = response.getEntity(JSONObject.class); JSONObject exception = msg.getJSONObject("RemoteException"); @@ -488,7 +489,7 @@ public class TestRMWebServicesNodes extends JerseyTestBase { fail("should have thrown exception on non-existent nodeid"); } catch (UniformInterfaceException ue) { ClientResponse response = ue.getResponse(); - assertEquals(Status.NOT_FOUND, response.getClientResponseStatus()); + assertResponseStatusCode(Status.NOT_FOUND, response.getStatusInfo()); assertEquals(MediaType.APPLICATION_XML_TYPE, response.getType()); String msg = response.getEntity(String.class); System.out.println(msg); @@ -531,7 +532,7 @@ public class TestRMWebServicesNodes extends JerseyTestBase { } catch (UniformInterfaceException ue) { ClientResponse response = ue.getResponse(); - assertEquals(Status.BAD_REQUEST, response.getClientResponseStatus()); + assertResponseStatusCode(Status.BAD_REQUEST, response.getStatusInfo()); assertEquals(MediaType.APPLICATION_JSON_TYPE, response.getType()); JSONObject msg = response.getEntity(JSONObject.class); JSONObject exception = msg.getJSONObject("RemoteException"); http://git-wip-us.apache.org/repos/asf/hadoop/blob/5d58858b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesReservation.java ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesReservation.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesReservation.java index 40d46d0..5f55e34 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesReservation.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesReservation.java @@ -18,6 +18,7 @@ package org.apache.hadoop.yarn.server.resourcemanager.webapp; +import static org.apache.hadoop.yarn.webapp.WebServicesTestUtils.assertResponseStatusCode; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; @@ -56,6 +57,7 @@ import org.apache.hadoop.yarn.server.resourcemanager.webapp.dao.ReservationUpdat import org.apache.hadoop.yarn.util.Clock; import org.apache.hadoop.yarn.util.UTCClock; import org.apache.hadoop.yarn.webapp.GenericExceptionHandler; +import org.apache.hadoop.yarn.webapp.GuiceServletConfig; import org.apache.hadoop.yarn.webapp.JerseyTestBase; import org.codehaus.jettison.json.JSONArray; import org.codehaus.jettison.json.JSONException; @@ -70,7 +72,6 @@ import org.junit.runners.Parameterized.Parameters; import com.google.inject.Guice; import com.google.inject.Injector; import com.google.inject.Singleton; -import com.google.inject.servlet.GuiceServletContextListener; import com.google.inject.servlet.ServletModule; import com.sun.jersey.api.client.ClientResponse; import com.sun.jersey.api.client.ClientResponse.Status; @@ -86,10 +87,9 @@ import com.sun.jersey.test.framework.WebAppDescriptor; public class TestRMWebServicesReservation extends JerseyTestBase { private String webserviceUserName = "testuser"; - private boolean setAuthFilter = false; + private static boolean setAuthFilter = false; private static MockRM rm; - private static Injector injector; private static final int MINIMUM_RESOURCE_DURATION = 1000000; private static final Clock clock = new UTCClock(); @@ -103,14 +103,6 @@ public class TestRMWebServicesReservation extends JerseyTestBase { private static final String GET_NEW_RESERVATION_PATH = "reservation/new-reservation"; - public static class GuiceServletConfig extends GuiceServletContextListener { - - @Override - protected Injector getInjector() { - return injector; - } - } - /* * Helper class to allow testing of RM web services which require * authorization Add this class as a filter in the Guice injector for the @@ -139,7 +131,7 @@ public class TestRMWebServicesReservation extends JerseyTestBase { } - private abstract class TestServletModule extends ServletModule { + private static abstract class TestServletModule extends ServletModule { public Configuration conf = new Configuration(); public abstract void configureScheduler(); @@ -175,7 +167,7 @@ public class TestRMWebServicesReservation extends JerseyTestBase { } } - private class CapTestServletModule extends TestServletModule { + private static class CapTestServletModule extends TestServletModule { @Override public void configureScheduler() { conf.set("yarn.resourcemanager.scheduler.class", @@ -183,7 +175,7 @@ public class TestRMWebServicesReservation extends JerseyTestBase { } } - private class FairTestServletModule extends TestServletModule { + private static class FairTestServletModule extends TestServletModule { @Override public void configureScheduler() { try { @@ -209,52 +201,65 @@ public class TestRMWebServicesReservation extends JerseyTestBase { } } - private Injector getNoAuthInjectorCap() { - return Guice.createInjector(new CapTestServletModule() { - @Override - protected void configureServlets() { - setAuthFilter = false; - super.configureServlets(); - } - }); + private static class NoAuthServletModule extends CapTestServletModule { + @Override + protected void configureServlets() { + setAuthFilter = false; + super.configureServlets(); + } } - private Injector getSimpleAuthInjectorCap() { - return Guice.createInjector(new CapTestServletModule() { - @Override - protected void configureServlets() { - setAuthFilter = true; - conf.setBoolean(YarnConfiguration.YARN_ACL_ENABLE, true); - // set the admin acls otherwise all users are considered admins - // and we can't test authorization - conf.setStrings(YarnConfiguration.YARN_ADMIN_ACL, "testuser1"); - super.configureServlets(); - } - }); + private static class SimpleAuthServletModule extends CapTestServletModule { + @Override + protected void configureServlets() { + setAuthFilter = true; + conf.setBoolean(YarnConfiguration.YARN_ACL_ENABLE, true); + // set the admin acls otherwise all users are considered admins + // and we can't test authorization + conf.setStrings(YarnConfiguration.YARN_ADMIN_ACL, "testuser1"); + super.configureServlets(); + } } - private Injector getNoAuthInjectorFair() { - return Guice.createInjector(new FairTestServletModule() { - @Override - protected void configureServlets() { - setAuthFilter = false; - super.configureServlets(); - } - }); + private static class FairNoAuthServletModule extends FairTestServletModule { + @Override + protected void configureServlets() { + setAuthFilter = false; + super.configureServlets(); + } } - private Injector getSimpleAuthInjectorFair() { - return Guice.createInjector(new FairTestServletModule() { - @Override - protected void configureServlets() { - setAuthFilter = true; - conf.setBoolean(YarnConfiguration.YARN_ACL_ENABLE, true); - // set the admin acls otherwise all users are considered admins - // and we can't test authorization - conf.setStrings(YarnConfiguration.YARN_ADMIN_ACL, "testuser1"); - super.configureServlets(); - } - }); + private static class FairSimpleAuthServletModule extends + FairTestServletModule { + @Override + protected void configureServlets() { + setAuthFilter = true; + conf.setBoolean(YarnConfiguration.YARN_ACL_ENABLE, true); + // set the admin acls otherwise all users are considered admins + // and we can't test authorization + conf.setStrings(YarnConfiguration.YARN_ADMIN_ACL, "testuser1"); + super.configureServlets(); + } + } + + private Injector initNoAuthInjectorCap() { + return GuiceServletConfig.setInjector( + Guice.createInjector(new NoAuthServletModule())); + } + + private Injector initSimpleAuthInjectorCap() { + return GuiceServletConfig.setInjector( + Guice.createInjector(new SimpleAuthServletModule())); + } + + private Injector initNoAuthInjectorFair() { + return GuiceServletConfig.setInjector( + Guice.createInjector(new FairNoAuthServletModule())); + } + + private Injector initSimpleAuthInjectorFair() { + return GuiceServletConfig.setInjector( + Guice.createInjector(new FairSimpleAuthServletModule())); } @Parameters @@ -279,19 +284,19 @@ public class TestRMWebServicesReservation extends JerseyTestBase { case 0: default: // No Auth Capacity Scheduler - injector = getNoAuthInjectorCap(); + initNoAuthInjectorCap(); break; case 1: // Simple Auth Capacity Scheduler - injector = getSimpleAuthInjectorCap(); + initSimpleAuthInjectorCap(); break; case 2: // No Auth Fair Scheduler - injector = getNoAuthInjectorFair(); + initNoAuthInjectorFair(); break; case 3: // Simple Auth Fair Scheduler - injector = getSimpleAuthInjectorFair(); + initSimpleAuthInjectorFair(); break; } } @@ -959,7 +964,7 @@ public class TestRMWebServicesReservation extends JerseyTestBase { .post(ClientResponse.class); if (!this.isAuthenticationEnabled()) { - assertEquals(Status.UNAUTHORIZED, response.getClientResponseStatus()); + assertResponseStatusCode(Status.UNAUTHORIZED, response.getStatusInfo()); return ReservationId.newInstance(clock.getTime(), fallbackReservationId); } @@ -1013,7 +1018,7 @@ public class TestRMWebServicesReservation extends JerseyTestBase { .accept(media).post(ClientResponse.class); if (!this.isAuthenticationEnabled()) { - assertEquals(Status.UNAUTHORIZED, response.getClientResponseStatus()); + assertResponseStatusCode(Status.UNAUTHORIZED, response.getStatusInfo()); } return response; @@ -1046,13 +1051,13 @@ public class TestRMWebServicesReservation extends JerseyTestBase { .accept(media).post(ClientResponse.class); if (!this.isAuthenticationEnabled()) { - assertEquals(Status.UNAUTHORIZED, response.getClientResponseStatus()); + assertResponseStatusCode(Status.UNAUTHORIZED, response.getStatusInfo()); return; } System.out.println("RESPONSE:" + response); assertEquals(MediaType.APPLICATION_JSON_TYPE, response.getType()); - assertEquals(Status.OK, response.getClientResponseStatus()); + assertResponseStatusCode(Status.OK, response.getStatusInfo()); } @@ -1095,13 +1100,13 @@ public class TestRMWebServicesReservation extends JerseyTestBase { .accept(media).post(ClientResponse.class); if (!this.isAuthenticationEnabled()) { - assertEquals(Status.UNAUTHORIZED, response.getClientResponseStatus()); + assertResponseStatusCode(Status.UNAUTHORIZED, response.getStatusInfo()); return; } System.out.println("RESPONSE:" + response); assertEquals(MediaType.APPLICATION_JSON_TYPE, response.getType()); - assertEquals(Status.OK, response.getClientResponseStatus()); + assertResponseStatusCode(Status.OK, response.getStatusInfo()); } private void testRDLHelper(JSONObject json) throws JSONException { @@ -1126,12 +1131,12 @@ public class TestRMWebServicesReservation extends JerseyTestBase { ClientResponse response = resource.get(ClientResponse.class); if (!this.isAuthenticationEnabled()) { - assertEquals(Status.UNAUTHORIZED, response.getClientResponseStatus()); + assertResponseStatusCode(Status.UNAUTHORIZED, response.getStatusInfo()); return null; } assertEquals(MediaType.APPLICATION_JSON_TYPE, response.getType()); - assertEquals(status, response.getClientResponseStatus()); + assertResponseStatusCode(status, response.getStatusInfo()); return response.getEntity(JSONObject.class); } @@ -1152,7 +1157,7 @@ public class TestRMWebServicesReservation extends JerseyTestBase { } private boolean isHttpSuccessResponse(ClientResponse response) { - return (response.getStatus() / 100) == 2; + return (response.getStatusInfo().getStatusCode() / 100) == 2; } private void setupCluster(int nodes) throws Exception { http://git-wip-us.apache.org/repos/asf/hadoop/blob/5d58858b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/webapp/TestRMWithCSRFFilter.java ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/webapp/TestRMWithCSRFFilter.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/webapp/TestRMWithCSRFFilter.java index 2efbd2d..a15d656 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/webapp/TestRMWithCSRFFilter.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/webapp/TestRMWithCSRFFilter.java @@ -19,12 +19,9 @@ package org.apache.hadoop.yarn.webapp; import com.google.inject.Guice; -import com.google.inject.Injector; -import com.google.inject.servlet.GuiceServletContextListener; import com.google.inject.servlet.ServletModule; import com.sun.jersey.api.client.ClientResponse; import com.sun.jersey.api.client.ClientResponse.Status; -import com.sun.jersey.api.client.UniformInterfaceException; import com.sun.jersey.api.client.WebResource; import com.sun.jersey.guice.spi.container.servlet.GuiceContainer; import com.sun.jersey.test.framework.WebAppDescriptor; @@ -33,7 +30,6 @@ import org.apache.hadoop.security.http.RestCsrfPreventionFilter; import org.apache.hadoop.service.Service.STATE; import org.apache.hadoop.util.VersionInfo; import org.apache.hadoop.yarn.conf.YarnConfiguration; -import org.apache.hadoop.yarn.server.resourcemanager.ClusterMetrics; import org.apache.hadoop.yarn.server.resourcemanager.MockRM; import org.apache.hadoop.yarn.server.resourcemanager.ResourceManager; import org.apache.hadoop.yarn.server.resourcemanager.scheduler.ResourceScheduler; @@ -41,10 +37,7 @@ import org.apache.hadoop.yarn.server.resourcemanager.scheduler.fifo.FifoSchedule import org.apache.hadoop.yarn.server.resourcemanager.webapp.JAXBContextResolver; import org.apache.hadoop.yarn.server.resourcemanager.webapp.RMWebServices; import org.apache.hadoop.yarn.util.YarnVersionInfo; -import org.codehaus.jettison.json.JSONException; -import org.codehaus.jettison.json.JSONObject; import org.junit.Before; -import org.junit.BeforeClass; import org.junit.Test; import org.w3c.dom.Document; import org.w3c.dom.Element; @@ -60,7 +53,6 @@ import java.util.Map; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; -import static org.junit.Assert.fail; /** * Used TestRMWebServices as an example of web invocations of RM and added @@ -70,7 +62,7 @@ public class TestRMWithCSRFFilter extends JerseyTestBase { private static MockRM rm; - private Injector injector = Guice.createInjector(new ServletModule() { + private static class WebServletModule extends ServletModule { @Override protected void configureServlets() { bind(JAXBContextResolver.class); @@ -89,20 +81,14 @@ public class TestRMWithCSRFFilter extends JerseyTestBase { "OPTIONS,HEAD,TRACE"); filter("/*").through(csrfFilter, initParams); } - }); - - public class GuiceServletConfig extends GuiceServletContextListener { - - @Override - protected Injector getInjector() { - return injector; - } - } + }; @Before @Override public void setUp() throws Exception { super.setUp(); + GuiceServletConfig.setInjector( + Guice.createInjector(new WebServletModule())); } public TestRMWithCSRFFilter() { http://git-wip-us.apache.org/repos/asf/hadoop/blob/5d58858b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/webapp/TestRMWithXFSFilter.java ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/webapp/TestRMWithXFSFilter.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/webapp/TestRMWithXFSFilter.java index a73a0ed..bcf2b21 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/webapp/TestRMWithXFSFilter.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/webapp/TestRMWithXFSFilter.java @@ -19,8 +19,6 @@ package org.apache.hadoop.yarn.webapp; import com.google.inject.Guice; -import com.google.inject.Injector; -import com.google.inject.servlet.GuiceServletContextListener; import com.google.inject.servlet.ServletModule; import com.sun.jersey.api.client.ClientResponse; import com.sun.jersey.api.client.WebResource; @@ -52,19 +50,6 @@ public class TestRMWithXFSFilter extends JerseyTestBase { private static MockRM rm; - private Injector injector; - - /** - * - */ - public class GuiceServletConfig extends GuiceServletContextListener { - - @Override - protected Injector getInjector() { - return injector; - } - } - @Before @Override public void setUp() throws Exception { @@ -103,7 +88,7 @@ public class TestRMWithXFSFilter extends JerseyTestBase { protected void createInjector(final String headerValue, final boolean explicitlyDisabled) { - injector = Guice.createInjector(new ServletModule() { + GuiceServletConfig.setInjector(Guice.createInjector(new ServletModule() { @Override protected void configureServlets() { bind(JAXBContextResolver.class); @@ -127,7 +112,7 @@ public class TestRMWithXFSFilter extends JerseyTestBase { filter("/*").through(xfsFilter, initParams); } - }); + })); } @Test --------------------------------------------------------------------- To unsubscribe, e-mail: common-commits-unsubscr...@hadoop.apache.org For additional commands, e-mail: common-commits-h...@hadoop.apache.org