You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by rn...@apache.org on 2016/09/08 19:47:01 UTC
ambari git commit: AMBARI-18333. While checking for component
dependency code looks for incorrect component name. (Amruta Borkar via
rnettleton)
Repository: ambari
Updated Branches:
refs/heads/trunk 9a3590054 -> 146b2d72f
AMBARI-18333. While checking for component dependency code looks for incorrect component name. (Amruta Borkar via rnettleton)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/146b2d72
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/146b2d72
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/146b2d72
Branch: refs/heads/trunk
Commit: 146b2d72f28e1c9743bffba78e2b66ca4f08ccb5
Parents: 9a35900
Author: Bob Nettleton <rn...@hortonworks.com>
Authored: Thu Sep 8 15:46:19 2016 -0400
Committer: Bob Nettleton <rn...@hortonworks.com>
Committed: Thu Sep 8 15:46:46 2016 -0400
----------------------------------------------------------------------
.../server/topology/BlueprintValidatorImpl.java | 2 +-
.../topology/BlueprintValidatorImplTest.java | 53 ++++++++++++++++++--
2 files changed, 49 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/146b2d72/ambari-server/src/main/java/org/apache/ambari/server/topology/BlueprintValidatorImpl.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/topology/BlueprintValidatorImpl.java b/ambari-server/src/main/java/org/apache/ambari/server/topology/BlueprintValidatorImpl.java
index 398772e..a5f33ff 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/topology/BlueprintValidatorImpl.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/topology/BlueprintValidatorImpl.java
@@ -295,7 +295,7 @@ public class BlueprintValidatorImpl implements BlueprintValidator {
resolved = missingDependencyInfo.isEmpty();
} else if (dependencyScope.equals("host")) {
- if (group.getComponentNames().contains(component) || (autoDeployInfo != null && autoDeployInfo.isEnabled())) {
+ if (group.getComponentNames().contains(componentName) || (autoDeployInfo != null && autoDeployInfo.isEnabled())) {
resolved = true;
group.addComponent(componentName);
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/146b2d72/ambari-server/src/test/java/org/apache/ambari/server/topology/BlueprintValidatorImplTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/topology/BlueprintValidatorImplTest.java b/ambari-server/src/test/java/org/apache/ambari/server/topology/BlueprintValidatorImplTest.java
index ea6bee3..b1de8ef 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/topology/BlueprintValidatorImplTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/topology/BlueprintValidatorImplTest.java
@@ -18,12 +18,17 @@
package org.apache.ambari.server.topology;
+import static org.easymock.EasyMock.expect;
+import static org.easymock.EasyMock.replay;
+import static org.easymock.EasyMock.reset;
+import static org.easymock.EasyMock.verify;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.LinkedHashMap;
+import java.util.List;
import java.util.Map;
import org.apache.ambari.server.controller.internal.Stack;
@@ -38,11 +43,6 @@ import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
-import static org.easymock.EasyMock.expect;
-import static org.easymock.EasyMock.replay;
-import static org.easymock.EasyMock.reset;
-import static org.easymock.EasyMock.verify;
-
/**
* BlueprintValidatorImpl unit tests.
*/
@@ -298,4 +298,47 @@ public class BlueprintValidatorImplTest {
verify(group1);
}
+ @Test(expected=InvalidTopologyException.class)
+ public void testShouldThrowErrorWhenDependentComponentIsNotInBlueprint() throws Exception {
+ // GIVEN
+ hostGroups.clear();
+ hostGroups.put("group1", group1);
+
+ group1Components.add("component-1");
+ dependencies1.add(dependency1);
+ services.addAll(Collections.singleton("service-1"));
+
+
+ expect(blueprint.getHostGroupsForComponent("component-1")).andReturn(Arrays.asList(group1)).anyTimes();
+ expect(blueprint.getName()).andReturn("blueprint-1").anyTimes();
+
+ Cardinality cardinality = new Cardinality("1");
+
+ expect(stack.getComponents("service-1")).andReturn(Arrays.asList("component-1")).anyTimes();
+ expect(stack.getAutoDeployInfo("component-1")).andReturn(autoDeploy).anyTimes();
+ expect(stack.getDependenciesForComponent("component-1")).andReturn(dependencies1).anyTimes();
+ expect(stack.getCardinality("component-1")).andReturn(cardinality).anyTimes();
+
+
+ AutoDeployInfo dependencyAutoDeploy = null;
+
+ expect(dependency1.getScope()).andReturn("host").anyTimes();
+ expect(dependency1.getAutoDeploy()).andReturn(dependencyAutoDeploy).anyTimes();
+ expect(dependency1.getComponentName()).andReturn("component-d").anyTimes();
+ expect(dependency1.getServiceName()).andReturn("service-d").anyTimes();
+ expect(dependency1.getName()).andReturn("dependency-1").anyTimes();
+
+
+ expect(stack.getComponentInfo("component-d")).andReturn(dependencyComponentInfo).anyTimes();
+
+ replay(blueprint, stack, group1, group2, dependency1, dependencyComponentInfo);
+
+ // WHEN
+ BlueprintValidator validator = new BlueprintValidatorImpl(blueprint);
+ validator.validateTopology();
+
+ // THEN
+ verify(group1);
+
+ }
}