Cluster cluster = createNiceMock(Cluster.class);
Host host1 = createNiceMock(Host.class);
HostHealthStatus healthStatus = createNiceMock(HostHealthStatus.class);
AmbariMetaInfo ambariMetaInfo = createNiceMock(AmbariMetaInfo.class);
StackId stackId = createNiceMock(StackId.class);
ComponentInfo componentInfo = createNiceMock(ComponentInfo.class);
HostResponse hostResponse1 = createNiceMock(HostResponse.class);
List<Host> hosts = new LinkedList<Host>();
hosts.add(host1);
Set<Cluster> clusterSet = new HashSet<Cluster>();
clusterSet.add(cluster);
ServiceComponentHostResponse shr1 = new ServiceComponentHostResponse("Cluster100", "Service100", "Component100", "Host100", "STARTED", "", null, null);
ServiceComponentHostResponse shr2 = new ServiceComponentHostResponse("Cluster100", "Service100", "Component102", "Host100", "INSTALLED", "", null, null);
ServiceComponentHostResponse shr3 = new ServiceComponentHostResponse("Cluster100", "Service100", "Component103", "Host100", "STARTED", "", null, null);
Set<ServiceComponentHostResponse> responses = new HashSet<ServiceComponentHostResponse>();
responses.add(shr1);
responses.add(shr2);
responses.add(shr3);
// set expectations
expect(managementController.getClusters()).andReturn(clusters).anyTimes();
expect(managementController.getAmbariMetaInfo()).andReturn(ambariMetaInfo).anyTimes();
expect(managementController.getHostComponents((Set<ServiceComponentHostRequest>) anyObject())).andReturn(responses).anyTimes();
expect(clusters.getHosts()).andReturn(hosts).anyTimes();
expect(clusters.getCluster("Cluster100")).andReturn(cluster).anyTimes();
expect(clusters.getClustersForHost("Host100")).andReturn(clusterSet).anyTimes();
expect(cluster.getDesiredStackVersion()).andReturn(stackId);
expect(host1.getHostName()).andReturn("Host100").anyTimes();
expect(host1.convertToResponse()).andReturn(hostResponse1);
expect(hostResponse1.getClusterName()).andReturn("Cluster100").anyTimes();
expect(hostResponse1.getHostname()).andReturn("Host100").anyTimes();
expect(hostResponse1.getHealthStatus()).andReturn(healthStatus).anyTimes();
expect(healthStatus.getHealthStatus()).andReturn(HostHealthStatus.HealthStatus.HEALTHY).anyTimes();
expect(healthStatus.getHealthReport()).andReturn("HEALTHY").anyTimes();
expect(ambariMetaInfo.getComponentCategory((String) anyObject(), (String) anyObject(),
(String) anyObject(), (String) anyObject())).andReturn(componentInfo).anyTimes();
expect(componentInfo.getCategory()).andReturn("MASTER").anyTimes();
// replay
replay(managementController, clusters, cluster,
host1,