/* * 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.assertEquals; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; import java.net.URI; import org.junit.After; import org.junit.Before; import org.junit.Test; import de.rcenvironment.core.communication.common.CommunicationException; import de.rcenvironment.core.communication.common.NodeIdentifierTestUtils; import de.rcenvironment.core.communication.common.ResolvableNodeId; import de.rcenvironment.core.communication.fileaccess.api.RemoteFileConnection.FileType; /** * Test for <code>RCEFileURIUtils</code>. * * @author Doreen Seider * @author Robert Mischke (8.0.0 id adaptations) */ public class RCEFileURIUtilsTest { private static final String TEST_INSTANCE_ID = NodeIdentifierTestUtils.createTestInstanceNodeIdString(); private static final String DM_REF = "94jdm2sos0fpk20kd"; /** * Valid URI for file in data management. * * TODO >=8.0.0 wrap this into builder method? */ private static final String RCE_FILE_URI = "rce://" + TEST_INSTANCE_ID + "/" + DM_REF; /** * Common setup. */ @Before public void setup() { NodeIdentifierTestUtils.attachTestNodeIdentifierServiceToCurrentThread(); } /** * Common teardown. */ @After public void teardown() { NodeIdentifierTestUtils.removeTestNodeIdentifierServiceFromCurrentThread(); } /** * Test. * * @throws Exception if the test fails. */ @Test public void testGetPlatformForSuccess() throws Exception { ResolvableNodeId platform = RCEFileURIUtils.getNodeIdentifier(new URI(RCE_FILE_URI)); assertNotNull(platform); } /** * * Test. * * @throws Exception if the test fails. */ @Test public void testGetPlatformForSanity() throws Exception { ResolvableNodeId platform = RCEFileURIUtils.getNodeIdentifier(new URI(RCE_FILE_URI)); assertNotNull(platform); assertTrue(platform.getInstanceNodeIdString().equals(TEST_INSTANCE_ID)); } /** * * Test. * * @throws Exception if the test fails. */ @Test public void testGetForFailure() throws Exception { try { RCEFileURIUtils.getNodeIdentifier(new URI("rce:node-id/server/94jdm2sos0fpk20kd")); fail(); } catch (CommunicationException e) { assertTrue(true); } } /** * * Test. * * @throws Exception if the test fails. */ @Test public void testGetPathForSuccess() throws Exception { String path = RCEFileURIUtils.getPath(new URI(RCE_FILE_URI)); assertNotNull(path); } /** * * Test. * * @throws Exception if the test fails. */ @Test public void testGetPathForSanity() throws Exception { String path = RCEFileURIUtils.getPath(new URI(RCE_FILE_URI)); assertNotNull(path); assertEquals(DM_REF, path); } /** * * Test. * * @throws Exception if the test fails. */ @Test public void testGetPathForFailure() throws Exception { try { RCEFileURIUtils.getPath(new URI("rce:/node-id/server")); fail(); } catch (CommunicationException e) { assertTrue(true); } } /** * * Test. * * @throws Exception if the test fails. */ @Test public void testGetTypeForSuccess() throws Exception { FileType type = RCEFileURIUtils.getType(new URI(RCE_FILE_URI)); assertNotNull(type); } /** * * Test. * * @throws Exception if the test fails. */ @Test public void testGetTypeForSanity() throws Exception { FileType type = RCEFileURIUtils.getType(new URI(RCE_FILE_URI)); assertNotNull(type); assertEquals(FileType.RCE_DM, type); } /** * * Test. * * @throws Exception if the test fails. */ @Test public void testGetTypeForFailure() throws Exception { try { RCEFileURIUtils.getType(new URI("rcee://node-id/server/94jdm2sos0fpk20kd")); fail(); } catch (CommunicationException e) { assertTrue(true); } try { RCEFileURIUtils.getType(new URI("rce/node-id/server/94jdm2sos0fpk20kd")); fail(); } catch (CommunicationException e) { assertTrue(true); } } }