/* * @@COPYRIGHT@@ */ package com.cosylab.acs.maci.test; import java.net.URI; import java.net.URISyntaxException; import com.cosylab.acs.maci.manager.CURLHelper; import junit.framework.TestCase; import junit.framework.TestSuite; /** * JUnit Test for CURLHelper class. * * @author Matej Sekoranja (matej.sekoranja@cosylab.com) * @version @@VERSION@@ */ public class CURLHelperTest extends TestCase { /** */ public CURLHelperTest(String name) { super(name); } /** */ public static TestSuite suite() { return new TestSuite(CURLHelperTest.class); } /** * Test CURLHelper.createURI() method. */ public void testCreateURI() { try { CURLHelper.createURI(null); fail(); } catch (URISyntaxException usi) { // expected behaviour } try { CURLHelper.createURI(""); fail(); } catch (URISyntaxException usi) { // expected behaviour } // only domain try { URI uri = CURLHelper.createURI("curl://nrao"); assertTrue(uri.getScheme().equals("curl")); assertTrue(uri.getAuthority().equals("nrao")); assertEquals(0, uri.getPath().length()); System.out.println(uri.toString()); } catch (URISyntaxException usi) { fail(usi.getMessage()); } // only name CURL try { URI uri = CURLHelper.createURI("MOUNT1"); assertTrue(uri.getScheme().equals(CURLHelper.CURL_SCHEME)); assertEquals(null, uri.getAuthority()); assertTrue(uri.getPath().equals("/MOUNT1")); System.out.println(uri.toString()); } catch (URISyntaxException usi) { fail(usi.getMessage()); } // simple non-domain CURL try { URI uri = CURLHelper.createURI("curl:///MOUNT1"); assertTrue(uri.getScheme().equals(CURLHelper.CURL_SCHEME)); assertEquals(null, uri.getAuthority()); assertTrue(uri.getPath().equals("/MOUNT1")); System.out.println(uri.toString()); } catch (URISyntaxException usi) { fail(usi.getMessage()); } // complex CURL try { URI uri = CURLHelper.createURI("curl://user@cosylab.com:1208/MOUNT1/SUBDO"); assertTrue(uri.getScheme().equals(CURLHelper.CURL_SCHEME)); assertTrue(uri.getAuthority().equals("user@cosylab.com:1208")); assertEquals(1208, uri.getPort()); assertTrue(uri.getPath().equals("/MOUNT1/SUBDO")); System.out.println(uri.toString()); } catch (URISyntaxException usi) { fail(usi.getMessage()); } // only-name, valid hierachical try { URI uri = CURLHelper.createURI("BUILDING1/FRONTDOOR"); assertTrue(uri.getScheme().equals(CURLHelper.CURL_SCHEME)); assertEquals(null, uri.getAuthority()); assertTrue(uri.getPath().equals("/BUILDING1/FRONTDOOR")); System.out.println(uri.toString()); } catch (URISyntaxException usi) { fail(usi.getMessage()); } // only-name, obsolete hierachical try { URI uri = CURLHelper.createURI("BUILDING1:FRONTDOOR"); assertTrue(uri.getScheme().equals(CURLHelper.CURL_SCHEME)); assertEquals(null, uri.getAuthority()); assertTrue(uri.getPath().equals("/BUILDING1:FRONTDOOR")); System.out.println(uri.toString()); } catch (URISyntaxException usi) { fail(usi.getMessage()); } // only-name, valid hierachical try { URI uri = CURLHelper.createURI("BUILDING1/FRONTDOOR/HANDLE"); assertTrue(uri.getScheme().equals(CURLHelper.CURL_SCHEME)); assertEquals(null, uri.getAuthority()); assertTrue(uri.getPath().equals("/BUILDING1/FRONTDOOR/HANDLE")); System.out.println(uri.toString()); } catch (URISyntaxException usi) { fail(usi.getMessage()); } // only-name, obsolete hierachical try { URI uri = CURLHelper.createURI("BUILDING1:FRONTDOOR:HANDLE"); assertTrue(uri.getScheme().equals(CURLHelper.CURL_SCHEME)); assertEquals(null, uri.getAuthority()); assertTrue(uri.getPath().equals("/BUILDING1:FRONTDOOR:HANDLE")); System.out.println(uri.toString()); } catch (URISyntaxException usi) { fail(usi.getMessage()); } // valid hierachical non-domain CURL try { URI uri = CURLHelper.createURI("curl:///BUILDING1/FRONTDOOR/HANDLE"); assertTrue(uri.getScheme().equals("curl")); assertEquals(null, uri.getAuthority()); assertTrue(uri.getPath().equals("/BUILDING1/FRONTDOOR/HANDLE")); System.out.println(uri.toString()); } catch (URISyntaxException usi) { fail(usi.getMessage()); } // obsolete hierachical non-domain CURL try { URI uri = CURLHelper.createURI("curl:///BUILDING1:FRONTDOOR:HANDLE"); assertTrue(uri.getScheme().equals("curl")); assertEquals(null, uri.getAuthority()); assertTrue(uri.getPath().equals("/BUILDING1:FRONTDOOR:HANDLE")); System.out.println(uri.toString()); } catch (URISyntaxException usi) { fail(usi.getMessage()); } // valid hierachical non-domain CURL try { URI uri = CURLHelper.createURI("curl://nrao/BUILDING1/FRONTDOOR/HANDLE"); assertTrue(uri.getScheme().equals("curl")); assertTrue(uri.getAuthority().equals("nrao")); assertTrue(uri.getPath().equals("/BUILDING1/FRONTDOOR/HANDLE")); System.out.println(uri.toString()); } catch (URISyntaxException usi) { fail(usi.getMessage()); } } }