Repository: cloudstack
Updated Branches:
  refs/heads/master 22f194b88 -> 6c3c9ea91


Unit tests for HA manager investigate method. Refer to CLOUDSTACK-8666 for the 
code chenges


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

Branch: refs/heads/master
Commit: 6c3c9ea915b486722c6d41491338531254335272
Parents: 22f194b
Author: Koushik Das <[email protected]>
Authored: Mon Jul 27 16:14:19 2015 +0530
Committer: Koushik Das <[email protected]>
Committed: Tue Jul 28 11:22:32 2015 +0530

----------------------------------------------------------------------
 .../ha/HighAvailabilityManagerImplTest.java     | 33 ++++++++++++++++++++
 1 file changed, 33 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/6c3c9ea9/server/test/com/cloud/ha/HighAvailabilityManagerImplTest.java
----------------------------------------------------------------------
diff --git a/server/test/com/cloud/ha/HighAvailabilityManagerImplTest.java 
b/server/test/com/cloud/ha/HighAvailabilityManagerImplTest.java
index e7bb8a5..75a4313 100644
--- a/server/test/com/cloud/ha/HighAvailabilityManagerImplTest.java
+++ b/server/test/com/cloud/ha/HighAvailabilityManagerImplTest.java
@@ -16,8 +16,13 @@
 // under the License.
 package com.cloud.ha;
 
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+
 import java.lang.reflect.Field;
+import java.util.ArrayList;
 import java.util.Arrays;
+import java.util.List;
 
 import javax.inject.Inject;
 
@@ -41,6 +46,7 @@ import com.cloud.dc.dao.HostPodDao;
 import com.cloud.ha.dao.HighAvailabilityDao;
 import com.cloud.host.Host;
 import com.cloud.host.HostVO;
+import com.cloud.host.Status;
 import com.cloud.host.dao.HostDao;
 import com.cloud.hypervisor.Hypervisor.HypervisorType;
 import com.cloud.resource.ResourceManager;
@@ -127,4 +133,31 @@ public class HighAvailabilityManagerImplTest {
         
Mockito.when(_dcDao.findById(Mockito.anyLong())).thenReturn(Mockito.mock(DataCenterVO.class));
         highAvailabilityManager.scheduleRestartForVmsOnHost(hostVO, true);
     }
+
+    @Test
+    public void investigateHostStatusSuccess() {
+        Mockito.when(_hostDao.findById(Mockito.anyLong())).thenReturn(hostVO);
+        // Set the list of investigators, CheckOnAgentInvestigator suffices 
for now
+        Investigator investigator = 
Mockito.mock(CheckOnAgentInvestigator.class);
+        List<Investigator> investigators = new ArrayList<Investigator>();
+        investigators.add(investigator);
+        highAvailabilityManager.setInvestigators(investigators);
+        // Mock isAgentAlive to return host status as Down
+        
Mockito.when(investigator.isAgentAlive(hostVO)).thenReturn(Status.Down);
+
+        assertTrue(highAvailabilityManager.investigate(1l) == Status.Down);
+    }
+
+    @Test
+    public void investigateHostStatusFailure() {
+        Mockito.when(_hostDao.findById(Mockito.anyLong())).thenReturn(hostVO);
+        // Set the list of investigators, CheckOnAgentInvestigator suffices 
for now
+        // Also no need to mock isAgentAlive() as actual implementation 
returns null
+        Investigator investigator = 
Mockito.mock(CheckOnAgentInvestigator.class);
+        List<Investigator> investigators = new ArrayList<Investigator>();
+        investigators.add(investigator);
+        highAvailabilityManager.setInvestigators(investigators);
+
+        assertNull(highAvailabilityManager.investigate(1l));
+    }
 }

Reply via email to