Author: mahadev
Date: Tue Jan 29 18:17:02 2013
New Revision: 1440043

URL: http://svn.apache.org/viewvc?rev=1440043&view=rev
Log:
AMBARI-1293. Add test case for API not allowing starting of host components 
that are in STOP_FAILED state

Added:
    
incubator/ambari/trunk/ambari-server/src/test/java/org/apache/ambari/server/agent/DummyHeartbeatConstants.java
Modified:
    
incubator/ambari/trunk/ambari-server/src/test/java/org/apache/ambari/server/agent/TestHeartbeatHandler.java

Added: 
incubator/ambari/trunk/ambari-server/src/test/java/org/apache/ambari/server/agent/DummyHeartbeatConstants.java
URL: 
http://svn.apache.org/viewvc/incubator/ambari/trunk/ambari-server/src/test/java/org/apache/ambari/server/agent/DummyHeartbeatConstants.java?rev=1440043&view=auto
==============================================================================
--- 
incubator/ambari/trunk/ambari-server/src/test/java/org/apache/ambari/server/agent/DummyHeartbeatConstants.java
 (added)
+++ 
incubator/ambari/trunk/ambari-server/src/test/java/org/apache/ambari/server/agent/DummyHeartbeatConstants.java
 Tue Jan 29 18:17:02 2013
@@ -0,0 +1,42 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.ambari.server.agent;
+
+import org.apache.ambari.server.Role;
+
+public interface DummyHeartbeatConstants {
+
+  String DummyCluster = "cluster1";
+  String DummyHostname1 = "host1";
+  String DummyOs = "CentOS";
+  String DummyOsType = "centos5";
+  String DummyOSRelease = "5.8";
+
+  String DummyHostStatus = "I am ok";
+
+  String DummyStackId = "HDP-0.1";
+
+  String HDFS = "HDFS";
+  String HBASE = "HBASE";
+
+  String DATANODE = Role.DATANODE.name();
+  String NAMENODE = Role.NAMENODE.name();
+  String SECONDARY_NAMENODE = Role.SECONDARY_NAMENODE.name();
+  String HBASE_MASTER = Role.HBASE_MASTER.name();
+
+}

Modified: 
incubator/ambari/trunk/ambari-server/src/test/java/org/apache/ambari/server/agent/TestHeartbeatHandler.java
URL: 
http://svn.apache.org/viewvc/incubator/ambari/trunk/ambari-server/src/test/java/org/apache/ambari/server/agent/TestHeartbeatHandler.java?rev=1440043&r1=1440042&r2=1440043&view=diff
==============================================================================
--- 
incubator/ambari/trunk/ambari-server/src/test/java/org/apache/ambari/server/agent/TestHeartbeatHandler.java
 (original)
+++ 
incubator/ambari/trunk/ambari-server/src/test/java/org/apache/ambari/server/agent/TestHeartbeatHandler.java
 Tue Jan 29 18:17:02 2013
@@ -47,11 +47,14 @@ import javax.xml.bind.JAXBException;
 import java.io.IOException;
 import java.util.*;
 
+import static org.apache.ambari.server.agent.DummyHeartbeatConstants.HDFS;
 import static org.junit.Assert.*;
 import static org.mockito.Matchers.anyString;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
 
+import static org.apache.ambari.server.agent.DummyHeartbeatConstants.*;
+
 public class TestHeartbeatHandler {
 
   private static final Logger log = 
LoggerFactory.getLogger(TestHeartbeatHandler.class);
@@ -85,22 +88,21 @@ public class TestHeartbeatHandler {
     ActionManager am = new ActionManager(0, 0, null, null,
         new ActionDBInMemoryImpl(), new HostsMap((String) null));
     Clusters fsm = clusters;
-    String hostname = "host1";
-    fsm.addHost(hostname);
-    Host hostObject = clusters.getHost(hostname);
+    fsm.addHost(DummyHostname1);
+    Host hostObject = clusters.getHost(DummyHostname1);
     hostObject.setIPv4("ipv4");
     hostObject.setIPv6("ipv6");
-    hostObject.setOsType("centos5");
+    hostObject.setOsType(DummyOsType);
 
     ActionQueue aq = new ActionQueue();
 
     HeartBeatHandler handler = new HeartBeatHandler(fsm, aq, am, injector);
     Register reg = new Register();
     HostInfo hi = new HostInfo();
-    hi.setHostName("host1");
-    hi.setOS("CentOS");
-    hi.setOSRelease("5.8");
-    reg.setHostname(hostname);
+    hi.setHostName(DummyHostname1);
+    hi.setOS(DummyOs);
+    hi.setOSRelease(DummyOSRelease);
+    reg.setHostname(DummyHostname1);
     reg.setHardwareProfile(hi);
     handler.handleRegistration(reg);
 
@@ -108,73 +110,62 @@ public class TestHeartbeatHandler {
 
     ExecutionCommand execCmd = new ExecutionCommand();
     execCmd.setCommandId("2-34");
-    execCmd.setHostname(hostname);
-    aq.enqueue(hostname, new ExecutionCommand());
+    execCmd.setHostname(DummyHostname1);
+    aq.enqueue(DummyHostname1, new ExecutionCommand());
     HeartBeat hb = new HeartBeat();
     hb.setResponseId(0);
-    hb.setNodeStatus(new HostStatus(Status.HEALTHY, "I am ok"));
-    hb.setHostname(hostname);
+    hb.setNodeStatus(new HostStatus(Status.HEALTHY, DummyHostStatus));
+    hb.setHostname(DummyHostname1);
 
     handler.handleHeartBeat(hb);
     assertEquals(HostState.HEALTHY, hostObject.getState());
-    assertEquals(0, aq.dequeueAll(hostname).size());
+    assertEquals(0, aq.dequeueAll(DummyHostname1).size());
   }
 
   @Test
   public void testStatusHeartbeat() throws Exception {
     ActionManager am = new ActionManager(0, 0, null, null,
             new ActionDBInMemoryImpl(), new HostsMap((String) null));
-    final String hostname = "host1";
-    String clusterName = "cluster1";
-    String serviceName = "HDFS";
-    String componentName1 = "DATANODE";
-    String componentName2 = "NAMENODE";
-    //injector.injectMembers(this);
-
-    clusters.addHost(hostname);
-    clusters.getHost(hostname).setOsType("centos5");
-    clusters.getHost(hostname).persist();
-//    Host hostObject = clusters.getHost(hostname);
-//    hostObject.setIPv4("ipv4");
-//    hostObject.setIPv6("ipv6");
-//    hostObject.setOsType("centos5");
-//    hostObject.persist();
-    clusters.addCluster(clusterName);
 
-    Cluster cluster = clusters.getCluster(clusterName);
-    cluster.setDesiredStackVersion(new StackId("HDP-0.1"));
+    clusters.addHost(DummyHostname1);
+    clusters.getHost(DummyHostname1).setOsType(DummyOsType);
+    clusters.getHost(DummyHostname1).persist();
+    clusters.addCluster(DummyCluster);
+
+    Cluster cluster = clusters.getCluster(DummyCluster);
+    cluster.setDesiredStackVersion(new StackId(DummyStackId));
 
     @SuppressWarnings("serial")
     Set<String> hostNames = new HashSet<String>(){{
-      add(hostname);
+      add(DummyHostname1);
     }};
-    clusters.mapHostsToCluster(hostNames, clusterName);
-    Service hdfs = cluster.addService(serviceName);
+    clusters.mapHostsToCluster(hostNames, DummyCluster);
+    Service hdfs = cluster.addService(HDFS);
     hdfs.persist();
-    hdfs.addServiceComponent(Role.DATANODE.name()).persist();
-    
hdfs.getServiceComponent(Role.DATANODE.name()).addServiceComponentHost(hostname).persist();
-    hdfs.addServiceComponent(Role.NAMENODE.name()).persist();
-    
hdfs.getServiceComponent(Role.NAMENODE.name()).addServiceComponentHost(hostname).persist();
-    hdfs.addServiceComponent(Role.SECONDARY_NAMENODE.name()).persist();
-    
hdfs.getServiceComponent(Role.SECONDARY_NAMENODE.name()).addServiceComponentHost(hostname).persist();
+    hdfs.addServiceComponent(DATANODE).persist();
+    
hdfs.getServiceComponent(DATANODE).addServiceComponentHost(DummyHostname1).persist();
+    hdfs.addServiceComponent(NAMENODE).persist();
+    
hdfs.getServiceComponent(NAMENODE).addServiceComponentHost(DummyHostname1).persist();
+    hdfs.addServiceComponent(SECONDARY_NAMENODE).persist();
+    
hdfs.getServiceComponent(SECONDARY_NAMENODE).addServiceComponentHost(DummyHostname1).persist();
 
     ActionQueue aq = new ActionQueue();
     HeartBeatHandler handler = new HeartBeatHandler(clusters, aq, am, 
injector);
 
     Register reg = new Register();
     HostInfo hi = new HostInfo();
-    hi.setHostName("host1");
-    hi.setOS("CentOS");
-    hi.setOSRelease("5.8");
-    reg.setHostname(hostname);
+    hi.setHostName(DummyHostname1);
+    hi.setOS(DummyOs);
+    hi.setOSRelease(DummyOSRelease);
+    reg.setHostname(DummyHostname1);
     reg.setResponseId(0);
     reg.setHardwareProfile(hi);
     handler.handleRegistration(reg);
 
-    ServiceComponentHost serviceComponentHost1 = 
clusters.getCluster(clusterName).getService(serviceName).
-            
getServiceComponent(componentName1).getServiceComponentHost(hostname);
-    ServiceComponentHost serviceComponentHost2 = 
clusters.getCluster(clusterName).getService(serviceName).
-            
getServiceComponent(componentName2).getServiceComponentHost(hostname);
+    ServiceComponentHost serviceComponentHost1 = 
clusters.getCluster(DummyCluster).getService(HDFS).
+            
getServiceComponent(DATANODE).getServiceComponentHost(DummyHostname1);
+    ServiceComponentHost serviceComponentHost2 = 
clusters.getCluster(DummyCluster).getService(HDFS).
+            
getServiceComponent(NAMENODE).getServiceComponentHost(DummyHostname1);
     serviceComponentHost1.setState(State.INSTALLED);
     serviceComponentHost2.setState(State.INSTALLED);
 
@@ -182,16 +173,16 @@ public class TestHeartbeatHandler {
     HeartBeat hb = new HeartBeat();
     hb.setTimestamp(System.currentTimeMillis());
     hb.setResponseId(0);
-    hb.setHostname(hostname);
-    hb.setNodeStatus(new HostStatus(Status.HEALTHY, "I am ok"));
+    hb.setHostname(DummyHostname1);
+    hb.setNodeStatus(new HostStatus(Status.HEALTHY, DummyHostStatus));
     hb.setReports(new ArrayList<CommandReport>());
     ArrayList<ComponentStatus> componentStatuses = new 
ArrayList<ComponentStatus>();
     ComponentStatus componentStatus1 = new ComponentStatus();
-    componentStatus1.setClusterName(clusterName);
-    componentStatus1.setServiceName(serviceName);
-    componentStatus1.setMessage("I am ok");
+    componentStatus1.setClusterName(DummyCluster);
+    componentStatus1.setServiceName(HDFS);
+    componentStatus1.setMessage(DummyHostStatus);
     componentStatus1.setStatus(State.STARTED.name());
-    componentStatus1.setComponentName(componentName1);
+    componentStatus1.setComponentName(DATANODE);
     componentStatuses.add(componentStatus1);
     hb.setComponentStatus(componentStatuses);
 
@@ -206,60 +197,48 @@ public class TestHeartbeatHandler {
   public void testStartFailedStatusHeartbeat() throws Exception {
     ActionManager am = new ActionManager(0, 0, null, null,
             new ActionDBInMemoryImpl(), new HostsMap((String) null));
-    final String hostname = "host1";
-    String clusterName = "cluster1";
-    String serviceName = "HDFS";
-    String componentName1 = "DATANODE";
-    String componentName2 = "NAMENODE";
-    String componentName3 = "SECONDARY_NAMENODE";
-    //injector.injectMembers(this);
-
-    clusters.addHost(hostname);
-    clusters.getHost(hostname).setOsType("centos5");
-    clusters.getHost(hostname).persist();
-//    Host hostObject = clusters.getHost(hostname);
-//    hostObject.setIPv4("ipv4");
-//    hostObject.setIPv6("ipv6");
-//    hostObject.setOsType("centos5");
-//    hostObject.persist();
-    clusters.addCluster(clusterName);
 
-    Cluster cluster = clusters.getCluster(clusterName);
-    cluster.setDesiredStackVersion(new StackId("HDP-0.1"));
+    clusters.addHost(DummyHostname1);
+    clusters.getHost(DummyHostname1).setOsType(DummyOsType);
+    clusters.getHost(DummyHostname1).persist();
+    clusters.addCluster(DummyCluster);
+
+    Cluster cluster = clusters.getCluster(DummyCluster);
+    cluster.setDesiredStackVersion(new StackId(DummyStackId));
 
     @SuppressWarnings("serial")
     Set<String> hostNames = new HashSet<String>(){{
-      add(hostname);
+      add(DummyHostname1);
     }};
-    clusters.mapHostsToCluster(hostNames, clusterName);
-    Service hdfs = cluster.addService(serviceName);
+    clusters.mapHostsToCluster(hostNames, DummyCluster);
+    Service hdfs = cluster.addService(HDFS);
     hdfs.persist();
-    hdfs.addServiceComponent(Role.DATANODE.name()).persist();
-    
hdfs.getServiceComponent(Role.DATANODE.name()).addServiceComponentHost(hostname).persist();
-    hdfs.addServiceComponent(Role.NAMENODE.name()).persist();
-    
hdfs.getServiceComponent(Role.NAMENODE.name()).addServiceComponentHost(hostname).persist();
-    hdfs.addServiceComponent(Role.SECONDARY_NAMENODE.name()).persist();
-    
hdfs.getServiceComponent(Role.SECONDARY_NAMENODE.name()).addServiceComponentHost(hostname).persist();
+    hdfs.addServiceComponent(DATANODE).persist();
+    
hdfs.getServiceComponent(DATANODE).addServiceComponentHost(DummyHostname1).persist();
+    hdfs.addServiceComponent(NAMENODE).persist();
+    
hdfs.getServiceComponent(NAMENODE).addServiceComponentHost(DummyHostname1).persist();
+    hdfs.addServiceComponent(SECONDARY_NAMENODE).persist();
+    
hdfs.getServiceComponent(SECONDARY_NAMENODE).addServiceComponentHost(DummyHostname1).persist();
 
     ActionQueue aq = new ActionQueue();
     HeartBeatHandler handler = new HeartBeatHandler(clusters, aq, am, 
injector);
 
     Register reg = new Register();
     HostInfo hi = new HostInfo();
-    hi.setHostName("host1");
-    hi.setOS("CentOS");
-    hi.setOSRelease("5.8");
-    reg.setHostname(hostname);
+    hi.setHostName(DummyHostname1);
+    hi.setOS(DummyOs);
+    hi.setOSRelease(DummyOSRelease);
+    reg.setHostname(DummyHostname1);
     reg.setResponseId(0);
     reg.setHardwareProfile(hi);
     handler.handleRegistration(reg);
 
-    ServiceComponentHost serviceComponentHost1 = 
clusters.getCluster(clusterName).getService(serviceName).
-            
getServiceComponent(componentName1).getServiceComponentHost(hostname);
-    ServiceComponentHost serviceComponentHost2 = 
clusters.getCluster(clusterName).getService(serviceName).
-            
getServiceComponent(componentName2).getServiceComponentHost(hostname);
-    ServiceComponentHost serviceComponentHost3 = 
clusters.getCluster(clusterName).getService(serviceName).
-            
getServiceComponent(componentName3).getServiceComponentHost(hostname);
+    ServiceComponentHost serviceComponentHost1 = 
clusters.getCluster(DummyCluster).getService(HDFS).
+            
getServiceComponent(DATANODE).getServiceComponentHost(DummyHostname1);
+    ServiceComponentHost serviceComponentHost2 = 
clusters.getCluster(DummyCluster).getService(HDFS).
+            
getServiceComponent(NAMENODE).getServiceComponentHost(DummyHostname1);
+    ServiceComponentHost serviceComponentHost3 = 
clusters.getCluster(DummyCluster).getService(HDFS).
+            
getServiceComponent(SECONDARY_NAMENODE).getServiceComponentHost(DummyHostname1);
     serviceComponentHost1.setState(State.INSTALLED);
     serviceComponentHost2.setState(State.START_FAILED);
     serviceComponentHost3.setState(State.STARTED);
@@ -267,32 +246,32 @@ public class TestHeartbeatHandler {
     HeartBeat hb = new HeartBeat();
     hb.setTimestamp(System.currentTimeMillis());
     hb.setResponseId(0);
-    hb.setHostname(hostname);
-    hb.setNodeStatus(new HostStatus(Status.HEALTHY, "I am ok"));
+    hb.setHostname(DummyHostname1);
+    hb.setNodeStatus(new HostStatus(Status.HEALTHY, DummyHostStatus));
     hb.setReports(new ArrayList<CommandReport>());
     ArrayList<ComponentStatus> componentStatuses = new 
ArrayList<ComponentStatus>();
     ComponentStatus componentStatus1 = new ComponentStatus();
-    componentStatus1.setClusterName(clusterName);
-    componentStatus1.setServiceName(serviceName);
-    componentStatus1.setMessage("I am ok");
+    componentStatus1.setClusterName(DummyCluster);
+    componentStatus1.setServiceName(HDFS);
+    componentStatus1.setMessage(DummyHostStatus);
     componentStatus1.setStatus(State.START_FAILED.name());
-    componentStatus1.setComponentName(componentName1);
+    componentStatus1.setComponentName(DATANODE);
     componentStatuses.add(componentStatus1);
 
     ComponentStatus componentStatus2 = new ComponentStatus();
-    componentStatus2.setClusterName(clusterName);
-    componentStatus2.setServiceName(serviceName);
-    componentStatus2.setMessage("I am ok");
+    componentStatus2.setClusterName(DummyCluster);
+    componentStatus2.setServiceName(HDFS);
+    componentStatus2.setMessage(DummyHostStatus);
     componentStatus2.setStatus(State.INSTALLED.name());
-    componentStatus2.setComponentName(componentName2);
+    componentStatus2.setComponentName(NAMENODE);
     componentStatuses.add(componentStatus2);
 
     ComponentStatus componentStatus3 = new ComponentStatus();
-    componentStatus3.setClusterName(clusterName);
-    componentStatus3.setServiceName(serviceName);
-    componentStatus3.setMessage("I am ok");
+    componentStatus3.setClusterName(DummyCluster);
+    componentStatus3.setServiceName(HDFS);
+    componentStatus3.setMessage(DummyHostStatus);
     componentStatus3.setStatus(State.INSTALLED.name());
-    componentStatus3.setComponentName(componentName3);
+    componentStatus3.setComponentName(SECONDARY_NAMENODE);
     componentStatuses.add(componentStatus3);
 
     hb.setComponentStatus(componentStatuses);
@@ -307,52 +286,133 @@ public class TestHeartbeatHandler {
   }
 
   @Test
+  public void testLiveStatusUpdateAfterStopFailed() throws Exception {
+    ActionManager am = new ActionManager(0, 0, null, null,
+            new ActionDBInMemoryImpl(), new HostsMap((String) null));
+    clusters.addHost(DummyHostname1);
+    clusters.getHost(DummyHostname1).setOsType(DummyOsType);
+    clusters.getHost(DummyHostname1).persist();
+    clusters.addCluster(DummyCluster);
+
+    Cluster cluster = clusters.getCluster(DummyCluster);
+    cluster.setDesiredStackVersion(new StackId(DummyStackId));
+
+    @SuppressWarnings("serial")
+    Set<String> hostNames = new HashSet<String>(){{
+      add(DummyHostname1);
+    }};
+    clusters.mapHostsToCluster(hostNames, DummyCluster);
+    Service hdfs = cluster.addService(HDFS);
+    hdfs.persist();
+    hdfs.addServiceComponent(DATANODE).persist();
+    hdfs.getServiceComponent(DATANODE).
+            addServiceComponentHost(DummyHostname1).persist();
+    hdfs.addServiceComponent(NAMENODE).persist();
+    hdfs.getServiceComponent(NAMENODE).
+            addServiceComponentHost(DummyHostname1).persist();
+
+    ActionQueue aq = new ActionQueue();
+    HeartBeatHandler handler = new HeartBeatHandler(clusters, aq, am, 
injector);
+
+    Register reg = new Register();
+    HostInfo hi = new HostInfo();
+    hi.setHostName(DummyHostname1);
+    hi.setOS(DummyOs);
+    hi.setOSRelease(DummyOSRelease);
+    reg.setHostname(DummyHostname1);
+    reg.setResponseId(0);
+    reg.setHardwareProfile(hi);
+    handler.handleRegistration(reg);
+
+    ServiceComponentHost serviceComponentHost1 = clusters.
+            getCluster(DummyCluster).getService(HDFS).
+            getServiceComponent(DATANODE).
+            getServiceComponentHost(DummyHostname1);
+    ServiceComponentHost serviceComponentHost2 = clusters.
+            getCluster(DummyCluster).getService(HDFS).
+            getServiceComponent(NAMENODE).
+            getServiceComponentHost(DummyHostname1);
+    serviceComponentHost1.setState(State.STOP_FAILED);
+    serviceComponentHost2.setState(State.STOP_FAILED);
+
+    HeartBeat hb = new HeartBeat();
+    hb.setTimestamp(System.currentTimeMillis());
+    hb.setResponseId(0);
+    hb.setHostname(DummyHostname1);
+    hb.setNodeStatus(new HostStatus(Status.HEALTHY, DummyHostStatus));
+    hb.setReports(new ArrayList<CommandReport>());
+    ArrayList<ComponentStatus> componentStatuses = new 
ArrayList<ComponentStatus>();
+
+    ComponentStatus componentStatus1 = new ComponentStatus();
+    componentStatus1.setClusterName(DummyCluster);
+    componentStatus1.setServiceName(HDFS);
+    componentStatus1.setMessage(DummyHostStatus);
+    componentStatus1.setStatus(State.STARTED.name());
+    componentStatus1.setComponentName(DATANODE);
+    componentStatuses.add(componentStatus1);
+
+    ComponentStatus componentStatus2 = new ComponentStatus();
+    componentStatus2.setClusterName(DummyCluster);
+    componentStatus2.setServiceName(HDFS);
+    componentStatus2.setMessage(DummyHostStatus);
+    componentStatus2.setStatus(State.INSTALLED.name());
+    componentStatus2.setComponentName(NAMENODE);
+    componentStatuses.add(componentStatus2);
+
+    hb.setComponentStatus(componentStatuses);
+
+    handler.handleHeartBeat(hb);
+    State componentState1 = serviceComponentHost1.getState();
+    State componentState2 = serviceComponentHost2.getState();
+    assertEquals(State.STARTED, componentState1);
+    assertEquals(State.INSTALLED, componentState2);
+  }
+
+  @Test
   public void testCommandReport() throws AmbariException {
-    String hostname = "host1";
-    String clusterName = "cluster1";
     injector.injectMembers(this);
-    clusters.addHost(hostname);
-    clusters.getHost(hostname).persist();
-    clusters.addCluster(clusterName);
+    clusters.addHost(DummyHostname1);
+    clusters.getHost(DummyHostname1).persist();
+    clusters.addCluster(DummyCluster);
     ActionDBAccessor db = injector.getInstance(ActionDBAccessorImpl.class);
     ActionManager am = new ActionManager(5000, 1200000, new ActionQueue(), 
clusters, db,
         new HostsMap((String) null));
-    populateActionDB(db, hostname);
+    populateActionDB(db, DummyHostname1);
     Stage stage = db.getAllStages(requestId).get(0);
     Assert.assertEquals(stageId, stage.getStageId());
-    stage.setHostRoleStatus(hostname, "HBASE_MASTER", HostRoleStatus.QUEUED);
-    db.hostRoleScheduled(stage, hostname, "HBASE_MASTER");
+    stage.setHostRoleStatus(DummyHostname1, HBASE_MASTER, 
HostRoleStatus.QUEUED);
+    db.hostRoleScheduled(stage, DummyHostname1, HBASE_MASTER);
     List<CommandReport> reports = new ArrayList<CommandReport>();
     CommandReport cr = new CommandReport();
     cr.setActionId(StageUtils.getActionId(requestId, stageId));
     cr.setTaskId(1);
-    cr.setRole("HBASE_MASTER");
+    cr.setRole(HBASE_MASTER);
     cr.setStatus("COMPLETED");
     cr.setStdErr("");
     cr.setStdOut("");
     cr.setExitCode(215);
     reports.add(cr);
-    am.processTaskResponse(hostname, reports);
+    am.processTaskResponse(DummyHostname1, reports);
     assertEquals(215,
-            am.getAction(requestId, stageId).getExitCode(hostname, 
"HBASE_MASTER"));
+            am.getAction(requestId, stageId).getExitCode(DummyHostname1, 
HBASE_MASTER));
     assertEquals(HostRoleStatus.COMPLETED, am.getAction(requestId, stageId)
-            .getHostRoleStatus(hostname, "HBASE_MASTER"));
+            .getHostRoleStatus(DummyHostname1, HBASE_MASTER));
     Stage s = db.getAllStages(requestId).get(0);
     assertEquals(HostRoleStatus.COMPLETED,
-            s.getHostRoleStatus(hostname, "HBASE_MASTER"));
+            s.getHostRoleStatus(DummyHostname1, HBASE_MASTER));
     assertEquals(215,
-            s.getExitCode(hostname, "HBASE_MASTER"));
+            s.getExitCode(DummyHostname1, HBASE_MASTER));
   }
 
-  private void populateActionDB(ActionDBAccessor db, String hostname) {
-    Stage s = new Stage(requestId, "/a/b", "cluster1");
+  private void populateActionDB(ActionDBAccessor db, String DummyHostname1) {
+    Stage s = new Stage(requestId, "/a/b", DummyCluster);
     s.setStageId(stageId);
     String filename = null;
-    s.addHostRoleExecutionCommand(hostname, Role.HBASE_MASTER,
+    s.addHostRoleExecutionCommand(DummyHostname1, Role.HBASE_MASTER,
         RoleCommand.START,
         new ServiceComponentHostStartEvent(Role.HBASE_MASTER.toString(),
-            hostname, System.currentTimeMillis(),
-            new HashMap<String, String>()), "cluster1", "HBASE");
+            DummyHostname1, System.currentTimeMillis(),
+            new HashMap<String, String>()), DummyCluster, HBASE);
     List<Stage> stages = new ArrayList<Stage>();
     stages.add(s);
     db.persistActions(stages);
@@ -364,23 +424,22 @@ public class TestHeartbeatHandler {
     ActionManager am = new ActionManager(0, 0, null, null,
         new ActionDBInMemoryImpl(), new HostsMap((String) null));
     Clusters fsm = clusters;
-    String hostname = "host1";
     HeartBeatHandler handler = new HeartBeatHandler(fsm, new ActionQueue(), am,
         injector);
-    clusters.addHost(hostname);
-    Host hostObject = clusters.getHost(hostname);
+    clusters.addHost(DummyHostname1);
+    Host hostObject = clusters.getHost(DummyHostname1);
     hostObject.setIPv4("ipv4");
     hostObject.setIPv6("ipv6");
 
     Register reg = new Register();
     HostInfo hi = new HostInfo();
-    hi.setHostName("host1");
-    hi.setOS("centos5");
-    reg.setHostname(hostname);
+    hi.setHostName(DummyHostname1);
+    hi.setOS(DummyOsType);
+    reg.setHostname(DummyHostname1);
     reg.setHardwareProfile(hi);
     handler.handleRegistration(reg);
     assertEquals(hostObject.getState(), HostState.HEALTHY);
-    assertEquals("centos5", hostObject.getOsType());
+    assertEquals(DummyOsType, hostObject.getOsType());
     assertTrue(hostObject.getLastRegistrationTime() != 0);
     assertEquals(hostObject.getLastHeartbeatTime(),
         hostObject.getLastRegistrationTime());
@@ -391,29 +450,28 @@ public class TestHeartbeatHandler {
     ActionManager am = new ActionManager(0, 0, null, null,
         new ActionDBInMemoryImpl(), new HostsMap((String) null));
     Clusters fsm = clusters;
-    String hostname = "host1";
     HeartBeatHandler handler = new HeartBeatHandler(fsm, new ActionQueue(), am,
         injector);
-    clusters.addHost(hostname);
-    Host hostObject = clusters.getHost(hostname);
+    clusters.addHost(DummyHostname1);
+    Host hostObject = clusters.getHost(DummyHostname1);
     hostObject.setIPv4("ipv4");
     hostObject.setIPv6("ipv6");
 
     Register reg = new Register();
     HostInfo hi = new HostInfo();
-    hi.setHostName("host1");
-    hi.setOS("centos5");
-    reg.setHostname(hostname);
+    hi.setHostName(DummyHostname1);
+    hi.setOS(DummyOsType);
+    reg.setHostname(DummyHostname1);
     reg.setHardwareProfile(hi);
-    reg.setPublicHostname(hostname + "-public");
+    reg.setPublicHostname(DummyHostname1 + "-public");
     handler.handleRegistration(reg);
     assertEquals(hostObject.getState(), HostState.HEALTHY);
-    assertEquals("centos5", hostObject.getOsType());
+    assertEquals(DummyOsType, hostObject.getOsType());
     assertTrue(hostObject.getLastRegistrationTime() != 0);
     assertEquals(hostObject.getLastHeartbeatTime(),
         hostObject.getLastRegistrationTime());
     
-    Host verifyHost = clusters.getHost(hostname);
+    Host verifyHost = clusters.getHost(DummyHostname1);
     assertEquals(verifyHost.getPublicHostName(), reg.getPublicHostname());
   }
   
@@ -424,19 +482,18 @@ public class TestHeartbeatHandler {
     ActionManager am = new ActionManager(0, 0, null, null,
         new ActionDBInMemoryImpl(), new HostsMap((String) null));
     Clusters fsm = clusters;
-    String hostname = "host1";
     HeartBeatHandler handler = new HeartBeatHandler(fsm, new ActionQueue(), am,
         injector);
-    clusters.addHost(hostname);
-    Host hostObject = clusters.getHost(hostname);
+    clusters.addHost(DummyHostname1);
+    Host hostObject = clusters.getHost(DummyHostname1);
     hostObject.setIPv4("ipv4");
     hostObject.setIPv6("ipv6");
 
     Register reg = new Register();
     HostInfo hi = new HostInfo();
-    hi.setHostName("host1");
+    hi.setHostName(DummyHostname1);
     hi.setOS("MegaOperatingSystem");
-    reg.setHostname(hostname);
+    reg.setHostname(DummyHostname1);
     reg.setHardwareProfile(hi);
     try {
       handler.handleRegistration(reg);
@@ -453,9 +510,8 @@ public class TestHeartbeatHandler {
     ActionManager am = new ActionManager(0, 0, null, null,
         new ActionDBInMemoryImpl(), new HostsMap((String) null));
     Clusters fsm = clusters;
-    String hostname = "host1";
-    fsm.addHost(hostname);
-    Host hostObject = clusters.getHost(hostname);
+    fsm.addHost(DummyHostname1);
+    Host hostObject = clusters.getHost(DummyHostname1);
     hostObject.setIPv4("ipv4");
     hostObject.setIPv6("ipv6");
 
@@ -463,9 +519,9 @@ public class TestHeartbeatHandler {
         injector);
     Register reg = new Register();
     HostInfo hi = new HostInfo();
-    hi.setHostName("host1");
+    hi.setHostName(DummyHostname1);
     hi.setOS("redhat5");
-    reg.setHostname(hostname);
+    reg.setHostname(DummyHostname1);
     reg.setHardwareProfile(hi);
     RegistrationResponse response = handler.handleRegistration(reg);
 
@@ -487,7 +543,7 @@ public class TestHeartbeatHandler {
     register.setTimestamp(new Date().getTime());
     register.setResponseId(123);
     HostInfo hi = new HostInfo();
-    hi.setHostName("host1");
+    hi.setHostName(DummyHostname1);
     hi.setOS("redhat5");
     register.setHardwareProfile(hi);
     RegistrationResponse registrationResponse = 
heartBeatHandler.handleRegistration(register);
@@ -534,8 +590,8 @@ public class TestHeartbeatHandler {
   public void testStateCommandsAtRegistration() throws AmbariException, 
InvalidStateTransitionException {
     List<StatusCommand> dummyCmds = new ArrayList<StatusCommand>();
     StatusCommand statusCmd1 = new StatusCommand();
-    statusCmd1.setClusterName("Cluster");
-    statusCmd1.setServiceName("HDFS");
+    statusCmd1.setClusterName(DummyCluster);
+    statusCmd1.setServiceName(HDFS);
     dummyCmds.add(statusCmd1);
     HeartbeatMonitor hm = mock(HeartbeatMonitor.class);
     when(hm.generateStatusCommands(anyString())).thenReturn(dummyCmds);
@@ -543,21 +599,20 @@ public class TestHeartbeatHandler {
     ActionManager am = new ActionManager(0, 0, null, null,
             new ActionDBInMemoryImpl(), new HostsMap((String) null));
     Clusters fsm = clusters;
-    String hostname = "host1";
     ActionQueue actionQueue = new ActionQueue();
     HeartBeatHandler handler = new HeartBeatHandler(fsm, actionQueue, am,
         injector);
     handler.setHeartbeatMonitor(hm);
-    clusters.addHost(hostname);
-    Host hostObject = clusters.getHost(hostname);
+    clusters.addHost(DummyHostname1);
+    Host hostObject = clusters.getHost(DummyHostname1);
     hostObject.setIPv4("ipv4");
     hostObject.setIPv6("ipv6");
 
     Register reg = new Register();
     HostInfo hi = new HostInfo();
-    hi.setHostName("host1");
-    hi.setOS("redhat5");
-    reg.setHostname(hostname);
+    hi.setHostName(DummyHostname1);
+    hi.setOS(DummyOsType);
+    reg.setHostname(DummyHostname1);
     reg.setHardwareProfile(hi);
     RegistrationResponse registrationResponse = 
handler.handleRegistration(reg);
     registrationResponse.getStatusCommands();
@@ -569,67 +624,59 @@ public class TestHeartbeatHandler {
   public void testTaskInProgressHandling() throws AmbariException, 
InvalidStateTransitionException {
     ActionManager am = new ActionManager(0, 0, null, null,
             new ActionDBInMemoryImpl(), new HostsMap((String) null));
-    final String hostname = "host1";
-    String clusterName = "cluster1";
-    String serviceName = "HDFS";
-    String componentName1 = "DATANODE";
-    String componentName2 = "NAMENODE";
-
-    clusters.addHost(hostname);
-    clusters.getHost(hostname).setOsType("centos5");
-    clusters.getHost(hostname).persist();
-    clusters.addCluster(clusterName);
+    clusters.addHost(DummyHostname1);
+    clusters.getHost(DummyHostname1).setOsType(DummyOsType);
+    clusters.getHost(DummyHostname1).persist();
+    clusters.addCluster(DummyCluster);
 
-    Cluster cluster = clusters.getCluster(clusterName);
-    cluster.setDesiredStackVersion(new StackId("HDP-0.1"));
+    Cluster cluster = clusters.getCluster(DummyCluster);
+    cluster.setDesiredStackVersion(new StackId(DummyStackId));
 
     @SuppressWarnings("serial")
     Set<String> hostNames = new HashSet<String>(){{
-      add(hostname);
+      add(DummyHostname1);
     }};
-    clusters.mapHostsToCluster(hostNames, clusterName);
-    Service hdfs = cluster.addService(serviceName);
+    clusters.mapHostsToCluster(hostNames, DummyCluster);
+    Service hdfs = cluster.addService(HDFS);
     hdfs.persist();
-    hdfs.addServiceComponent(Role.DATANODE.name()).persist();
-    
hdfs.getServiceComponent(Role.DATANODE.name()).addServiceComponentHost(hostname).persist();
-    hdfs.addServiceComponent(Role.NAMENODE.name()).persist();
-    
hdfs.getServiceComponent(Role.NAMENODE.name()).addServiceComponentHost(hostname).persist();
-    hdfs.addServiceComponent(Role.SECONDARY_NAMENODE.name()).persist();
-    
hdfs.getServiceComponent(Role.SECONDARY_NAMENODE.name()).addServiceComponentHost(hostname).persist();
+    hdfs.addServiceComponent(DATANODE).persist();
+    
hdfs.getServiceComponent(DATANODE).addServiceComponentHost(DummyHostname1).persist();
+    hdfs.addServiceComponent(NAMENODE).persist();
+    
hdfs.getServiceComponent(NAMENODE).addServiceComponentHost(DummyHostname1).persist();
+    hdfs.addServiceComponent(SECONDARY_NAMENODE).persist();
+    
hdfs.getServiceComponent(SECONDARY_NAMENODE).addServiceComponentHost(DummyHostname1).persist();
 
     ActionQueue aq = new ActionQueue();
     HeartBeatHandler handler = new HeartBeatHandler(clusters, aq, am, 
injector);
 
     Register reg = new Register();
     HostInfo hi = new HostInfo();
-    hi.setHostName("host1");
-    hi.setOS("CentOS");
-    hi.setOSRelease("5.8");
-    reg.setHostname(hostname);
+    hi.setHostName(DummyHostname1);
+    hi.setOS(DummyOs);
+    hi.setOSRelease(DummyOSRelease);
+    reg.setHostname(DummyHostname1);
     reg.setResponseId(0);
     reg.setHardwareProfile(hi);
     handler.handleRegistration(reg);
 
-    ServiceComponentHost serviceComponentHost1 = 
clusters.getCluster(clusterName).getService(serviceName).
-            
getServiceComponent(componentName1).getServiceComponentHost(hostname);
-    ServiceComponentHost serviceComponentHost2 = 
clusters.getCluster(clusterName).getService(serviceName).
-            
getServiceComponent(componentName2).getServiceComponentHost(hostname);
+    ServiceComponentHost serviceComponentHost1 = 
clusters.getCluster(DummyCluster).getService(HDFS).
+            
getServiceComponent(DATANODE).getServiceComponentHost(DummyHostname1);
     serviceComponentHost1.setState(State.INSTALLING);
 
 
     HeartBeat hb = new HeartBeat();
     hb.setTimestamp(System.currentTimeMillis());
     hb.setResponseId(0);
-    hb.setHostname(hostname);
-    hb.setNodeStatus(new HostStatus(Status.HEALTHY, "I am ok"));
+    hb.setHostname(DummyHostname1);
+    hb.setNodeStatus(new HostStatus(Status.HEALTHY, DummyHostStatus));
 
     List<CommandReport> reports = new ArrayList<CommandReport>();
     CommandReport cr = new CommandReport();
     cr.setActionId(StageUtils.getActionId(requestId, stageId));
     cr.setTaskId(1);
-    cr.setClusterName(clusterName);
-    cr.setServiceName(serviceName);
-    cr.setRole(componentName1);
+    cr.setClusterName(DummyCluster);
+    cr.setServiceName(HDFS);
+    cr.setRole(DATANODE);
     cr.setStatus("IN_PROGRESS");
     cr.setStdErr("none");
     cr.setStdOut("dummy output");


Reply via email to