/*
* Copyright (C) 2006-2016 DLR, Germany
*
* All rights reserved
*
* http://www.rcenvironment.de/
*/
package de.rcenvironment.core.component.workflow;
import java.util.ArrayList;
import java.util.List;
import org.easymock.EasyMock;
import de.rcenvironment.core.communication.common.LogicalNodeId;
import de.rcenvironment.core.component.model.api.ComponentInstallation;
import de.rcenvironment.core.component.model.api.ComponentInterface;
import de.rcenvironment.core.component.model.api.ComponentRevision;
/**
* Factory for {@link ComponentInstallation} instances.
*
* @author Doreen Seider
* @author Robert Mischke
*/
public final class ComponentInstallationMockFactory {
private ComponentInstallationMockFactory() {}
/**
* Creates a {@link ComponentInstallation} instance. This method variant should be preferred over the one taking a node string id for
* better abstraction.
*
* @param identifier component identifier
* @param version component version
* @param nodeId node id the component is installed on
* @return {@link ComponentInstallation} instance
*/
public static ComponentInstallation createComponentInstallationMock(String identifier, String version, LogicalNodeId nodeId) {
return createComponentInstallationMock(identifier, version, nodeId.getLogicalNodeIdString());
}
/**
* Creates a {@link ComponentInstallation} instance.
*
* @param identifier component identifier
* @param version component version
* @param nodeId node id the component is installed on
* @return {@link ComponentInstallation} instance
*/
public static ComponentInstallation createComponentInstallationMock(String identifier, String version, String nodeId) {
ComponentInterface compInterface = EasyMock.createStrictMock(ComponentInterface.class);
EasyMock.expect(compInterface.getIdentifier()).andStubReturn(identifier);
List<String> identifiers = new ArrayList<>();
identifiers.add(identifier);
EasyMock.expect(compInterface.getIdentifiers()).andStubReturn(identifiers);
EasyMock.expect(compInterface.getVersion()).andStubReturn(version);
EasyMock.replay(compInterface);
ComponentRevision compRevision = EasyMock.createStrictMock(ComponentRevision.class);
EasyMock.expect(compRevision.getComponentInterface()).andStubReturn(compInterface);
EasyMock.replay(compRevision);
ComponentInstallation compInstallation = EasyMock.createStrictMock(ComponentInstallation.class);
EasyMock.expect(compInstallation.getComponentRevision()).andStubReturn(compRevision);
EasyMock.expect(compInstallation.getNodeId()).andStubReturn(nodeId);
EasyMock.replay(compInstallation);
return compInstallation;
}
}