http://git-wip-us.apache.org/repos/asf/ambari/blob/56362fd6/ambari-server/src/test/java/org/apache/ambari/server/agent/HeartbeatProcessorTest.java
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/test/java/org/apache/ambari/server/agent/HeartbeatProcessorTest.java
 
b/ambari-server/src/test/java/org/apache/ambari/server/agent/HeartbeatProcessorTest.java
index 36142f7..37e68d0 100644
--- 
a/ambari-server/src/test/java/org/apache/ambari/server/agent/HeartbeatProcessorTest.java
+++ 
b/ambari-server/src/test/java/org/apache/ambari/server/agent/HeartbeatProcessorTest.java
@@ -1,4 +1,4 @@
-/**
+/*
  * 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
@@ -30,7 +30,6 @@ import static 
org.apache.ambari.server.agent.DummyHeartbeatConstants.HDFS;
 import static 
org.apache.ambari.server.agent.DummyHeartbeatConstants.HDFS_CLIENT;
 import static org.apache.ambari.server.agent.DummyHeartbeatConstants.NAMENODE;
 import static 
org.apache.ambari.server.agent.DummyHeartbeatConstants.SECONDARY_NAMENODE;
-import static org.easymock.EasyMock.anyObject;
 import static org.easymock.EasyMock.expect;
 import static org.easymock.EasyMock.replay;
 import static org.junit.Assert.assertEquals;
@@ -63,6 +62,7 @@ import org.apache.ambari.server.audit.AuditLogger;
 import org.apache.ambari.server.configuration.Configuration;
 import org.apache.ambari.server.orm.GuiceJpaInitializer;
 import org.apache.ambari.server.orm.InMemoryDefaultTestModule;
+import org.apache.ambari.server.orm.OrmTestHelper;
 import org.apache.ambari.server.orm.dao.HostDAO;
 import org.apache.ambari.server.orm.dao.RepositoryVersionDAO;
 import org.apache.ambari.server.orm.entities.HostEntity;
@@ -86,22 +86,17 @@ import org.apache.ambari.server.utils.EventBusSynchronizer;
 import org.apache.ambari.server.utils.StageUtils;
 import org.easymock.EasyMock;
 import org.junit.After;
+import org.junit.Assert;
 import org.junit.Before;
 import org.junit.Test;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 import com.google.gson.JsonObject;
 import com.google.inject.Guice;
 import com.google.inject.Inject;
 import com.google.inject.Injector;
-import com.google.inject.persist.UnitOfWork;
-
-import junit.framework.Assert;
 
 public class HeartbeatProcessorTest {
 
-  private static final Logger log = 
LoggerFactory.getLogger(TestHeartbeatHandler.class);
   private Injector injector;
   private long requestId = 23;
   private long stageId = 31;
@@ -110,9 +105,6 @@ public class HeartbeatProcessorTest {
   private Clusters clusters;
 
   @Inject
-  private UnitOfWork unitOfWork;
-
-  @Inject
   Configuration config;
 
   @Inject
@@ -136,6 +128,9 @@ public class HeartbeatProcessorTest {
   @Inject
   private AmbariMetaInfo metaInfo;
 
+  @Inject
+  private OrmTestHelper helper;
+
 
   public HeartbeatProcessorTest(){
     InMemoryDefaultTestModule module = HeartbeatTestHelper.getTestModule();
@@ -157,10 +152,9 @@ public class HeartbeatProcessorTest {
   }
 
   @Test
-  @SuppressWarnings("unchecked")
   public void testHeartbeatWithConfigs() throws Exception {
     Cluster cluster = heartbeatTestHelper.getDummyCluster();
-    Service hdfs = cluster.addService(HDFS);
+    Service hdfs = addService(cluster, HDFS);
     hdfs.addServiceComponent(DATANODE);
     hdfs.getServiceComponent(DATANODE).addServiceComponentHost(DummyHostname1);
     hdfs.addServiceComponent(NAMENODE);
@@ -182,7 +176,7 @@ public class HeartbeatProcessorTest {
     hb.setNodeStatus(new HostStatus(HostStatus.Status.HEALTHY, 
DummyHostStatus));
     hb.setHostname(DummyHostname1);
 
-    List<CommandReport> reports = new ArrayList<CommandReport>();
+    List<CommandReport> reports = new ArrayList<>();
     CommandReport cr = new CommandReport();
     cr.setActionId(StageUtils.getActionId(requestId, stageId));
     cr.setServiceName(HDFS);
@@ -210,7 +204,7 @@ public class HeartbeatProcessorTest {
         Role.DATANODE, null, null);
 
     ActionManager am = actionManagerTestHelper.getMockActionManager();
-    expect(am.getTasks(anyObject(List.class))).andReturn(
+    expect(am.getTasks(EasyMock.<List<Long>>anyObject())).andReturn(
         new ArrayList<HostRoleCommand>() {{
           add(command);
         }});
@@ -226,10 +220,9 @@ public class HeartbeatProcessorTest {
   }
 
   @Test
-  @SuppressWarnings("unchecked")
   public void testRestartRequiredAfterInstallClient() throws Exception {
     Cluster cluster = heartbeatTestHelper.getDummyCluster();
-    Service hdfs = cluster.addService(HDFS);
+    Service hdfs = addService(cluster, HDFS);
     hdfs.addServiceComponent(HDFS_CLIENT);
     
hdfs.getServiceComponent(HDFS_CLIENT).addServiceComponentHost(DummyHostname1);
 
@@ -247,7 +240,7 @@ public class HeartbeatProcessorTest {
     hb.setHostname(DummyHostname1);
 
 
-    List<CommandReport> reports = new ArrayList<CommandReport>();
+    List<CommandReport> reports = new ArrayList<>();
     CommandReport cr = new CommandReport();
     cr.setActionId(StageUtils.getActionId(requestId, stageId));
     cr.setServiceName(HDFS);
@@ -272,7 +265,7 @@ public class HeartbeatProcessorTest {
         Role.DATANODE, null, null);
 
     ActionManager am = actionManagerTestHelper.getMockActionManager();
-    expect(am.getTasks(anyObject(List.class))).andReturn(
+    expect(am.getTasks(EasyMock.<List<Long>>anyObject())).andReturn(
         new ArrayList<HostRoleCommand>() {{
           add(command);
           add(command);
@@ -291,10 +284,9 @@ public class HeartbeatProcessorTest {
 
 
   @Test
-  @SuppressWarnings("unchecked")
   public void testHeartbeatCustomCommandWithConfigs() throws Exception {
     Cluster cluster = heartbeatTestHelper.getDummyCluster();
-    Service hdfs = cluster.addService(HDFS);
+    Service hdfs = addService(cluster, HDFS);
     hdfs.addServiceComponent(DATANODE);
     hdfs.getServiceComponent(DATANODE).addServiceComponentHost(DummyHostname1);
     hdfs.addServiceComponent(NAMENODE);
@@ -316,7 +308,7 @@ public class HeartbeatProcessorTest {
     hb.setNodeStatus(new HostStatus(HostStatus.Status.HEALTHY, 
DummyHostStatus));
     hb.setHostname(DummyHostname1);
 
-    List<CommandReport> reports = new ArrayList<CommandReport>();
+    List<CommandReport> reports = new ArrayList<>();
     CommandReport cr = new CommandReport();
     cr.setActionId(StageUtils.getActionId(requestId, stageId));
     cr.setServiceName(HDFS);
@@ -356,7 +348,7 @@ public class HeartbeatProcessorTest {
         Role.DATANODE, null, null);
 
     ActionManager am = actionManagerTestHelper.getMockActionManager();
-    expect(am.getTasks(anyObject(List.class))).andReturn(
+    expect(am.getTasks(EasyMock.<List<Long>>anyObject())).andReturn(
         new ArrayList<HostRoleCommand>() {{
           add(command);
           add(command);
@@ -375,10 +367,9 @@ public class HeartbeatProcessorTest {
   }
 
   @Test
-  @SuppressWarnings("unchecked")
   public void testHeartbeatCustomStartStop() throws Exception {
     Cluster cluster = heartbeatTestHelper.getDummyCluster();
-    Service hdfs = cluster.addService(HDFS);
+    Service hdfs = addService(cluster, HDFS);
     hdfs.addServiceComponent(DATANODE);
     hdfs.getServiceComponent(DATANODE).addServiceComponentHost(DummyHostname1);
     hdfs.addServiceComponent(NAMENODE);
@@ -402,7 +393,7 @@ public class HeartbeatProcessorTest {
     hb.setNodeStatus(new HostStatus(HostStatus.Status.HEALTHY, 
DummyHostStatus));
     hb.setHostname(DummyHostname1);
 
-    List<CommandReport> reports = new ArrayList<CommandReport>();
+    List<CommandReport> reports = new ArrayList<>();
     CommandReport cr = new CommandReport();
     cr.setActionId(StageUtils.getActionId(requestId, stageId));
     cr.setServiceName(HDFS);
@@ -438,7 +429,7 @@ public class HeartbeatProcessorTest {
         Role.DATANODE, null, null);
 
     ActionManager am = actionManagerTestHelper.getMockActionManager();
-    expect(am.getTasks(anyObject(List.class))).andReturn(
+    expect(am.getTasks(EasyMock.<List<Long>>anyObject())).andReturn(
         new ArrayList<HostRoleCommand>() {{
           add(command);
           add(command);
@@ -459,10 +450,9 @@ public class HeartbeatProcessorTest {
   }
 
   @Test
-  @SuppressWarnings("unchecked")
   public void testStatusHeartbeat() throws Exception {
     Cluster cluster = heartbeatTestHelper.getDummyCluster();
-    Service hdfs = cluster.addService(HDFS);
+    Service hdfs = addService(cluster, HDFS);
     hdfs.addServiceComponent(DATANODE);
     hdfs.getServiceComponent(DATANODE).addServiceComponentHost(DummyHostname1);
     hdfs.addServiceComponent(NAMENODE);
@@ -490,7 +480,7 @@ public class HeartbeatProcessorTest {
     hb.setHostname(DummyHostname1);
     hb.setNodeStatus(new HostStatus(HostStatus.Status.HEALTHY, 
DummyHostStatus));
     hb.setReports(new ArrayList<CommandReport>());
-    ArrayList<ComponentStatus> componentStatuses = new 
ArrayList<ComponentStatus>();
+    ArrayList<ComponentStatus> componentStatuses = new ArrayList<>();
     ComponentStatus componentStatus1 = new ComponentStatus();
     componentStatus1.setClusterName(DummyCluster);
     componentStatus1.setServiceName(HDFS);
@@ -511,7 +501,7 @@ public class HeartbeatProcessorTest {
         Role.DATANODE, null, null);
 
     ActionManager am = actionManagerTestHelper.getMockActionManager();
-    expect(am.getTasks(anyObject(List.class))).andReturn(
+    expect(am.getTasks(EasyMock.<List<Long>>anyObject())).andReturn(
         new ArrayList<HostRoleCommand>() {{
           add(command);
           add(command);
@@ -524,7 +514,8 @@ public class HeartbeatProcessorTest {
     State componentState1 = serviceComponentHost1.getState();
     State componentState2 = serviceComponentHost2.getState();
     State componentState3 = serviceComponentHost3.getState();
-    assertEquals(State.STARTED, componentState1);assertEquals(State.INSTALLED, 
componentState2);
+    assertEquals(State.STARTED, componentState1);
+    assertEquals(State.INSTALLED, componentState2);
     assertEquals(SecurityState.SECURING, 
serviceComponentHost2.getSecurityState());
     //starting state will not be overridden by status command
     assertEquals(State.STARTING, componentState3);
@@ -547,7 +538,7 @@ public class HeartbeatProcessorTest {
     Assert.assertEquals(stageId, stage.getStageId());
     stage.setHostRoleStatus(DummyHostname1, HBASE_MASTER, 
HostRoleStatus.QUEUED);
     db.hostRoleScheduled(stage, DummyHostname1, HBASE_MASTER);
-    List<CommandReport> reports = new ArrayList<CommandReport>();
+    List<CommandReport> reports = new ArrayList<>();
     CommandReport cr = new CommandReport();
     cr.setActionId(StageUtils.getActionId(requestId, stageId));
     cr.setTaskId(1);
@@ -583,11 +574,10 @@ public class HeartbeatProcessorTest {
    * @throws InvalidStateTransitionException
    */
   @Test
-  @SuppressWarnings("unchecked")
   public void testCommandReportOnHeartbeatUpdatedState()
       throws Exception {
     Cluster cluster = heartbeatTestHelper.getDummyCluster();
-    Service hdfs = cluster.addService(HDFS);
+    Service hdfs = addService(cluster, HDFS);
     hdfs.addServiceComponent(DATANODE);
     hdfs.getServiceComponent(DATANODE).addServiceComponentHost(DummyHostname1);
 
@@ -603,7 +593,7 @@ public class HeartbeatProcessorTest {
     hb.setHostname(DummyHostname1);
     hb.setNodeStatus(new HostStatus(HostStatus.Status.HEALTHY, 
DummyHostStatus));
 
-    List<CommandReport> reports = new ArrayList<CommandReport>();
+    List<CommandReport> reports = new ArrayList<>();
     CommandReport cr = new CommandReport();
     cr.setActionId(StageUtils.getActionId(requestId, stageId));
     cr.setTaskId(1);
@@ -623,7 +613,7 @@ public class HeartbeatProcessorTest {
         Role.DATANODE, null, null);
 
     ActionManager am = actionManagerTestHelper.getMockActionManager();
-    expect(am.getTasks(anyObject(List.class))).andReturn(
+    expect(am.getTasks(EasyMock.<List<Long>>anyObject())).andReturn(
         new ArrayList<HostRoleCommand>() {{
           add(command);
         }}).anyTimes();
@@ -703,10 +693,9 @@ public class HeartbeatProcessorTest {
   }
 
   @Test
-  @SuppressWarnings("unchecked")
   public void testUpgradeSpecificHandling() throws Exception {
     Cluster cluster = heartbeatTestHelper.getDummyCluster();
-    Service hdfs = cluster.addService(HDFS);
+    Service hdfs = addService(cluster, HDFS);
     hdfs.addServiceComponent(DATANODE);
     hdfs.getServiceComponent(DATANODE).addServiceComponentHost(DummyHostname1);
 
@@ -722,7 +711,7 @@ public class HeartbeatProcessorTest {
     hb.setHostname(DummyHostname1);
     hb.setNodeStatus(new HostStatus(HostStatus.Status.HEALTHY, 
DummyHostStatus));
 
-    List<CommandReport> reports = new ArrayList<CommandReport>();
+    List<CommandReport> reports = new ArrayList<>();
     CommandReport cr = new CommandReport();
     cr.setActionId(StageUtils.getActionId(requestId, stageId));
     cr.setTaskId(1);
@@ -742,7 +731,7 @@ public class HeartbeatProcessorTest {
         Role.DATANODE, null, null);
 
     ActionManager am = actionManagerTestHelper.getMockActionManager();
-    expect(am.getTasks(anyObject(List.class))).andReturn(
+    expect(am.getTasks(EasyMock.<List<Long>>anyObject())).andReturn(
         new ArrayList<HostRoleCommand>() {{
           add(command);
         }}).anyTimes();
@@ -797,10 +786,9 @@ public class HeartbeatProcessorTest {
 
 
   @Test
-  @SuppressWarnings("unchecked")
   public void testCommandStatusProcesses() throws Exception {
     Cluster cluster = heartbeatTestHelper.getDummyCluster();
-    Service hdfs = cluster.addService(HDFS);
+    Service hdfs = addService(cluster, HDFS);
     hdfs.addServiceComponent(DATANODE);
     hdfs.getServiceComponent(DATANODE).addServiceComponentHost(DummyHostname1);
     
hdfs.getServiceComponent(DATANODE).getServiceComponentHost(DummyHostname1).setState(State.STARTED);
@@ -814,21 +802,21 @@ public class HeartbeatProcessorTest {
     hb.setNodeStatus(new HostStatus(HostStatus.Status.HEALTHY, 
DummyHostStatus));
     hb.setReports(new ArrayList<CommandReport>());
 
-    List<Map<String, String>> procs = new ArrayList<Map<String, String>>();
-    Map<String, String> proc1info = new HashMap<String, String>();
+    List<Map<String, String>> procs = new ArrayList<>();
+    Map<String, String> proc1info = new HashMap<>();
     proc1info.put("name", "a");
     proc1info.put("status", "RUNNING");
     procs.add(proc1info);
 
-    Map<String, String> proc2info = new HashMap<String, String>();
+    Map<String, String> proc2info = new HashMap<>();
     proc2info.put("name", "b");
     proc2info.put("status", "NOT_RUNNING");
     procs.add(proc2info);
 
-    Map<String, Object> extra = new HashMap<String, Object>();
+    Map<String, Object> extra = new HashMap<>();
     extra.put("processes", procs);
 
-    ArrayList<ComponentStatus> componentStatuses = new 
ArrayList<ComponentStatus>();
+    ArrayList<ComponentStatus> componentStatuses = new ArrayList<>();
     ComponentStatus componentStatus1 = new ComponentStatus();
     componentStatus1.setClusterName(DummyCluster);
     componentStatus1.setServiceName(HDFS);
@@ -844,7 +832,7 @@ public class HeartbeatProcessorTest {
         Role.DATANODE, null, null);
 
     ActionManager am = actionManagerTestHelper.getMockActionManager();
-    expect(am.getTasks(anyObject(List.class))).andReturn(
+    expect(am.getTasks(EasyMock.<List<Long>>anyObject())).andReturn(
         new ArrayList<HostRoleCommand>() {{
           add(command);
         }}).anyTimes();
@@ -876,94 +864,9 @@ public class HeartbeatProcessorTest {
   }
 
   @Test
-  @SuppressWarnings("unchecked")
-  public void testComponentUpgradeCompleteReport() throws Exception {
-    Cluster cluster = heartbeatTestHelper.getDummyCluster();
-    Service hdfs = cluster.addService(HDFS);
-    hdfs.addServiceComponent(DATANODE);
-    hdfs.getServiceComponent(DATANODE).addServiceComponentHost(DummyHostname1);
-    hdfs.addServiceComponent(NAMENODE);
-    hdfs.getServiceComponent(NAMENODE).addServiceComponentHost(DummyHostname1);
-    hdfs.addServiceComponent(HDFS_CLIENT);
-    
hdfs.getServiceComponent(HDFS_CLIENT).addServiceComponentHost(DummyHostname1);
-
-    ServiceComponentHost serviceComponentHost1 = 
clusters.getCluster(DummyCluster).getService(HDFS).
-        getServiceComponent(DATANODE).getServiceComponentHost(DummyHostname1);
-    ServiceComponentHost serviceComponentHost2 = 
clusters.getCluster(DummyCluster).getService(HDFS).
-        getServiceComponent(NAMENODE).getServiceComponentHost(DummyHostname1);
-
-    StackId stack130 = new StackId("HDP-1.3.0");
-    StackId stack120 = new StackId("HDP-1.2.0");
-
-    serviceComponentHost1.setState(State.UPGRADING);
-    serviceComponentHost2.setState(State.INSTALLING);
-
-    serviceComponentHost1.setStackVersion(stack120);
-    serviceComponentHost1.setDesiredStackVersion(stack130);
-    serviceComponentHost2.setStackVersion(stack120);
-
-    HeartBeat hb = new HeartBeat();
-    hb.setTimestamp(System.currentTimeMillis());
-    hb.setResponseId(0);
-    hb.setHostname(DummyHostname1);
-    hb.setNodeStatus(new HostStatus(HostStatus.Status.HEALTHY, 
DummyHostStatus));
-    CommandReport cr1 = new CommandReport();
-    cr1.setActionId(StageUtils.getActionId(requestId, stageId));
-    cr1.setTaskId(1);
-    cr1.setClusterName(DummyCluster);
-    cr1.setServiceName(HDFS);
-    cr1.setRole(DATANODE);
-    cr1.setStatus(HostRoleStatus.COMPLETED.toString());
-    cr1.setStdErr("none");
-    cr1.setStdOut("dummy output");
-    cr1.setExitCode(0);
-    cr1.setRoleCommand(RoleCommand.UPGRADE.toString());
-
-    CommandReport cr2 = new CommandReport();
-    cr2.setActionId(StageUtils.getActionId(requestId, stageId));
-    cr2.setTaskId(2);
-    cr2.setClusterName(DummyCluster);
-    cr2.setServiceName(HDFS);
-    cr2.setRole(NAMENODE);
-    cr2.setStatus(HostRoleStatus.COMPLETED.toString());
-    cr2.setStdErr("none");
-    cr2.setStdOut("dummy output");
-    cr2.setExitCode(0);
-    cr2.setRoleCommand(RoleCommand.UPGRADE.toString());
-    ArrayList<CommandReport> reports = new ArrayList<CommandReport>();
-    reports.add(cr1);
-    reports.add(cr2);
-    hb.setReports(reports);
-
-    ActionQueue aq = new ActionQueue();
-    final HostRoleCommand command = 
hostRoleCommandFactory.create(DummyHostname1,
-        Role.DATANODE, null, null);
-
-    ActionManager am = actionManagerTestHelper.getMockActionManager();
-    expect(am.getTasks(anyObject(List.class))).andReturn(
-        new ArrayList<HostRoleCommand>() {{
-          add(command);
-          add(command);
-        }});
-    replay(am);
-
-    HeartBeatHandler handler = heartbeatTestHelper.getHeartBeatHandler(am, aq);
-    HeartbeatProcessor heartbeatProcessor = handler.getHeartbeatProcessor();
-    heartbeatProcessor.processHeartbeat(hb);
-
-    assertEquals("Stack version for SCH should be updated to " +
-            serviceComponentHost1.getDesiredStackVersion(),
-        stack130, serviceComponentHost1.getStackVersion());
-    assertEquals("Stack version for SCH should not change ",
-        stack120, serviceComponentHost2.getStackVersion());
-  }
-
-
-  @Test
-  @SuppressWarnings("unchecked")
   public void testComponentUpgradeFailReport() throws Exception {
     Cluster cluster = heartbeatTestHelper.getDummyCluster();
-    Service hdfs = cluster.addService(HDFS);
+    Service hdfs = addService(cluster, HDFS);
     hdfs.addServiceComponent(DATANODE);
     hdfs.getServiceComponent(DATANODE).addServiceComponentHost(DummyHostname1);
     hdfs.addServiceComponent(NAMENODE);
@@ -982,10 +885,6 @@ public class HeartbeatProcessorTest {
     serviceComponentHost1.setState(State.UPGRADING);
     serviceComponentHost2.setState(State.INSTALLING);
 
-    serviceComponentHost1.setStackVersion(stack120);
-    serviceComponentHost1.setDesiredStackVersion(stack130);
-    serviceComponentHost2.setStackVersion(stack120);
-
     Stage s = stageFactory.createNew(requestId, "/a/b", "cluster1", 1L, 
"action manager test",
         "commandParamsStage", "hostParamsStage");
     s.setStageId(stageId);
@@ -997,7 +896,7 @@ public class HeartbeatProcessorTest {
         new ServiceComponentHostInstallEvent(Role.NAMENODE.toString(),
             DummyHostname1, System.currentTimeMillis(), "HDP-1.3.0"),
         DummyCluster, "HDFS", false, false);
-    List<Stage> stages = new ArrayList<Stage>();
+    List<Stage> stages = new ArrayList<>();
     stages.add(s);
     Request request = new Request(stages, "clusterHostInfo", clusters);
     actionDBAccessor.persistActions(request);
@@ -1045,7 +944,7 @@ public class HeartbeatProcessorTest {
     cr2.setStdErr("none");
     cr2.setStdOut("dummy output");
     cr2.setExitCode(0);
-    ArrayList<CommandReport> reports = new ArrayList<CommandReport>();
+    ArrayList<CommandReport> reports = new ArrayList<>();
     reports.add(cr1);
     reports.add(cr2);
     hb.setReports(reports);
@@ -1055,7 +954,7 @@ public class HeartbeatProcessorTest {
         Role.DATANODE, null, null);
 
     ActionManager am = actionManagerTestHelper.getMockActionManager();
-    expect(am.getTasks(anyObject(List.class))).andReturn(
+    expect(am.getTasks(EasyMock.<List<Long>>anyObject())).andReturn(
         new ArrayList<HostRoleCommand>() {{
           add(command);
           add(command);
@@ -1071,19 +970,14 @@ public class HeartbeatProcessorTest {
     assertEquals("State of SCH should change after fail report",
         State.INSTALL_FAILED, serviceComponentHost2.getState());
     assertEquals("Stack version of SCH should not change after fail report",
-        stack120, serviceComponentHost1.getStackVersion());
-    assertEquals("Stack version of SCH should not change after fail report",
-        stack130, serviceComponentHost1.getDesiredStackVersion());
-    assertEquals("Stack version of SCH should not change after fail report",
         State.INSTALL_FAILED, serviceComponentHost2.getState());
   }
 
 
   @Test
-  @SuppressWarnings("unchecked")
   public void testComponentUpgradeInProgressReport() throws Exception {
     Cluster cluster = heartbeatTestHelper.getDummyCluster();
-    Service hdfs = cluster.addService(HDFS);
+    Service hdfs = addService(cluster, HDFS);
     hdfs.addServiceComponent(DATANODE);
     hdfs.getServiceComponent(DATANODE).addServiceComponentHost(DummyHostname1);
     hdfs.addServiceComponent(NAMENODE);
@@ -1102,10 +996,6 @@ public class HeartbeatProcessorTest {
     serviceComponentHost1.setState(State.UPGRADING);
     serviceComponentHost2.setState(State.INSTALLING);
 
-    serviceComponentHost1.setStackVersion(stack120);
-    serviceComponentHost1.setDesiredStackVersion(stack130);
-    serviceComponentHost2.setStackVersion(stack120);
-
     HeartBeat hb = new HeartBeat();
     hb.setTimestamp(System.currentTimeMillis());
     hb.setResponseId(0);
@@ -1134,7 +1024,7 @@ public class HeartbeatProcessorTest {
     cr2.setStdErr("none");
     cr2.setStdOut("dummy output");
     cr2.setExitCode(777);
-    ArrayList<CommandReport> reports = new ArrayList<CommandReport>();
+    ArrayList<CommandReport> reports = new ArrayList<>();
     reports.add(cr1);
     reports.add(cr2);
     hb.setReports(reports);
@@ -1144,7 +1034,7 @@ public class HeartbeatProcessorTest {
         Role.DATANODE, null, null);
 
     ActionManager am = actionManagerTestHelper.getMockActionManager();
-    expect(am.getTasks(anyObject(List.class))).andReturn(
+    expect(am.getTasks(EasyMock.<List<Long>>anyObject())).andReturn(
         new ArrayList<HostRoleCommand>() {{
           add(command);
           add(command);
@@ -1155,8 +1045,6 @@ public class HeartbeatProcessorTest {
     handler.handleHeartBeat(hb);
     assertEquals("State of SCH not change while operation is in progress",
         State.UPGRADING, serviceComponentHost1.getState());
-    assertEquals("Stack version of SCH should not change after in progress 
report",
-        stack130, serviceComponentHost1.getDesiredStackVersion());
     assertEquals("State of SCH not change while operation is  in progress",
         State.INSTALLING, serviceComponentHost2.getState());
   }
@@ -1169,11 +1057,10 @@ public class HeartbeatProcessorTest {
    * @throws Exception
    */
   @Test
-  @SuppressWarnings("unchecked")
   public void testHeartBeatWithAlertAndInvalidCluster() throws Exception {
     ActionManager am = actionManagerTestHelper.getMockActionManager();
 
-    expect(am.getTasks(anyObject(List.class))).andReturn(
+    expect(am.getTasks(EasyMock.<List<Long>>anyObject())).andReturn(
         new ArrayList<HostRoleCommand>());
 
     replay(am);
@@ -1235,11 +1122,12 @@ public class HeartbeatProcessorTest {
         Role.DATANODE, null, null);
 
     ActionManager am = actionManagerTestHelper.getMockActionManager();
-    expect(am.getTasks(anyObject(List.class))).andReturn(
+    expect(am.getTasks(EasyMock.<List<Long>>anyObject())).andReturn(
         Collections.singletonList(command)).anyTimes();
     replay(am);
 
     Cluster cluster = heartbeatTestHelper.getDummyCluster();
+
     HeartBeatHandler handler = heartbeatTestHelper.getHeartBeatHandler(am, new 
ActionQueue());
     HeartbeatProcessor heartbeatProcessor = handler.getHeartbeatProcessor();
     HeartBeat hb = new HeartBeat();
@@ -1247,7 +1135,7 @@ public class HeartbeatProcessorTest {
     JsonObject json = new JsonObject();
     json.addProperty("actual_version", "2.2.1.0-2222");
     json.addProperty("package_installation_result", "SUCCESS");
-    json.addProperty("installed_repository_version", "0.1");
+    json.addProperty("installed_repository_version", "0.1-1234");
     json.addProperty("stack_id", 
cluster.getDesiredStackVersion().getStackId());
 
 
@@ -1273,23 +1161,19 @@ public class HeartbeatProcessorTest {
     StackId stackId = new StackId("HDP", "0.1");
 
     RepositoryVersionDAO dao = 
injector.getInstance(RepositoryVersionDAO.class);
-    RepositoryVersionEntity entity = dao.findByStackAndVersion(stackId, "0.1");
+    RepositoryVersionEntity entity = 
helper.getOrCreateRepositoryVersion(cluster);
     Assert.assertNotNull(entity);
 
     heartbeatProcessor.processHeartbeat(hb);
 
-    entity = dao.findByStackAndVersion(stackId, "0.1");
+    entity = dao.findByStackAndVersion(stackId, "0.1-1234");
     Assert.assertNull(entity);
-
-    entity = dao.findByStackAndVersion(stackId, "2.2.1.0-2222");
-    Assert.assertNotNull(entity);
   }
 
   @Test
-  @SuppressWarnings("unchecked")
   public void testComponentInProgressStatusSafeAfterStatusReport() throws 
Exception {
     Cluster cluster = heartbeatTestHelper.getDummyCluster();
-    Service hdfs = cluster.addService(HDFS);
+    Service hdfs = addService(cluster, HDFS);
     hdfs.addServiceComponent(DATANODE);
     hdfs.getServiceComponent(DATANODE).
         addServiceComponentHost(DummyHostname1);
@@ -1316,7 +1200,7 @@ public class HeartbeatProcessorTest {
     hb.setHostname(DummyHostname1);
     hb.setNodeStatus(new HostStatus(HostStatus.Status.HEALTHY, 
DummyHostStatus));
     hb.setReports(new ArrayList<CommandReport>());
-    ArrayList<ComponentStatus> componentStatuses = new 
ArrayList<ComponentStatus>();
+    ArrayList<ComponentStatus> componentStatuses = new ArrayList<>();
 
     ComponentStatus componentStatus1 = new ComponentStatus();
     componentStatus1.setClusterName(DummyCluster);
@@ -1340,7 +1224,7 @@ public class HeartbeatProcessorTest {
         Role.DATANODE, null, null);
 
     ActionManager am = actionManagerTestHelper.getMockActionManager();
-    expect(am.getTasks(anyObject(List.class))).andReturn(
+    expect(am.getTasks(EasyMock.<List<Long>>anyObject())).andReturn(
         new ArrayList<HostRoleCommand>() {{
           add(command);
           add(command);
@@ -1358,5 +1242,19 @@ public class HeartbeatProcessorTest {
   }
 
 
-
-}
+  /**
+   * Adds the service to the cluster using the current cluster version as the
+   * repository version for the service.
+   *
+   * @param cluster
+   *          the cluster.
+   * @param serviceName
+   *          the service name.
+   * @return the newly added service.
+   * @throws AmbariException
+   */
+  private Service addService(Cluster cluster, String serviceName) throws 
AmbariException {
+    RepositoryVersionEntity repositoryVersion = 
helper.getOrCreateRepositoryVersion(cluster);
+    return cluster.addService(serviceName, repositoryVersion);
+  }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ambari/blob/56362fd6/ambari-server/src/test/java/org/apache/ambari/server/agent/HeartbeatTestHelper.java
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/test/java/org/apache/ambari/server/agent/HeartbeatTestHelper.java
 
b/ambari-server/src/test/java/org/apache/ambari/server/agent/HeartbeatTestHelper.java
index 004aa55..76f4bb3 100644
--- 
a/ambari-server/src/test/java/org/apache/ambari/server/agent/HeartbeatTestHelper.java
+++ 
b/ambari-server/src/test/java/org/apache/ambari/server/agent/HeartbeatTestHelper.java
@@ -1,4 +1,4 @@
-/**
+/*
  * 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
@@ -21,6 +21,7 @@ import static 
org.apache.ambari.server.agent.DummyHeartbeatConstants.DummyCluste
 import static 
org.apache.ambari.server.agent.DummyHeartbeatConstants.DummyHostname1;
 import static 
org.apache.ambari.server.agent.DummyHeartbeatConstants.DummyOSRelease;
 import static org.apache.ambari.server.agent.DummyHeartbeatConstants.DummyOs;
+import static 
org.apache.ambari.server.agent.DummyHeartbeatConstants.DummyRepositoryVersion;
 import static 
org.apache.ambari.server.agent.DummyHeartbeatConstants.DummyStackId;
 import static org.apache.ambari.server.agent.DummyHeartbeatConstants.HBASE;
 
@@ -59,7 +60,6 @@ import org.apache.ambari.server.state.Clusters;
 import org.apache.ambari.server.state.Config;
 import org.apache.ambari.server.state.ConfigFactory;
 import org.apache.ambari.server.state.Host;
-import org.apache.ambari.server.state.RepositoryVersionState;
 import org.apache.ambari.server.state.StackId;
 import org.apache.ambari.server.state.cluster.ClustersImpl;
 import org.apache.ambari.server.state.fsm.InvalidStateTransitionException;
@@ -151,13 +151,14 @@ public class HeartbeatTestHelper {
       add(DummyHostname1);
     }};
 
-    return getDummyCluster(DummyCluster, DummyStackId, configProperties, 
hostNames);
+    return getDummyCluster(DummyCluster, new StackId(DummyStackId), 
DummyRepositoryVersion,
+        configProperties, hostNames);
   }
 
-  public Cluster getDummyCluster(String clusterName, String desiredStackId,
-                                 Map<String, String> configProperties, 
Set<String> hostNames)
+  public Cluster getDummyCluster(String clusterName, StackId stackId, String 
repositoryVersion,
+      Map<String, String> configProperties, Set<String> hostNames)
       throws Exception {
-    StackEntity stackEntity = stackDAO.find(HDP_22_STACK.getStackName(), 
HDP_22_STACK.getStackVersion());
+    StackEntity stackEntity = stackDAO.find(stackId.getStackName(), 
stackId.getStackVersion());
     org.junit.Assert.assertNotNull(stackEntity);
 
     // Create the cluster
@@ -177,8 +178,6 @@ public class HeartbeatTestHelper {
 
     clusterDAO.create(clusterEntity);
 
-    StackId stackId = new StackId(desiredStackId);
-
     // because this test method goes around the Clusters business object, we
     // forcefully will refresh the internal state so that any tests which
     // incorrect use Clusters after calling this won't be affected
@@ -196,15 +195,12 @@ public class HeartbeatTestHelper {
     Config config = cf.createNew(cluster, "cluster-env", "version1", 
configProperties, new HashMap<String, Map<String, String>>());
     cluster.addDesiredConfig("user", Collections.singleton(config));
 
-    helper.getOrCreateRepositoryVersion(stackId, stackId.getStackVersion());
-    cluster.createClusterVersion(stackId, stackId.getStackVersion(), "admin",
-        RepositoryVersionState.INSTALLING);
 
-    Map<String, String> hostAttributes = new HashMap<String, String>();
+    Map<String, String> hostAttributes = new HashMap<>();
     hostAttributes.put("os_family", "redhat");
     hostAttributes.put("os_release_version", "6.3");
 
-    List<HostEntity> hostEntities = new ArrayList<HostEntity>();
+    List<HostEntity> hostEntities = new ArrayList<>();
     for(String hostName : hostNames) {
       clusters.addHost(hostName);
       Host host = clusters.getHost(hostName);
@@ -230,10 +226,10 @@ public class HeartbeatTestHelper {
         RoleCommand.START,
         new ServiceComponentHostStartEvent(Role.HBASE_MASTER.toString(),
             DummyHostname1, System.currentTimeMillis()), DummyCluster, HBASE, 
false, false);
-    List<Stage> stages = new ArrayList<Stage>();
+    List<Stage> stages = new ArrayList<>();
     stages.add(s);
     Request request = new Request(stages, "clusterHostInfo", clusters);
     db.persistActions(request);
   }
 
-}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ambari/blob/56362fd6/ambari-server/src/test/java/org/apache/ambari/server/agent/TestHeartbeatHandler.java
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/test/java/org/apache/ambari/server/agent/TestHeartbeatHandler.java
 
b/ambari-server/src/test/java/org/apache/ambari/server/agent/TestHeartbeatHandler.java
index a19cdb5..b4c045b 100644
--- 
a/ambari-server/src/test/java/org/apache/ambari/server/agent/TestHeartbeatHandler.java
+++ 
b/ambari-server/src/test/java/org/apache/ambari/server/agent/TestHeartbeatHandler.java
@@ -1,4 +1,4 @@
-/**
+/*
  * 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
@@ -30,7 +30,6 @@ import static 
org.apache.ambari.server.agent.DummyHeartbeatConstants.HDFS;
 import static 
org.apache.ambari.server.agent.DummyHeartbeatConstants.HDFS_CLIENT;
 import static org.apache.ambari.server.agent.DummyHeartbeatConstants.NAMENODE;
 import static 
org.apache.ambari.server.agent.DummyHeartbeatConstants.SECONDARY_NAMENODE;
-import static org.easymock.EasyMock.anyObject;
 import static org.easymock.EasyMock.expect;
 import static org.easymock.EasyMock.replay;
 import static org.easymock.EasyMock.reset;
@@ -76,6 +75,8 @@ import org.apache.ambari.server.audit.AuditLogger;
 import org.apache.ambari.server.configuration.Configuration;
 import org.apache.ambari.server.orm.GuiceJpaInitializer;
 import org.apache.ambari.server.orm.InMemoryDefaultTestModule;
+import org.apache.ambari.server.orm.OrmTestHelper;
+import org.apache.ambari.server.orm.entities.RepositoryVersionEntity;
 import 
org.apache.ambari.server.serveraction.kerberos.KerberosIdentityDataFileWriter;
 import 
org.apache.ambari.server.serveraction.kerberos.KerberosIdentityDataFileWriterFactory;
 import org.apache.ambari.server.serveraction.kerberos.KerberosServerAction;
@@ -88,6 +89,7 @@ import org.apache.ambari.server.state.HostState;
 import org.apache.ambari.server.state.MaintenanceState;
 import org.apache.ambari.server.state.SecurityState;
 import org.apache.ambari.server.state.Service;
+import org.apache.ambari.server.state.ServiceComponent;
 import org.apache.ambari.server.state.ServiceComponentHost;
 import org.apache.ambari.server.state.StackId;
 import org.apache.ambari.server.state.State;
@@ -144,6 +146,9 @@ public class TestHeartbeatHandler {
   @Inject
   AuditLogger auditLogger;
 
+  @Inject
+  private OrmTestHelper helper;
+
   @Rule
   public TemporaryFolder temporaryFolder = new TemporaryFolder();
 
@@ -167,14 +172,13 @@ public class TestHeartbeatHandler {
   }
 
   @Test
-  @SuppressWarnings("unchecked")
   public void testHeartbeat() throws Exception {
     ActionManager am = actionManagerTestHelper.getMockActionManager();
-    expect(am.getTasks(anyObject(List.class))).andReturn(new 
ArrayList<HostRoleCommand>());
+    expect(am.getTasks(EasyMock.<List<Long>>anyObject())).andReturn(new 
ArrayList<HostRoleCommand>());
     replay(am);
 
     Cluster cluster = heartbeatTestHelper.getDummyCluster();
-    Service hdfs = cluster.addService(HDFS);
+    Service hdfs = addService(cluster, HDFS);
     hdfs.addServiceComponent(DATANODE);
     hdfs.addServiceComponent(NAMENODE);
     hdfs.addServiceComponent(SECONDARY_NAMENODE);
@@ -212,7 +216,7 @@ public class TestHeartbeatHandler {
     HeartBeat hb = new HeartBeat();
     hb.setResponseId(0);
     HostStatus hs = new HostStatus(Status.HEALTHY, DummyHostStatus);
-    List<Alert> al = new ArrayList<Alert>();
+    List<Alert> al = new ArrayList<>();
     al.add(new Alert());
     hb.setNodeStatus(hs);
     hb.setHostname(hostname);
@@ -222,17 +226,10 @@ public class TestHeartbeatHandler {
     assertEquals(0, aq.dequeueAll(hostname).size());
   }
 
-
-
-
-
-
-
   @Test
-  @SuppressWarnings("unchecked")
   public void testStatusHeartbeatWithAnnotation() throws Exception {
     Cluster cluster = heartbeatTestHelper.getDummyCluster();
-    Service hdfs = cluster.addService(HDFS);
+    Service hdfs = addService(cluster, HDFS);
     hdfs.addServiceComponent(DATANODE);
     hdfs.addServiceComponent(NAMENODE);
     hdfs.addServiceComponent(SECONDARY_NAMENODE);
@@ -245,14 +242,14 @@ public class TestHeartbeatHandler {
     hb.setHostname(DummyHostname1);
     hb.setNodeStatus(new HostStatus(Status.HEALTHY, DummyHostStatus));
     hb.setReports(new ArrayList<CommandReport>());
-    ArrayList<ComponentStatus> componentStatuses = new 
ArrayList<ComponentStatus>();
+    ArrayList<ComponentStatus> componentStatuses = new ArrayList<>();
     hb.setComponentStatus(componentStatuses);
 
     final HostRoleCommand command = 
hostRoleCommandFactory.create(DummyHostname1,
             Role.DATANODE, null, null);
 
     ActionManager am = actionManagerTestHelper.getMockActionManager();
-    expect(am.getTasks(anyObject(List.class))).andReturn(
+    expect(am.getTasks(EasyMock.<List<Long>>anyObject())).andReturn(
             new ArrayList<HostRoleCommand>() {{
               add(command);
             }}).anyTimes();
@@ -280,10 +277,9 @@ public class TestHeartbeatHandler {
   }
 
   @Test
-  @SuppressWarnings("unchecked")
   public void testLiveStatusUpdateAfterStopFailed() throws Exception {
     Cluster cluster = heartbeatTestHelper.getDummyCluster();
-    Service hdfs = cluster.addService(HDFS);
+    Service hdfs = addService(cluster, HDFS);
     hdfs.addServiceComponent(DATANODE);
     hdfs.getServiceComponent(DATANODE).
         addServiceComponentHost(DummyHostname1);
@@ -310,7 +306,7 @@ public class TestHeartbeatHandler {
     hb.setHostname(DummyHostname1);
     hb.setNodeStatus(new HostStatus(Status.HEALTHY, DummyHostStatus));
     hb.setReports(new ArrayList<CommandReport>());
-    ArrayList<ComponentStatus> componentStatuses = new 
ArrayList<ComponentStatus>();
+    ArrayList<ComponentStatus> componentStatuses = new ArrayList<>();
 
     ComponentStatus componentStatus1 = new ComponentStatus();
     componentStatus1.setClusterName(DummyCluster);
@@ -334,7 +330,7 @@ public class TestHeartbeatHandler {
             Role.DATANODE, null, null);
 
     ActionManager am = actionManagerTestHelper.getMockActionManager();
-    expect(am.getTasks(anyObject(List.class))).andReturn(
+    expect(am.getTasks(EasyMock.<List<Long>>anyObject())).andReturn(
             new ArrayList<HostRoleCommand>() {{
               add(command);
               add(command);
@@ -386,7 +382,7 @@ public class TestHeartbeatHandler {
   @Test
   public void testRegistrationRecoveryConfig() throws Exception {
     Cluster cluster = heartbeatTestHelper.getDummyCluster();
-    Service hdfs = cluster.addService(HDFS);
+    Service hdfs = addService(cluster, HDFS);
 
     hdfs.addServiceComponent(DATANODE).setRecoveryEnabled(true);
     hdfs.getServiceComponent(DATANODE);
@@ -459,9 +455,9 @@ public class TestHeartbeatHandler {
     HeartBeatHandler handler = new HeartBeatHandler(fsm, new ActionQueue(), am,
             injector);
     Cluster cluster = heartbeatTestHelper.getDummyCluster();
-    Service hdfs = cluster.addService(HDFS);
+    Service hdfs = addService(cluster, HDFS);
 
-    /**
+    /*
      * Add three service components enabled for auto start.
      */
     hdfs.addServiceComponent(DATANODE).setRecoveryEnabled(true);
@@ -563,7 +559,7 @@ public class TestHeartbeatHandler {
       handler.handleRegistration(reg);
       fail ("Expected failure for non compatible agent version");
     } catch (AmbariException e) {
-      log.debug("Error:" + e.getMessage());
+      log.debug("Error:{}", e.getMessage());
       Assert.assertTrue(e.getMessage().contains(
           "Cannot register host with non compatible agent version"));
     }
@@ -573,7 +569,7 @@ public class TestHeartbeatHandler {
       handler.handleRegistration(reg);
       fail ("Expected failure for non compatible agent version");
     } catch (AmbariException e) {
-      log.debug("Error:" + e.getMessage());
+      log.debug("Error:{}", e.getMessage());
       Assert.assertTrue(e.getMessage().contains(
           "Cannot register host with non compatible agent version"));
     }
@@ -756,7 +752,7 @@ public class TestHeartbeatHandler {
 
   @Test
   public void testStateCommandsAtRegistration() throws Exception, 
InvalidStateTransitionException {
-    List<StatusCommand> dummyCmds = new ArrayList<StatusCommand>();
+    List<StatusCommand> dummyCmds = new ArrayList<>();
     StatusCommand statusCmd1 = new StatusCommand();
     statusCmd1.setClusterName(DummyCluster);
     statusCmd1.setServiceName(HDFS);
@@ -790,10 +786,9 @@ public class TestHeartbeatHandler {
   }
 
   @Test
-  @SuppressWarnings("unchecked")
   public void testTaskInProgressHandling() throws Exception, 
InvalidStateTransitionException {
     Cluster cluster = heartbeatTestHelper.getDummyCluster();
-    Service hdfs = cluster.addService(HDFS);
+    Service hdfs = addService(cluster, HDFS);
     hdfs.addServiceComponent(DATANODE);
     hdfs.getServiceComponent(DATANODE).addServiceComponentHost(DummyHostname1);
     hdfs.addServiceComponent(NAMENODE);
@@ -813,7 +808,7 @@ public class TestHeartbeatHandler {
     hb.setHostname(DummyHostname1);
     hb.setNodeStatus(new HostStatus(Status.HEALTHY, DummyHostStatus));
 
-    List<CommandReport> reports = new ArrayList<CommandReport>();
+    List<CommandReport> reports = new ArrayList<>();
     CommandReport cr = new CommandReport();
     cr.setActionId(StageUtils.getActionId(requestId, stageId));
     cr.setTaskId(1);
@@ -833,7 +828,7 @@ public class TestHeartbeatHandler {
             Role.DATANODE, null, RoleCommand.INSTALL);
 
     ActionManager am = actionManagerTestHelper.getMockActionManager();
-    expect(am.getTasks(anyObject(List.class))).andReturn(
+    expect(am.getTasks(EasyMock.<List<Long>>anyObject())).andReturn(
             new ArrayList<HostRoleCommand>() {{
               add(command);
             }});
@@ -847,10 +842,9 @@ public class TestHeartbeatHandler {
   }
 
   @Test
-  @SuppressWarnings("unchecked")
   public void testOPFailedEventForAbortedTask() throws Exception, 
InvalidStateTransitionException {
     Cluster cluster = heartbeatTestHelper.getDummyCluster();
-    Service hdfs = cluster.addService(HDFS);
+    Service hdfs = addService(cluster, HDFS);
     hdfs.addServiceComponent(DATANODE);
     hdfs.getServiceComponent(DATANODE).addServiceComponentHost(DummyHostname1);
     hdfs.addServiceComponent(NAMENODE);
@@ -871,7 +865,7 @@ public class TestHeartbeatHandler {
       new ServiceComponentHostInstallEvent(Role.DATANODE.toString(),
         DummyHostname1, System.currentTimeMillis(), "HDP-1.3.0"),
           DummyCluster, "HDFS", false, false);
-    List<Stage> stages = new ArrayList<Stage>();
+    List<Stage> stages = new ArrayList<>();
     stages.add(s);
     Request request = new Request(stages, "clusterHostInfo", clusters);
     actionDBAccessor.persistActions(request);
@@ -883,7 +877,7 @@ public class TestHeartbeatHandler {
     hb.setHostname(DummyHostname1);
     hb.setNodeStatus(new HostStatus(Status.HEALTHY, DummyHostStatus));
 
-    List<CommandReport> reports = new ArrayList<CommandReport>();
+    List<CommandReport> reports = new ArrayList<>();
     CommandReport cr = new CommandReport();
     cr.setActionId(StageUtils.getActionId(1, 1));
     cr.setTaskId(1);
@@ -903,7 +897,7 @@ public class TestHeartbeatHandler {
             Role.DATANODE, null, null);
 
     ActionManager am = actionManagerTestHelper.getMockActionManager();
-    expect(am.getTasks(anyObject(List.class))).andReturn(
+    expect(am.getTasks(EasyMock.<List<Long>>anyObject())).andReturn(
             new ArrayList<HostRoleCommand>() {{
               add(command);
             }});
@@ -917,14 +911,10 @@ public class TestHeartbeatHandler {
       componentState1);
   }
 
-
-
-
   @Test
-  @SuppressWarnings("unchecked")
-  public void testStatusHeartbeatWithVersion() throws Exception {
+  public void testStatusHeartbeat() throws Exception {
     Cluster cluster = heartbeatTestHelper.getDummyCluster();
-    Service hdfs = cluster.addService(HDFS);
+    Service hdfs = addService(cluster, HDFS);
     hdfs.addServiceComponent(DATANODE);
     hdfs.getServiceComponent(DATANODE).addServiceComponentHost(DummyHostname1);
     hdfs.addServiceComponent(NAMENODE);
@@ -939,15 +929,9 @@ public class TestHeartbeatHandler {
     ServiceComponentHost serviceComponentHost3 = 
clusters.getCluster(DummyCluster).getService(HDFS).
         
getServiceComponent(HDFS_CLIENT).getServiceComponentHost(DummyHostname1);
 
-    StackId stack130 = new StackId("HDP-1.3.0");
-    StackId stack120 = new StackId("HDP-1.2.0");
-
     serviceComponentHost1.setState(State.INSTALLED);
     serviceComponentHost2.setState(State.STARTED);
     serviceComponentHost3.setState(State.STARTED);
-    serviceComponentHost1.setStackVersion(stack130);
-    serviceComponentHost2.setStackVersion(stack120);
-    serviceComponentHost3.setStackVersion(stack120);
 
     HeartBeat hb = new HeartBeat();
     hb.setTimestamp(System.currentTimeMillis());
@@ -958,7 +942,7 @@ public class TestHeartbeatHandler {
     hb.setAgentEnv(new AgentEnv());
     hb.setMounts(new ArrayList<DiskInfo>());
 
-    ArrayList<ComponentStatus> componentStatuses = new 
ArrayList<ComponentStatus>();
+    ArrayList<ComponentStatus> componentStatuses = new ArrayList<>();
     ComponentStatus componentStatus1 = createComponentStatus(DummyCluster, 
HDFS, DummyHostStatus, State.STARTED,
         SecurityState.UNSECURED, DATANODE, 
"{\"stackName\":\"HDP\",\"stackVersion\":\"1.3.0\"}");
     ComponentStatus componentStatus2 =
@@ -973,9 +957,7 @@ public class TestHeartbeatHandler {
 
     ActionQueue aq = new ActionQueue();
     ActionManager am = actionManagerTestHelper.getMockActionManager();
-    expect(am.getTasks(anyObject(List.class))).andReturn(
-            new ArrayList<HostRoleCommand>() {{
-            }});
+    expect(am.getTasks(EasyMock.<List<Long>>anyObject())).andReturn(new 
ArrayList<HostRoleCommand>());
     replay(am);
 
     HeartBeatHandler handler = heartbeatTestHelper.getHeartBeatHandler(am, aq);
@@ -983,25 +965,16 @@ public class TestHeartbeatHandler {
     handler.handleHeartBeat(hb);
     heartbeatProcessor.processHeartbeat(hb);
 
-    assertEquals("Matching value " + serviceComponentHost1.getStackVersion(),
-        stack130, serviceComponentHost1.getStackVersion());
-    assertEquals("Matching value " + serviceComponentHost2.getStackVersion(),
-        stack120, serviceComponentHost2.getStackVersion());
-    assertEquals("Matching value " + serviceComponentHost3.getStackVersion(),
-        stack130, serviceComponentHost3.getStackVersion());
     
assertTrue(hb.getAgentEnv().getHostHealth().getServerTimeStampAtReporting() >= 
hb.getTimestamp());
   }
 
-
-
   @Test
-  @SuppressWarnings("unchecked")
   public void testRecoveryStatusReports() throws Exception {
     Clusters fsm = clusters;
 
     Cluster cluster = heartbeatTestHelper.getDummyCluster();
     Host hostObject = clusters.getHost(DummyHostname1);
-    Service hdfs = cluster.addService(HDFS);
+    Service hdfs = addService(cluster, HDFS);
     hdfs.addServiceComponent(DATANODE);
     hdfs.getServiceComponent(DATANODE).addServiceComponentHost(DummyHostname1);
     hdfs.addServiceComponent(NAMENODE);
@@ -1013,7 +986,7 @@ public class TestHeartbeatHandler {
 
     final HostRoleCommand command = 
hostRoleCommandFactory.create(DummyHostname1, Role.DATANODE, null, null);
     ActionManager am = actionManagerTestHelper.getMockActionManager();
-    expect(am.getTasks(anyObject(List.class))).andReturn(
+    expect(am.getTasks(EasyMock.<List<Long>>anyObject())).andReturn(
         new ArrayList<HostRoleCommand>() {{
           add(command);
           add(command);
@@ -1042,7 +1015,7 @@ public class TestHeartbeatHandler {
     hb1.setHostname(DummyHostname1);
     RecoveryReport rr = new RecoveryReport();
     rr.setSummary("RECOVERABLE");
-    List<ComponentRecoveryReport> compRecReports = new 
ArrayList<ComponentRecoveryReport>();
+    List<ComponentRecoveryReport> compRecReports = new ArrayList<>();
     ComponentRecoveryReport compRecReport = new ComponentRecoveryReport();
     compRecReport.setLimitReached(Boolean.FALSE);
     compRecReport.setName("DATANODE");
@@ -1061,7 +1034,7 @@ public class TestHeartbeatHandler {
     hb2.setHostname(DummyHostname1);
     rr = new RecoveryReport();
     rr.setSummary("UNRECOVERABLE");
-    compRecReports = new ArrayList<ComponentRecoveryReport>();
+    compRecReports = new ArrayList<>();
     compRecReport = new ComponentRecoveryReport();
     compRecReport.setLimitReached(Boolean.TRUE);
     compRecReport.setName("DATANODE");
@@ -1076,13 +1049,12 @@ public class TestHeartbeatHandler {
   }
 
   @Test
-  @SuppressWarnings("unchecked")
   public void testProcessStatusReports() throws Exception {
     Clusters fsm = clusters;
 
     Cluster cluster = heartbeatTestHelper.getDummyCluster();
     Host hostObject = clusters.getHost(DummyHostname1);
-    Service hdfs = cluster.addService(HDFS);
+    Service hdfs = addService(cluster, HDFS);
     hdfs.addServiceComponent(DATANODE);
     hdfs.getServiceComponent(DATANODE).addServiceComponentHost(DummyHostname1);
     hdfs.addServiceComponent(NAMENODE);
@@ -1095,7 +1067,7 @@ public class TestHeartbeatHandler {
     final HostRoleCommand command = 
hostRoleCommandFactory.create(DummyHostname1,
             Role.DATANODE, null, null);
     ActionManager am = actionManagerTestHelper.getMockActionManager();
-    expect(am.getTasks(anyObject(List.class))).andReturn(
+    expect(am.getTasks(EasyMock.<List<Long>>anyObject())).andReturn(
             new ArrayList<HostRoleCommand>() {{
               add(command);
               add(command);
@@ -1123,7 +1095,7 @@ public class TestHeartbeatHandler {
     hb1.setResponseId(0);
     hb1.setNodeStatus(new HostStatus(Status.HEALTHY, DummyHostStatus));
     hb1.setHostname(DummyHostname1);
-    List<ComponentStatus> componentStatus = new ArrayList<ComponentStatus>();
+    List<ComponentStatus> componentStatus = new ArrayList<>();
     ComponentStatus dataNodeStatus = new ComponentStatus();
     dataNodeStatus.setClusterName(cluster.getClusterName());
     dataNodeStatus.setServiceName(HDFS);
@@ -1146,7 +1118,7 @@ public class TestHeartbeatHandler {
     hb2.setResponseId(1);
     hb2.setNodeStatus(new HostStatus(Status.HEALTHY, DummyHostStatus));
     hb2.setHostname(DummyHostname1);
-    componentStatus = new ArrayList<ComponentStatus>();
+    componentStatus = new ArrayList<>();
     dataNodeStatus = new ComponentStatus();
     dataNodeStatus.setClusterName(cluster.getClusterName());
     dataNodeStatus.setServiceName(HDFS);
@@ -1171,7 +1143,7 @@ public class TestHeartbeatHandler {
     hb2a.setResponseId(2);
     hb2a.setNodeStatus(new HostStatus(Status.HEALTHY, DummyHostStatus));
     hb2a.setHostname(DummyHostname1);
-    componentStatus = new ArrayList<ComponentStatus>();
+    componentStatus = new ArrayList<>();
     dataNodeStatus = new ComponentStatus();
     dataNodeStatus.setClusterName(cluster.getClusterName());
     dataNodeStatus.setServiceName(HDFS);
@@ -1197,7 +1169,7 @@ public class TestHeartbeatHandler {
     hb3.setResponseId(3);
     hb3.setNodeStatus(new HostStatus(Status.HEALTHY, DummyHostStatus));
     hb3.setHostname(DummyHostname1);
-    componentStatus = new ArrayList<ComponentStatus>();
+    componentStatus = new ArrayList<>();
     dataNodeStatus = new ComponentStatus();
     dataNodeStatus.setClusterName(cluster.getClusterName());
     dataNodeStatus.setServiceName(HDFS);
@@ -1222,7 +1194,7 @@ public class TestHeartbeatHandler {
     assertEquals(HostHealthStatus.HealthStatus.HEALTHY.name(), 
hostObject.getStatus());
 
     reset(am);
-    expect(am.getTasks(anyObject(List.class))).andReturn(
+    expect(am.getTasks(EasyMock.<List<Long>>anyObject())).andReturn(
             new ArrayList<HostRoleCommand>() {{
               add(command);
             }}).anyTimes();
@@ -1234,7 +1206,7 @@ public class TestHeartbeatHandler {
     hb4.setResponseId(5);
     hb4.setNodeStatus(new HostStatus(Status.HEALTHY, DummyHostStatus));
     hb4.setHostname(DummyHostname1);
-    componentStatus = new ArrayList<ComponentStatus>();
+    componentStatus = new ArrayList<>();
     dataNodeStatus = new ComponentStatus();
     dataNodeStatus.setClusterName(cluster.getClusterName());
     dataNodeStatus.setServiceName(HDFS);
@@ -1267,7 +1239,7 @@ public class TestHeartbeatHandler {
     cr1.setExitCode(215);
     cr1.setRoleCommand("STOP");
     cr1.setClusterName(DummyCluster);
-    ArrayList<CommandReport> reports = new ArrayList<CommandReport>();
+    ArrayList<CommandReport> reports = new ArrayList<>();
     reports.add(cr1);
     hb5.setReports(reports);
     handler.handleHeartBeat(hb5);
@@ -1276,7 +1248,6 @@ public class TestHeartbeatHandler {
   }
 
   @Test
-  @SuppressWarnings("unchecked")
   public void testIgnoreCustomActionReport() throws Exception, 
InvalidStateTransitionException {
     CommandReport cr1 = new CommandReport();
     cr1.setActionId(StageUtils.getActionId(requestId, stageId));
@@ -1301,7 +1272,7 @@ public class TestHeartbeatHandler {
     cr2.setStdOut("dummy output");
     cr2.setExitCode(0);
 
-    ArrayList<CommandReport> reports = new ArrayList<CommandReport>();
+    ArrayList<CommandReport> reports = new ArrayList<>();
     reports.add(cr1);
     reports.add(cr2);
 
@@ -1318,7 +1289,7 @@ public class TestHeartbeatHandler {
             Role.DATANODE, null, null);
 
     ActionManager am = actionManagerTestHelper.getMockActionManager();
-    expect(am.getTasks(anyObject(List.class))).andReturn(
+    expect(am.getTasks(EasyMock.<List<Long>>anyObject())).andReturn(
             new ArrayList<HostRoleCommand>() {{
               add(command);
               add(command);
@@ -1341,27 +1312,15 @@ public class TestHeartbeatHandler {
   @Test
   public void testComponents() throws Exception,
       InvalidStateTransitionException {
+
     ComponentsResponse expected = new ComponentsResponse();
     StackId dummyStackId = new StackId(DummyStackId);
-    Map<String, Map<String, String>> dummyComponents = new HashMap<String, 
Map<String, String>>();
-
-    Map<String, String> dummyCategoryMap = new HashMap<String, String>();
-    dummyCategoryMap.put("PIG", "CLIENT");
-    dummyComponents.put("PIG", dummyCategoryMap);
+    Map<String, Map<String, String>> dummyComponents = new HashMap<>();
 
-    dummyCategoryMap = new HashMap<String, String>();
-    dummyCategoryMap.put("MAPREDUCE_CLIENT", "CLIENT");
-    dummyCategoryMap.put("JOBTRACKER", "MASTER");
-    dummyCategoryMap.put("TASKTRACKER", "SLAVE");
-    dummyComponents.put("MAPREDUCE", dummyCategoryMap);
+    Map<String, String> dummyCategoryMap = new HashMap<>();
 
-    dummyCategoryMap = new HashMap<String, String>();
-    dummyCategoryMap.put("DATANODE2", "SLAVE");
+    dummyCategoryMap = new HashMap<>();
     dummyCategoryMap.put("NAMENODE", "MASTER");
-    dummyCategoryMap.put("HDFS_CLIENT", "CLIENT");
-    dummyCategoryMap.put("DATANODE1", "SLAVE");
-    dummyCategoryMap.put("SECONDARY_NAMENODE", "MASTER");
-    dummyCategoryMap.put("DATANODE", "SLAVE");
     dummyComponents.put("HDFS", dummyCategoryMap);
 
     expected.setClusterName(DummyCluster);
@@ -1369,7 +1328,22 @@ public class TestHeartbeatHandler {
     expected.setStackVersion(dummyStackId.getStackVersion());
     expected.setComponents(dummyComponents);
 
-    heartbeatTestHelper.getDummyCluster();
+    Cluster cluster = heartbeatTestHelper.getDummyCluster();
+    Service service = EasyMock.createNiceMock(Service.class);
+    expect(service.getName()).andReturn("HDFS").atLeastOnce();
+
+    Map<String, ServiceComponent> componentMap = new HashMap<>();
+    ServiceComponent nnComponent = 
EasyMock.createNiceMock(ServiceComponent.class);
+    expect(nnComponent.getName()).andReturn("NAMENODE").atLeastOnce();
+    
expect(nnComponent.getDesiredStackId()).andReturn(dummyStackId).atLeastOnce();
+    componentMap.put("NAMENODE", nnComponent);
+
+    expect(service.getServiceComponents()).andReturn(componentMap);
+
+    replay(service, nnComponent);
+
+    cluster.addService(service);
+
     HeartBeatHandler handler = heartbeatTestHelper.getHeartBeatHandler(
         actionManagerTestHelper.getMockActionManager(),
         new ActionQueue());
@@ -1381,8 +1355,6 @@ public class TestHeartbeatHandler {
     }
 
     assertEquals(expected.getClusterName(), actual.getClusterName());
-    assertEquals(expected.getStackName(), actual.getStackName());
-    assertEquals(expected.getStackVersion(), actual.getStackVersion());
     assertEquals(expected.getComponents(), actual.getComponents());
   }
 
@@ -1403,15 +1375,13 @@ public class TestHeartbeatHandler {
   }
 
   @Test
-  @SuppressWarnings("unchecked")
   public void testCommandStatusProcesses_empty() throws Exception {
     Cluster cluster = heartbeatTestHelper.getDummyCluster();
-    Service hdfs = cluster.addService(HDFS);
+    Service hdfs = addService(cluster, HDFS);
     hdfs.addServiceComponent(DATANODE);
     hdfs.getServiceComponent(DATANODE).addServiceComponentHost(DummyHostname1);
     
hdfs.getServiceComponent(DATANODE).getServiceComponentHost(DummyHostname1).setState(State.STARTED);
 
-    ActionQueue aq = new ActionQueue();
     HeartBeat hb = new HeartBeat();
     hb.setTimestamp(System.currentTimeMillis());
     hb.setResponseId(0);
@@ -1419,7 +1389,7 @@ public class TestHeartbeatHandler {
     hb.setNodeStatus(new HostStatus(Status.HEALTHY, DummyHostStatus));
     hb.setReports(new ArrayList<CommandReport>());
 
-    ArrayList<ComponentStatus> componentStatuses = new 
ArrayList<ComponentStatus>();
+    ArrayList<ComponentStatus> componentStatuses = new ArrayList<>();
     ComponentStatus componentStatus1 = new ComponentStatus();
     componentStatus1.setClusterName(DummyCluster);
     componentStatus1.setServiceName(HDFS);
@@ -1434,13 +1404,12 @@ public class TestHeartbeatHandler {
             Role.DATANODE, null, null);
 
     ActionManager am = actionManagerTestHelper.getMockActionManager();
-    expect(am.getTasks(anyObject(List.class))).andReturn(
+    expect(am.getTasks(EasyMock.<List<Long>>anyObject())).andReturn(
             new ArrayList<HostRoleCommand>() {{
               add(command);
             }});
     replay(am);
 
-    HeartBeatHandler handler = heartbeatTestHelper.getHeartBeatHandler(am, aq);
     ServiceComponentHost sch = 
hdfs.getServiceComponent(DATANODE).getServiceComponentHost(DummyHostname1);
 
     Assert.assertEquals(Integer.valueOf(0), 
Integer.valueOf(sch.getProcesses().size()));
@@ -1506,11 +1475,11 @@ public class TestHeartbeatHandler {
 
     ExecutionCommand executionCommand = new ExecutionCommand();
 
-    Map<String, String> hlp = new HashMap<String, String>();
+    Map<String, String> hlp = new HashMap<>();
     hlp.put("custom_command", "SET_KEYTAB");
     executionCommand.setHostLevelParams(hlp);
 
-    Map<String, String> commandparams = new HashMap<String, String>();
+    Map<String, String> commandparams = new HashMap<>();
     commandparams.put(KerberosServerAction.AUTHENTICATED_USER_NAME, "admin");
     commandparams.put(KerberosServerAction.DATA_DIRECTORY, 
createTestKeytabData().getAbsolutePath());
     executionCommand.setCommandParams(commandparams);
@@ -1521,7 +1490,7 @@ public class TestHeartbeatHandler {
         Role.DATANODE, null, null);
 
     ActionManager am = actionManagerTestHelper.getMockActionManager();
-    expect(am.getTasks(anyObject(List.class))).andReturn(
+    expect(am.getTasks(EasyMock.<List<Long>>anyObject())).andReturn(
         new ArrayList<HostRoleCommand>() {{
           add(command);
         }});
@@ -1537,11 +1506,11 @@ public class TestHeartbeatHandler {
 
     ExecutionCommand executionCommand = new ExecutionCommand();
 
-    Map<String, String> hlp = new HashMap<String, String>();
+    Map<String, String> hlp = new HashMap<>();
     hlp.put("custom_command", "REMOVE_KEYTAB");
     executionCommand.setHostLevelParams(hlp);
 
-    Map<String, String> commandparams = new HashMap<String, String>();
+    Map<String, String> commandparams = new HashMap<>();
     commandparams.put(KerberosServerAction.AUTHENTICATED_USER_NAME, "admin");
     commandparams.put(KerberosServerAction.DATA_DIRECTORY, 
createTestKeytabData().getAbsolutePath());
     executionCommand.setCommandParams(commandparams);
@@ -1552,7 +1521,7 @@ public class TestHeartbeatHandler {
         Role.DATANODE, null, null);
 
     ActionManager am = actionManagerTestHelper.getMockActionManager();
-    expect(am.getTasks(anyObject(List.class))).andReturn(
+    expect(am.getTasks(EasyMock.<List<Long>>anyObject())).andReturn(
         new ArrayList<HostRoleCommand>() {{
           add(command);
         }});
@@ -1593,4 +1562,20 @@ public class TestHeartbeatHandler {
     return dataDirectory;
   }
 
-}
+  /**
+   * Adds the service to the cluster using the current cluster version as the
+   * repository version for the service.
+   *
+   * @param cluster
+   *          the cluster.
+   * @param serviceName
+   *          the service name.
+   * @return the newly added service.
+   * @throws AmbariException
+   */
+  private Service addService(Cluster cluster, String serviceName) throws 
AmbariException {
+    RepositoryVersionEntity repositoryVersion = 
helper.getOrCreateRepositoryVersion(cluster);
+    return cluster.addService(serviceName, repositoryVersion);
+  }
+
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ambari/blob/56362fd6/ambari-server/src/test/java/org/apache/ambari/server/agent/TestHeartbeatMonitor.java
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/test/java/org/apache/ambari/server/agent/TestHeartbeatMonitor.java
 
b/ambari-server/src/test/java/org/apache/ambari/server/agent/TestHeartbeatMonitor.java
index 1b9c28b..61e322f 100644
--- 
a/ambari-server/src/test/java/org/apache/ambari/server/agent/TestHeartbeatMonitor.java
+++ 
b/ambari-server/src/test/java/org/apache/ambari/server/agent/TestHeartbeatMonitor.java
@@ -1,4 +1,4 @@
-/**
+/*
  * 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
@@ -41,13 +41,13 @@ import org.apache.ambari.server.api.services.AmbariMetaInfo;
 import org.apache.ambari.server.orm.GuiceJpaInitializer;
 import org.apache.ambari.server.orm.InMemoryDefaultTestModule;
 import org.apache.ambari.server.orm.OrmTestHelper;
+import org.apache.ambari.server.orm.entities.RepositoryVersionEntity;
 import org.apache.ambari.server.state.Cluster;
 import org.apache.ambari.server.state.Clusters;
 import org.apache.ambari.server.state.Config;
 import org.apache.ambari.server.state.ConfigFactory;
 import org.apache.ambari.server.state.Host;
 import org.apache.ambari.server.state.HostState;
-import org.apache.ambari.server.state.RepositoryVersionState;
 import org.apache.ambari.server.state.Service;
 import org.apache.ambari.server.state.ServiceComponent;
 import org.apache.ambari.server.state.ServiceComponentHost;
@@ -74,7 +74,6 @@ public class TestHeartbeatMonitor {
 
   private String hostname1 = "host1";
   private String hostname2 = "host2";
-  private String hostname3 = "host3";
   private String clusterName = "cluster1";
   private String serviceName = "HDFS";
   private int heartbeatMonitorWakeupIntervalMS = 30;
@@ -98,7 +97,7 @@ public class TestHeartbeatMonitor {
   }
 
   private void setOsFamily(Host host, String osFamily, String osVersion) {
-    Map<String, String> hostAttributes = new HashMap<String, String>();
+    Map<String, String> hostAttributes = new HashMap<>();
     hostAttributes.put("os_family", osFamily);
     hostAttributes.put("os_release_version", osVersion);
 
@@ -151,9 +150,10 @@ public class TestHeartbeatMonitor {
     setOsFamily(clusters.getHost(hostname2), "redhat", "6.3");
     clusters.addCluster(clusterName, stackId);
     Cluster cluster = clusters.getCluster(clusterName);
-    helper.getOrCreateRepositoryVersion(stackId, stackId.getStackVersion());
-    cluster.createClusterVersion(stackId, stackId.getStackVersion(), "admin",
-        RepositoryVersionState.INSTALLING);
+
+    RepositoryVersionEntity repositoryVersion = 
helper.getOrCreateRepositoryVersion(stackId,
+        stackId.getStackVersion());
+
     Set<String> hostNames = new HashSet<String>(){{
       add(hostname1);
       add(hostname2);
@@ -166,7 +166,7 @@ public class TestHeartbeatMonitor {
 
 
     clusters.mapAndPublishHostsToCluster(hostNames, clusterName);
-    Service hdfs = cluster.addService(serviceName);
+    Service hdfs = cluster.addService(serviceName, repositoryVersion);
     hdfs.addServiceComponent(Role.DATANODE.name());
     
hdfs.getServiceComponent(Role.DATANODE.name()).addServiceComponentHost(hostname1);
     hdfs.addServiceComponent(Role.NAMENODE.name());
@@ -233,9 +233,9 @@ public class TestHeartbeatMonitor {
     clusters.addCluster(clusterName, stackId);
     Cluster cluster = clusters.getCluster(clusterName);
 
-    helper.getOrCreateRepositoryVersion(stackId, stackId.getStackVersion());
-    cluster.createClusterVersion(stackId, stackId.getStackVersion(), "admin",
-        RepositoryVersionState.INSTALLING);
+    RepositoryVersionEntity repositoryVersion = 
helper.getOrCreateRepositoryVersion(stackId,
+        stackId.getStackVersion());
+
     Set<String> hostNames = new HashSet<String>() {{
       add(hostname1);
       add(hostname2);
@@ -246,6 +246,8 @@ public class TestHeartbeatMonitor {
       new HashMap<String, String>() {{
         put("a", "b");
       }}, new HashMap<String, Map<String,String>>());
+
+
     Config hbaseEnvConfig = configFactory.createNew(cluster, "hbase-env", 
"version1",
             new HashMap<String, String>() {{
               put("a", "b");
@@ -255,7 +257,7 @@ public class TestHeartbeatMonitor {
 
 
     clusters.mapAndPublishHostsToCluster(hostNames, clusterName);
-    Service hdfs = cluster.addService(serviceName);
+    Service hdfs = cluster.addService(serviceName, repositoryVersion);
     hdfs.addServiceComponent(Role.DATANODE.name());
     hdfs.getServiceComponent(Role.DATANODE.name()).addServiceComponentHost
     (hostname1);
@@ -353,9 +355,8 @@ public class TestHeartbeatMonitor {
     clusters.addCluster(clusterName, stackId);
     Cluster cluster = clusters.getCluster(clusterName);
 
-    helper.getOrCreateRepositoryVersion(stackId, stackId.getStackVersion());
-    cluster.createClusterVersion(stackId, stackId.getStackVersion(), "admin",
-        RepositoryVersionState.INSTALLING);
+    RepositoryVersionEntity repositoryVersion = 
helper.getOrCreateRepositoryVersion(stackId,
+        stackId.getStackVersion());
 
     Set<String> hostNames = new HashSet<String>(){{
       add(hostname1);
@@ -363,7 +364,7 @@ public class TestHeartbeatMonitor {
 
     clusters.mapAndPublishHostsToCluster(hostNames, clusterName);
 
-    Service hdfs = cluster.addService(serviceName);
+    Service hdfs = cluster.addService(serviceName, repositoryVersion);
     hdfs.addServiceComponent(Role.DATANODE.name());
     
hdfs.getServiceComponent(Role.DATANODE.name()).addServiceComponentHost(hostname1);
     hdfs.addServiceComponent(Role.NAMENODE.name());
@@ -435,9 +436,8 @@ public class TestHeartbeatMonitor {
     clusters.addCluster(clusterName, stackId);
     Cluster cluster = clusters.getCluster(clusterName);
 
-    helper.getOrCreateRepositoryVersion(stackId, stackId.getStackVersion());
-    cluster.createClusterVersion(stackId, stackId.getStackVersion(), "admin",
-            RepositoryVersionState.INSTALLING);
+    RepositoryVersionEntity repositoryVersion = 
helper.getOrCreateRepositoryVersion(stackId,
+        stackId.getStackVersion());
 
     Set<String> hostNames = new HashSet<String>(){{
       add(hostname1);
@@ -445,7 +445,7 @@ public class TestHeartbeatMonitor {
 
     clusters.mapAndPublishHostsToCluster(hostNames, clusterName);
 
-    Service hdfs = cluster.addService(serviceName);
+    Service hdfs = cluster.addService(serviceName, repositoryVersion);
     hdfs.addServiceComponent(Role.DATANODE.name());
     
hdfs.getServiceComponent(Role.DATANODE.name()).addServiceComponentHost(hostname1);
     hdfs.addServiceComponent(Role.NAMENODE.name());
@@ -553,9 +553,8 @@ public class TestHeartbeatMonitor {
     Cluster cluster = clusters.getCluster(clusterName);
 
     cluster.setDesiredStackVersion(stackId);
-    helper.getOrCreateRepositoryVersion(stackId, stackId.getStackVersion());
-    cluster.createClusterVersion(stackId, stackId.getStackVersion(), "admin",
-        RepositoryVersionState.INSTALLING);
+    RepositoryVersionEntity repositoryVersion = 
helper.getOrCreateRepositoryVersion(stackId,
+        stackId.getStackVersion());
 
     Set<String> hostNames = new HashSet<String>(){{
       add(hostname1);
@@ -564,7 +563,7 @@ public class TestHeartbeatMonitor {
 
     clusters.mapAndPublishHostsToCluster(hostNames, clusterName);
 
-    Service hdfs = cluster.addService(serviceName);
+    Service hdfs = cluster.addService(serviceName, repositoryVersion);
 
     hdfs.addServiceComponent(Role.DATANODE.name());
     
hdfs.getServiceComponent(Role.DATANODE.name()).addServiceComponentHost(hostname1);
@@ -607,4 +606,4 @@ public class TestHeartbeatMonitor {
     cmds = hm.generateStatusCommands(hostname2);
     assertTrue("HeartbeatMonitor should not generate StatusCommands for host2 
because it has no services", cmds.isEmpty());
   }
-}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ambari/blob/56362fd6/ambari-server/src/test/java/org/apache/ambari/server/api/resources/BaseResourceDefinitionTest.java
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/test/java/org/apache/ambari/server/api/resources/BaseResourceDefinitionTest.java
 
b/ambari-server/src/test/java/org/apache/ambari/server/api/resources/BaseResourceDefinitionTest.java
index 7342411..a536da6 100644
--- 
a/ambari-server/src/test/java/org/apache/ambari/server/api/resources/BaseResourceDefinitionTest.java
+++ 
b/ambari-server/src/test/java/org/apache/ambari/server/api/resources/BaseResourceDefinitionTest.java
@@ -1,4 +1,4 @@
-/**
+/*
  * 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
@@ -18,15 +18,23 @@
 
 package org.apache.ambari.server.api.resources;
 
+import static org.easymock.EasyMock.anyObject;
 import static org.easymock.EasyMock.createMock;
 import static org.easymock.EasyMock.createNiceMock;
 import static org.easymock.EasyMock.expect;
 import static org.easymock.EasyMock.replay;
-import static org.easymock.EasyMock.anyObject;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+
 import org.apache.ambari.server.AmbariException;
 import org.apache.ambari.server.api.handlers.BaseManagementHandler;
 import org.apache.ambari.server.api.query.render.DefaultRenderer;
@@ -41,23 +49,14 @@ import 
org.apache.ambari.server.controller.internal.ResourceImpl;
 import org.apache.ambari.server.controller.internal.ServiceResourceProvider;
 import org.apache.ambari.server.controller.spi.Resource;
 import org.apache.ambari.server.controller.spi.ResourceProvider;
-import org.apache.ambari.server.controller.utilities.PropertyHelper;
 import org.apache.ambari.server.events.publishers.AmbariEventPublisher;
+import org.apache.ambari.server.orm.dao.RepositoryVersionDAO;
 import org.apache.ambari.server.state.Service;
 import org.apache.ambari.server.view.ViewRegistry;
 import org.junit.Assert;
 import org.junit.Before;
 import org.junit.Test;
 
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
 /**
  * BaseResourceDefinition tests.
  */
@@ -83,29 +82,30 @@ public class BaseResourceDefinitionTest {
     Resource service = new ResourceImpl(Resource.Type.Service);
     service.setProperty("ServiceInfo/service_name", "Service1");
 
-    TreeNode<Resource> parentNode  = new TreeNodeImpl<Resource>(null, null, 
"services");
-    TreeNode<Resource> serviceNode = new TreeNodeImpl<Resource>(parentNode, 
service, "service1");
+    TreeNode<Resource> parentNode  = new TreeNodeImpl<>(null, null, 
"services");
+    TreeNode<Resource> serviceNode = new TreeNodeImpl<>(parentNode, service, 
"service1");
 
     parentNode.setProperty("isCollection", "true");
-    
+
     ResourceProviderFactory factory = 
createMock(ResourceProviderFactory.class);
     MaintenanceStateHelper maintenanceStateHelper = 
createNiceMock(MaintenanceStateHelper.class);
     AmbariManagementController managementController = 
createMock(AmbariManagementController.class);
+    RepositoryVersionDAO repositoryVersionDAO = 
createNiceMock(RepositoryVersionDAO.class);
+
     
expect(maintenanceStateHelper.isOperationAllowed(anyObject(Resource.Type.class),
             anyObject(Service.class))).andReturn(true).anyTimes();
-    ResourceProvider serviceResourceProvider = new 
ServiceResourceProvider(PropertyHelper
-        .getPropertyIds(Resource.Type.Service),
-        PropertyHelper.getKeyPropertyIds(Resource.Type.Service),
-        managementController, maintenanceStateHelper);
-    
-    expect(factory.getServiceResourceProvider(anyObject(Set.class),
-        anyObject(Map.class),
+
+    ResourceProvider serviceResourceProvider = new 
ServiceResourceProvider(managementController,
+        maintenanceStateHelper, repositoryVersionDAO);
+
+    expect(
+        factory.getServiceResourceProvider(
         
anyObject(AmbariManagementController.class))).andReturn(serviceResourceProvider);
-    
+
     AbstractControllerResourceProvider.init(factory);
-    
+
     replay(factory, managementController, maintenanceStateHelper);
-    
+
     processor.process(null, serviceNode, 
"http://c6401.ambari.apache.org:8080/api/v1/clusters/c1/services";);
 
     String href = serviceNode.getStringProperty("href");
@@ -116,8 +116,8 @@ public class BaseResourceDefinitionTest {
     Resource configGroup = new ResourceImpl(Resource.Type.ConfigGroup);
     configGroup.setProperty("ConfigGroup/id", "2");
 
-    TreeNode<Resource> resourcesNode   = new TreeNodeImpl<Resource>(null, 
null, BaseManagementHandler.RESOURCES_NODE_NAME);
-    TreeNode<Resource> configGroupNode = new 
TreeNodeImpl<Resource>(resourcesNode, configGroup, "configGroup1");
+    TreeNode<Resource> resourcesNode   = new TreeNodeImpl<>(null, null, 
BaseManagementHandler.RESOURCES_NODE_NAME);
+    TreeNode<Resource> configGroupNode = new TreeNodeImpl<>(resourcesNode, 
configGroup, "configGroup1");
 
     resourcesNode.setProperty("isCollection", "true");
 
@@ -148,9 +148,9 @@ public class BaseResourceDefinitionTest {
   public void testReadDirectives() {
     ResourceDefinition resource = getResourceDefinition();
 
-    assertEquals(Collections.EMPTY_SET, resource.getReadDirectives());
+    assertEquals(Collections.emptySet(), resource.getReadDirectives());
 
-    Map<BaseResourceDefinition.DirectiveType, List<String>> directives = new 
HashMap<BaseResourceDefinition.DirectiveType, List<String>>();
+    Map<BaseResourceDefinition.DirectiveType, List<String>> directives = new 
HashMap<>();
     directives.put(BaseResourceDefinition.DirectiveType.DELETE, 
Arrays.asList("do_something_delete", "do_something_else_delete"));
     directives.put(BaseResourceDefinition.DirectiveType.READ, 
Arrays.asList("do_something_get", "do_something_else_get"));
     directives.put(BaseResourceDefinition.DirectiveType.CREATE, 
Arrays.asList("do_something_post", "do_something_else_post"));
@@ -192,4 +192,4 @@ public class BaseResourceDefinitionTest {
       }
     };
   }
-}
+}
\ No newline at end of file

Reply via email to