/*
* Copyright (C) 2006-2016 DLR, Germany
*
* All rights reserved
*
* http://www.rcenvironment.de/
*/
package de.rcenvironment.core.communication.file.service.legacy.internal;
import static org.junit.Assert.assertNotNull;
import java.net.URI;
import java.util.UUID;
import org.easymock.EasyMock;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.osgi.framework.BundleContext;
import de.rcenvironment.core.communication.api.CommunicationService;
import de.rcenvironment.core.communication.common.InstanceNodeId;
import de.rcenvironment.core.communication.common.NodeIdentifierTestUtils;
import de.rcenvironment.core.communication.common.ResolvableNodeId;
import de.rcenvironment.core.communication.file.service.legacy.api.RemotableFileStreamAccessService;
import de.rcenvironment.core.communication.fileaccess.api.RemoteFileConnection;
import de.rcenvironment.core.communication.testutils.CommunicationServiceDefaultStub;
/**
* Test cases for {@link ServiceRemoteFileConnectionFactory}.
*
* @author Doreen Seider
* @author Robert Mischke (8.0.0 id adaptations)
*/
@Deprecated
public class ServiceRemoteFileConnectionFactoryTest {
private final UUID dmUuid = UUID.randomUUID();
private final InstanceNodeId instanceId = NodeIdentifierTestUtils.createTestInstanceNodeId();
private final String instanceIdString = instanceId.getInstanceNodeIdString();
// TODO review/encapsulate
private final String uri = "rce://" + instanceIdString + "/" + dmUuid + "/7";
private ServiceRemoteFileConnectionFactory factory;
/**
* Set up.
*
* @throws Exception if an error occurred.
*/
@Before
public void setUp() throws Exception {
NodeIdentifierTestUtils.attachTestNodeIdentifierServiceToCurrentThread();
factory = new ServiceRemoteFileConnectionFactory();
factory.bindCommunicationService(new DummyCommunicationService());
factory.activate(EasyMock.createNiceMock(BundleContext.class));
}
/**
* Common teardown.
*/
@After
public void teardown() {
NodeIdentifierTestUtils.removeTestNodeIdentifierServiceFromCurrentThread();
}
/**
* Test.
*
* @throws Exception if the test fails.
*/
@Test
public void defaultTest() throws Exception {
RemoteFileConnection conncetion = factory.createRemoteFileConnection(new URI(uri));
assertNotNull(conncetion);
}
/**
* Dummy {@link CommunicationService} implementation.
*
* @author Doreen Seider
* @author Robert Mischke (8.0.0 id adaptations)
*/
private class DummyCommunicationService extends CommunicationServiceDefaultStub {
@SuppressWarnings("unchecked")
@Override
public <T> T getRemotableService(Class<T> iface, ResolvableNodeId nodeId2) throws IllegalStateException {
// TODO recheck nodeId condition; changed during PlatformIdentifier elimination
if (nodeId2.isSameInstanceNodeAs(instanceId) && iface == RemotableFileStreamAccessService.class) {
return (T) EasyMock.createNiceMock(RemotableFileStreamAccessService.class);
}
return null;
}
}
}