package org.ourgrid.acceptance.util.broker; import org.easymock.classextension.EasyMock; import org.ourgrid.acceptance.util.BrokerAcceptanceUtil; import org.ourgrid.broker.BrokerServerModule; import org.ourgrid.broker.communication.receiver.LocalWorkerProviderClientReceiver; import org.ourgrid.common.interfaces.LocalWorkerProvider; import org.ourgrid.common.specification.OurGridSpecificationConstants; import org.ourgrid.common.specification.peer.PeerSpecification; import org.ourgrid.peer.PeerConstants; 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.ContainerID; import br.edu.ufcg.lsd.commune.identification.DeploymentID; import br.edu.ufcg.lsd.commune.testinfra.AcceptanceTestUtil; public class Req_328_Util extends BrokerAcceptanceUtil { public Req_328_Util(ModuleContext context) { super(context); } public DeploymentID createPeerDeploymentID(String peerPublicKey, PeerSpecification peerSpec) { String peerName = peerSpec.getAttribute(OurGridSpecificationConstants.ATT_USERNAME); String peerServer = peerSpec.getAttribute(OurGridSpecificationConstants.ATT_SERVERNAME); DeploymentID peerDeploymentID = new DeploymentID(new ContainerID(peerName, peerServer, PeerConstants.MODULE_NAME, peerPublicKey), PeerConstants.LOCAL_WORKER_PROVIDER); return peerDeploymentID; } /** * @param peerSpec * @param deploymentID * @param peerPublicKey * @param component * @param isAlreadyDown */ public void notifyPeerFailure(PeerSpecification peerSpec, DeploymentID deploymentID, BrokerServerModule component, boolean isAlreadyDown) { //Mock logger CommuneLogger oldLogger = component.getLogger(); CommuneLogger newLogger = EasyMock.createMock(CommuneLogger.class); component.setLogger(newLogger); ObjectDeployment bcOD = getBrokerControlDeployment(component); LocalWorkerProvider lwpMock = EasyMock.createMock(LocalWorkerProvider.class); // Get peer bound object LocalWorkerProviderClientReceiver peerMonitor = getPeerMonitor(component); ObjectDeployment pmOD = getPeerMonitorDeployment(component); AcceptanceTestUtil.setExecutionContext(component, pmOD, bcOD.getDeploymentID().getPublicKey()); if (!isAlreadyDown) { newLogger.debug("Peer with deployment id: [" + deploymentID + "] is DOWN."); } else { newLogger.warn("The Peer Entry with deployment id: [" + deploymentID + "] is already down."); } EasyMock.replay(lwpMock); EasyMock.replay(newLogger); peerMonitor.doNotifyFailure(lwpMock, deploymentID); EasyMock.verify(lwpMock); EasyMock.verify(newLogger); component.setLogger(oldLogger); } }