package org.ourgrid.acceptance.util.discoveryservice; import org.easymock.classextension.EasyMock; import org.ourgrid.acceptance.util.DiscoveryServiceAcceptanceUtil; import org.ourgrid.common.interfaces.DiscoveryService; import org.ourgrid.discoveryservice.DiscoveryServiceComponent; import org.ourgrid.discoveryservice.communication.receiver.DiscoveryServiceNotificationReceiver; 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.identification.DeploymentID; import br.edu.ufcg.lsd.commune.identification.ServiceID; import br.edu.ufcg.lsd.commune.testinfra.AcceptanceTestUtil; import br.edu.ufcg.lsd.commune.testinfra.util.TestStub; public class Req_515_Util extends DiscoveryServiceAcceptanceUtil { public Req_515_Util(ModuleContext context) { super(context); } public void dsIsDown(DiscoveryServiceComponent component, TestStub dsTestStub){ DiscoveryService localDiscoveryService = (DiscoveryService) getDiscoveryServiceProxy(); DiscoveryServiceNotificationReceiver discoveryService = getDiscoveryServiceNotificationReceiver(); ObjectDeployment dsOD = getDiscoveryServiceControlDeployment(component); DiscoveryService ds = (DiscoveryService) dsTestStub.getObject(); AcceptanceTestUtil.publishTestObject(component, dsTestStub.getDeploymentID(), ds, DiscoveryService.class); AcceptanceTestUtil.setExecutionContext(component, dsOD, dsTestStub.getDeploymentID()); CommuneLogger logger = component.getLogger(); logger.info("The DS [" + dsTestStub.getDeploymentID().getServiceID().toString() + "] has failed."); EasyMock.replay(logger); discoveryService.dsIsDown(localDiscoveryService, dsTestStub.getDeploymentID()); EasyMock.verify(logger); EasyMock.reset(logger); } public void dsNotMemberOfNetworkIsDown(DiscoveryServiceComponent component, ServiceID dsServiceID, boolean hasAlreadyFailed) { TestStub dsTestStub = new TestStub(new DeploymentID(dsServiceID), null); dsNotMemberOfNetworkIsDown(component, dsTestStub, hasAlreadyFailed); } public void dsNotMemberOfNetworkIsDown(DiscoveryServiceComponent component, TestStub dsTestStub, boolean hasAlreadyFailed){ CommuneLogger logger = component.getLogger(); DiscoveryService localDiscoveryService = (DiscoveryService) getDiscoveryServiceProxy(); DiscoveryServiceNotificationReceiver discoveryService = getDiscoveryServiceNotificationReceiver(); if (dsTestStub.getObject() == null) { if (hasAlreadyFailed) { logger.warn("The DS [" + dsTestStub.getDeploymentID().getServiceID().toString() + "] has already failed."); } else{ logger.warn("The DS [" + dsTestStub.getDeploymentID().getServiceID().toString() + "] does not belong to my network."); } } else { ObjectDeployment dsOD = getDiscoveryServiceControlDeployment(component); DiscoveryService ds = (DiscoveryService) dsTestStub.getObject(); AcceptanceTestUtil.publishTestObject(component, dsTestStub.getDeploymentID(), ds, DiscoveryService.class); AcceptanceTestUtil.setExecutionContext(component, dsOD, dsTestStub.getDeploymentID()); logger.warn("The DS [" + dsTestStub.getDeploymentID().getServiceID().toString() + "] does not belong to my network."); } EasyMock.replay(logger); discoveryService.dsIsDown(localDiscoveryService, dsTestStub.getDeploymentID()); EasyMock.verify(logger); EasyMock.reset(logger); } }