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.discoveryservice.DiscoveryServiceComponent;
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.ServiceID;
import br.edu.ufcg.lsd.commune.testinfra.AcceptanceTestUtil;
import br.edu.ufcg.lsd.commune.testinfra.util.TestStub;
public class Req_507_Util extends DiscoveryServiceAcceptanceUtil {
public Req_507_Util(ModuleContext context) {
super(context);
}
public void hereAreDiscoveryServices(DiscoveryServiceComponent component, TestStub dsTestStub, boolean senderIsUnknown,
List<ServiceID> discoveryServicesExpectedList, boolean senderIsDown){
DiscoveryService discoveryService = (DiscoveryService) getDiscoveryServiceProxy();
ObjectDeployment dsOD = getDiscoveryServiceControlDeployment(component);
CommuneLogger logger = component.getLogger();
if ( senderIsUnknown ){
logger.debug("The DS [" + dsTestStub.getDeploymentID().getServiceID() + "] tried to send a Discovery Services List but it does not belong to my network.");
EasyMock.replay(logger);
}
if ( senderIsDown ){
logger.debug("The DS [" + dsTestStub.getDeploymentID().getServiceID() + "] is down.");
EasyMock.replay(logger);
}
AcceptanceTestUtil.setExecutionContext(component, dsOD, dsTestStub.getDeploymentID());
discoveryService.hereAreDiscoveryServices(discoveryServicesExpectedList);
if ( senderIsUnknown || senderIsDown ){
EasyMock.verify(logger);
EasyMock.reset(logger);
}
}
public void hereAreDiscoveryServices(DiscoveryServiceComponent component, TestStub dsTestStub,
boolean senderIsUnknown, List<ServiceID> discoveryServicesExpectedList){
hereAreDiscoveryServices(component, dsTestStub, senderIsUnknown, discoveryServicesExpectedList, false);
}
}