From e591c4f4dcad2bcd59f2f9d765961633d844f1bf Mon Sep 17 00:00:00 2001 From: Vinod Kumar Vavilapalli Date: Thu, 30 Aug 2012 21:04:05 +0000 Subject: [PATCH] MAPREDUCE-4569. Fixed TestHsWebServicesJobsQuery to pass on JDK7 by not depending on test order. Contributed by Thomas Graves. svn merge --ignore-ancestry -c 1379146 ../../trunk/ git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/branches/branch-2@1379148 13f79535-47bb-0310-9956-ffa450edef68 --- hadoop-mapreduce-project/CHANGES.txt | 3 +++ .../hs/webapp/TestHsWebServicesJobsQuery.java | 17 ++++++++++++++++- 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/hadoop-mapreduce-project/CHANGES.txt b/hadoop-mapreduce-project/CHANGES.txt index 48750cfb6d2..db16e323b6e 100644 --- a/hadoop-mapreduce-project/CHANGES.txt +++ b/hadoop-mapreduce-project/CHANGES.txt @@ -429,6 +429,9 @@ Release 0.23.3 - UNRELEASED MAPREDUCE-4375. Show Configuration Tracability in MR UI (bobby via tgraves) + MAPREDUCE-4569. Fixed TestHsWebServicesJobsQuery to pass on JDK7 by not + depending on test order. (Thomas Graves via vinodkv) + OPTIMIZATIONS MAPREDUCE-3850. Avoid redundant calls for tokens in TokenCache (Daryn diff --git a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-hs/src/test/java/org/apache/hadoop/mapreduce/v2/hs/webapp/TestHsWebServicesJobsQuery.java b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-hs/src/test/java/org/apache/hadoop/mapreduce/v2/hs/webapp/TestHsWebServicesJobsQuery.java index 5d5da9d551d..0b23c952290 100644 --- a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-hs/src/test/java/org/apache/hadoop/mapreduce/v2/hs/webapp/TestHsWebServicesJobsQuery.java +++ b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-hs/src/test/java/org/apache/hadoop/mapreduce/v2/hs/webapp/TestHsWebServicesJobsQuery.java @@ -25,6 +25,7 @@ import java.io.IOException; import java.util.ArrayList; +import java.util.Arrays; import java.util.Collections; import java.util.Map; @@ -217,9 +218,23 @@ public TestHsWebServicesJobsQuery() { @Test public void testJobsQueryStateNone() throws JSONException, Exception { WebResource r = resource(); + + ArrayList JOB_STATES = + new ArrayList(Arrays.asList(JobState.values())); + + // find a state that isn't in use + Map jobsMap = appContext.getAllJobs(); + for (Map.Entry entry : jobsMap.entrySet()) { + JOB_STATES.remove(entry.getValue().getState()); + } + + assertTrue("No unused job states", JOB_STATES.size() > 0); + JobState notInUse = JOB_STATES.get(0); + ClientResponse response = r.path("ws").path("v1").path("history") - .path("mapreduce").path("jobs").queryParam("state", JobState.KILL_WAIT.toString()) + .path("mapreduce").path("jobs").queryParam("state", notInUse.toString()) .accept(MediaType.APPLICATION_JSON).get(ClientResponse.class); + assertEquals(MediaType.APPLICATION_JSON_TYPE, response.getType()); JSONObject json = response.getEntity(JSONObject.class); assertEquals("incorrect number of elements", 1, json.length());