You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by rl...@apache.org on 2016/03/15 13:31:36 UTC

ambari git commit: AMBARI-15407. Fix ArtifactResourceProviderTest to avoid set ordering issues (rlevas)

Repository: ambari
Updated Branches:
  refs/heads/trunk 2ac0c1da5 -> bc2719a77


AMBARI-15407. Fix ArtifactResourceProviderTest to avoid set ordering issues (rlevas)


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/bc2719a7
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/bc2719a7
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/bc2719a7

Branch: refs/heads/trunk
Commit: bc2719a77e57f0225d4575c43038629250a1f903
Parents: 2ac0c1d
Author: Robert Levas <rl...@hortonworks.com>
Authored: Tue Mar 15 08:29:41 2016 -0400
Committer: Robert Levas <rl...@hortonworks.com>
Committed: Tue Mar 15 08:29:41 2016 -0400

----------------------------------------------------------------------
 .../internal/ArtifactResourceProviderTest.java  | 36 +++++++++++++++-----
 1 file changed, 27 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/bc2719a7/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ArtifactResourceProviderTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ArtifactResourceProviderTest.java b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ArtifactResourceProviderTest.java
index 45c32c8..33a228a 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ArtifactResourceProviderTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ArtifactResourceProviderTest.java
@@ -30,6 +30,7 @@ import org.apache.ambari.server.orm.entities.ArtifactEntity;
 import org.apache.ambari.server.state.Cluster;
 import org.apache.ambari.server.state.Clusters;
 import org.easymock.Capture;
+import org.easymock.IAnswer;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -46,11 +47,14 @@ import java.util.Map;
 import java.util.Set;
 import java.util.TreeMap;
 
+import static org.easymock.EasyMock.anyString;
 import static org.easymock.EasyMock.capture;
 import static org.easymock.EasyMock.createMock;
 import static org.easymock.EasyMock.createStrictMock;
 import static org.easymock.EasyMock.eq;
 import static org.easymock.EasyMock.expect;
+import static org.easymock.EasyMock.getCurrentArguments;
+import static org.easymock.EasyMock.newCapture;
 import static org.easymock.EasyMock.replay;
 import static org.easymock.EasyMock.reset;
 import static org.easymock.EasyMock.verify;
@@ -209,7 +213,7 @@ public class ArtifactResourceProviderTest {
 
   @Test
   public void testCreateResource() throws Exception {
-    Capture<ArtifactEntity> createEntityCapture = new Capture<ArtifactEntity>();
+    Capture<ArtifactEntity> createEntityCapture = newCapture();
     Map<String, Object> outerMap = new TreeMap<String, Object>();
     Map<String, Object> childMap = new TreeMap<String, Object>();
     outerMap.put("child", childMap);
@@ -301,8 +305,8 @@ public class ArtifactResourceProviderTest {
     Map<String, String> requestInfoProps = new HashMap<String, String>();
     requestInfoProps.put(Request.REQUEST_INFO_BODY_PROPERTY, bodyJson);
 
-    Capture<ArtifactEntity> updateEntityCapture = new Capture<ArtifactEntity>();
-    Capture<ArtifactEntity> updateEntityCapture2 = new Capture<ArtifactEntity>();
+    Capture<ArtifactEntity> updateEntityCapture = newCapture();
+    Capture<ArtifactEntity> updateEntityCapture2 = newCapture();
     Set<String> propertyIds = new HashSet<String>();
     TreeMap<String, String> foreignKeys = new TreeMap<String, String>();
     foreignKeys.put("cluster", "500");
@@ -328,8 +332,7 @@ public class ArtifactResourceProviderTest {
 
     Set<Map<String, Object>> requestProperties = Collections.singleton(properties);
 
-    Collection<Object> collectionProperties = new HashSet<Object>();
-    properties.put("artifact_data/collection", collectionProperties);
+    properties.put("artifact_data/collection", Collections.emptySet());
 
     // expectations
     expect(request.getProperties()).andReturn(requestProperties).anyTimes();
@@ -390,8 +393,8 @@ public class ArtifactResourceProviderTest {
   @Test
   public void testDeleteResources() throws Exception {
 
-    Capture<ArtifactEntity> deleteEntityCapture = new Capture<ArtifactEntity>();
-    Capture<ArtifactEntity> deleteEntityCapture2 = new Capture<ArtifactEntity>();
+    Capture<ArtifactEntity> deleteEntityCapture = newCapture();
+    Capture<ArtifactEntity> deleteEntityCapture2 = newCapture();
     TreeMap<String, String> foreignKeys = new TreeMap<String, String>();
     foreignKeys.put("cluster", "500");
 
@@ -420,10 +423,25 @@ public class ArtifactResourceProviderTest {
     expect(entity2.getForeignKeys()).andReturn(responseForeignKeys).anyTimes();
     expect(entity2.getArtifactData()).andReturn(artifact_data2).anyTimes();
 
+    IAnswer<ArtifactEntity> findByNameAndForeignKeys = new IAnswer<ArtifactEntity>() {
+      @Override
+      public ArtifactEntity answer() throws Throwable {
+        String artifactName = (String) getCurrentArguments()[0];
+
+        if ("test-artifact".equals(artifactName)) {
+          return entity;
+        } else if ("test-artifact2".equals(artifactName)) {
+          return entity2;
+        } else {
+          return null;
+        }
+      }
+    };
+
     expect(dao.findByForeignKeys(eq(foreignKeys))).andReturn(entities).once();
-    expect(dao.findByNameAndForeignKeys(eq("test-artifact"), eq(foreignKeys))).andReturn(entity).once();
+    expect(dao.findByNameAndForeignKeys(anyString(), eq(foreignKeys))).andAnswer(findByNameAndForeignKeys).once();
     dao.remove(capture(deleteEntityCapture));
-    expect(dao.findByNameAndForeignKeys(eq("test-artifact2"), eq(foreignKeys))).andReturn(entity2).once();
+    expect(dao.findByNameAndForeignKeys(anyString(), eq(foreignKeys))).andAnswer(findByNameAndForeignKeys).once();
     dao.remove(capture(deleteEntityCapture2));
 
     // end of expectation setting