package org.ourgrid.acceptance.util.discoveryservice; import java.util.List; import org.easymock.classextension.EasyMock; import org.ourgrid.acceptance.util.DiscoveryServiceAcceptanceUtil; import org.ourgrid.common.interfaces.DiscoveryService; import org.ourgrid.common.interfaces.DiscoveryServiceClient; import org.ourgrid.discoveryservice.DiscoveryServiceComponent; import org.ourgrid.discoveryservice.communication.receiver.DiscoveryServiceReceiver; import org.ourgrid.matchers.WorkerProvidersMatcher; import br.edu.ufcg.lsd.commune.container.ObjectDeployment; import br.edu.ufcg.lsd.commune.container.logging.CommuneLogger; import br.edu.ufcg.lsd.commune.context.ModuleContext; import br.edu.ufcg.lsd.commune.testinfra.AcceptanceTestUtil; import br.edu.ufcg.lsd.commune.testinfra.util.TestStub; public class Req_513_Util extends DiscoveryServiceAcceptanceUtil { public Req_513_Util(ModuleContext context) { super(context); } public void dsClientIsUp(DiscoveryServiceComponent component, TestStub dscTestStub, List<TestStub> dsList, List<String> dscServiceIDList, boolean isLogged) { CommuneLogger logger = component.getLogger(); ObjectDeployment dsOD = getDiscoveryServiceControlDeployment(component); DiscoveryServiceReceiver controller = (DiscoveryServiceReceiver) getDiscoveryServiceDeployment(component).getObject(); DiscoveryServiceClient dsc = (DiscoveryServiceClient) dscTestStub.getObject(); AcceptanceTestUtil.publishTestObject(component, dscTestStub.getDeploymentID(), dsc, DiscoveryServiceClient.class); AcceptanceTestUtil.setExecutionContext(component, dsOD, dscTestStub.getDeploymentID()); if ( !isLogged ){ logger.error("The client [" + dscTestStub.getDeploymentID().getContainerID().getUserAtServer() + "] is not logged."); EasyMock.replay(logger); } else if ( dsList != null ){ for ( TestStub dsTestStub : dsList ){ DiscoveryService remoteDS = (DiscoveryService) dsTestStub.getObject(); remoteDS.hereIsRemoteWorkerProviderList(WorkerProvidersMatcher.eqMatcher(dscServiceIDList)); EasyMock.replay(remoteDS); } } controller.dsClientIsUp(dsc, dscTestStub.getDeploymentID()); if ( !isLogged ){ EasyMock.verify(logger); EasyMock.reset(logger); } else if ( dsList != null ){ for ( TestStub dsTestStub : dsList ){ DiscoveryService remoteDS = (DiscoveryService) dsTestStub.getObject(); EasyMock.verify(remoteDS); EasyMock.reset(remoteDS); } } } public void dsClientIsUp(DiscoveryServiceComponent component, TestStub dscTestStub, boolean isLogged) { dsClientIsUp(component, dscTestStub, null, null, isLogged); } }