Back to index

nordugrid-arc-nox  1.1.0~rc6
URLTest.cpp
Go to the documentation of this file.
00001 // -*- indent-tabs-mode: nil -*-
00002 
00003 #include <string>
00004 
00005 #include <cppunit/extensions/HelperMacros.h>
00006 
00007 #include <arc/URL.h>
00008 
00009 class URLTest
00010   : public CppUnit::TestFixture {
00011 
00012   CPPUNIT_TEST_SUITE(URLTest);
00013   CPPUNIT_TEST(TestGsiftpUrl);
00014   CPPUNIT_TEST(TestLdapUrl);
00015   CPPUNIT_TEST(TestHttpUrl);
00016   CPPUNIT_TEST(TestFileUrl);
00017   CPPUNIT_TEST(TestLdapUrl2);
00018   CPPUNIT_TEST(TestOptUrl);
00019   CPPUNIT_TEST(TestFtpUrl);
00020   CPPUNIT_TEST(TestRlsUrl);
00021   CPPUNIT_TEST(TestRlsUrl2);
00022   CPPUNIT_TEST(TestRlsUrl3);
00023   CPPUNIT_TEST(TestLfcUrl);
00024   CPPUNIT_TEST(TestSrmUrl);
00025   CPPUNIT_TEST(TestIP6Url);
00026   CPPUNIT_TEST(TestIP6Url2);
00027   CPPUNIT_TEST(TestIP6Url3);
00028   CPPUNIT_TEST(TestBadUrl);
00029   CPPUNIT_TEST_SUITE_END();
00030 
00031 public:
00032   void setUp();
00033   void tearDown();
00034   void TestGsiftpUrl();
00035   void TestLdapUrl();
00036   void TestHttpUrl();
00037   void TestFileUrl();
00038   void TestLdapUrl2();
00039   void TestOptUrl();
00040   void TestFtpUrl();
00041   void TestRlsUrl();
00042   void TestRlsUrl2();
00043   void TestRlsUrl3();
00044   void TestLfcUrl();
00045   void TestSrmUrl();
00046   void TestIP6Url();
00047   void TestIP6Url2();
00048   void TestIP6Url3();
00049   void TestBadUrl();
00050 
00051 private:
00052   Arc::URL *gsiftpurl, *gsiftpurl2, *ldapurl, *httpurl, *fileurl, *ldapurl2, *opturl, *ftpurl, *rlsurl, *rlsurl2, *rlsurl3, *lfcurl, *srmurl, *ip6url, *ip6url2, *ip6url3;
00053 };
00054 
00055 
00056 void URLTest::setUp() {
00057   gsiftpurl = new Arc::URL("gsiftp://hathi.hep.lu.se/public/test.txt");
00058   gsiftpurl2 = new Arc::URL("gsiftp://hathi.hep.lu.se:2811/public:/test.txt:checksumtype=adler32");
00059   ldapurl = new Arc::URL("ldap://grid.uio.no/o=grid/mds-vo-name=local");
00060   httpurl = new Arc::URL("http://www.nordugrid.org/monitor.php?debug=2&sort=yes");
00061   fileurl = new Arc::URL("file:/home/grid/runtime/TEST-ATLAS-8.0.5");
00062   ldapurl2 = new Arc::URL("ldap://grid.uio.no/mds-vo-name=local, o=grid");
00063   opturl = new Arc::URL("gsiftp://hathi.hep.lu.se;threads=10;autodir=yes/public/test.txt");
00064   ftpurl = new Arc::URL("ftp://user:secret@ftp.nordugrid.org/pub/files/guide.pdf");
00065   rlsurl = new Arc::URL("rls://rls.nordugrid.org/test.txt");
00066   rlsurl2 = new Arc::URL("rls://gsiftp://hagrid.it.uu.se/storage/test.txt|http://www.nordugrid.org/files/test.txt@rls.nordugrid.org/test.txt");
00067   rlsurl3 = new Arc::URL("rls://;exec=yes|gsiftp://hagrid.it.uu.se;threads=10/storage/test.txt|http://www.nordugrid.org;cache=no/files/test.txt@rls.nordugrid.org;readonly=yes/test.txt");
00068   lfcurl = new Arc::URL("lfc://atlaslfc.nordugrid.org;cache=no/grid/atlas/file1:guid=7d36da04-430f-403c-adfb-540b27506cfa:checksumtype=ad:checksumvalue=12345678");
00069   srmurl = new Arc::URL("srm://srm.nordugrid.org/srm/managerv2?SFN=/data/public:/test.txt:checksumtype=adler32");
00070   ip6url = new Arc::URL("ftp://[ffff:eeee:dddd:cccc:aaaa:9999:8888:7777]/path");
00071   ip6url2 = new Arc::URL("ftp://[ffff:eeee:dddd:cccc:aaaa:9999:8888:7777]:2021/path");
00072   ip6url3 = new Arc::URL("ftp://[ffff:eeee:dddd:cccc:aaaa:9999:8888:7777];cache=no/path");
00073 }
00074 
00075 
00076 void URLTest::tearDown() {
00077   delete gsiftpurl;
00078   delete gsiftpurl2;
00079   delete ldapurl;
00080   delete httpurl;
00081   delete fileurl;
00082   delete ldapurl2;
00083   delete opturl;
00084   delete ftpurl;
00085   delete rlsurl;
00086   delete rlsurl2;
00087   delete rlsurl3;
00088   delete lfcurl;
00089   delete srmurl;
00090   delete ip6url;
00091   delete ip6url2;
00092   delete ip6url3;
00093 }
00094 
00095 
00096 void URLTest::TestGsiftpUrl() {
00097   CPPUNIT_ASSERT(*gsiftpurl);
00098   CPPUNIT_ASSERT_EQUAL(std::string("gsiftp"), gsiftpurl->Protocol());
00099   CPPUNIT_ASSERT(gsiftpurl->Username().empty());
00100   CPPUNIT_ASSERT(gsiftpurl->Passwd().empty());
00101   CPPUNIT_ASSERT_EQUAL(std::string("hathi.hep.lu.se"), gsiftpurl->Host());
00102   CPPUNIT_ASSERT_EQUAL(2811, gsiftpurl->Port());
00103   CPPUNIT_ASSERT_EQUAL(std::string("/public/test.txt"), gsiftpurl->Path());
00104   CPPUNIT_ASSERT(gsiftpurl->HTTPOptions().empty());
00105   CPPUNIT_ASSERT(gsiftpurl->Options().empty());
00106   CPPUNIT_ASSERT(gsiftpurl->Locations().empty());
00107   
00108   CPPUNIT_ASSERT(*gsiftpurl2);
00109   CPPUNIT_ASSERT_EQUAL(std::string("gsiftp"), gsiftpurl2->Protocol());
00110   CPPUNIT_ASSERT(gsiftpurl2->Username().empty());
00111   CPPUNIT_ASSERT(gsiftpurl2->Passwd().empty());
00112   CPPUNIT_ASSERT_EQUAL(std::string("hathi.hep.lu.se"), gsiftpurl2->Host());
00113   CPPUNIT_ASSERT_EQUAL(2811, gsiftpurl2->Port());
00114   CPPUNIT_ASSERT_EQUAL(std::string("/public:/test.txt"), gsiftpurl2->Path());
00115   CPPUNIT_ASSERT(gsiftpurl2->HTTPOptions().empty());
00116   CPPUNIT_ASSERT(gsiftpurl2->Options().empty());
00117   CPPUNIT_ASSERT(gsiftpurl2->Locations().empty());
00118   CPPUNIT_ASSERT_EQUAL(std::string("adler32"), gsiftpurl2->MetaDataOption("checksumtype"));
00119 }
00120 
00121 
00122 void URLTest::TestLdapUrl() {
00123   CPPUNIT_ASSERT(*ldapurl);
00124   CPPUNIT_ASSERT_EQUAL(std::string("ldap"), ldapurl->Protocol());
00125   CPPUNIT_ASSERT(ldapurl->Username().empty());
00126   CPPUNIT_ASSERT(ldapurl->Passwd().empty());
00127   CPPUNIT_ASSERT_EQUAL(std::string("grid.uio.no"), ldapurl->Host());
00128   CPPUNIT_ASSERT_EQUAL(389, ldapurl->Port());
00129   CPPUNIT_ASSERT_EQUAL(std::string("mds-vo-name=local, o=grid"), ldapurl->Path());
00130   CPPUNIT_ASSERT(ldapurl->HTTPOptions().empty());
00131   CPPUNIT_ASSERT(ldapurl->Options().empty());
00132   CPPUNIT_ASSERT(ldapurl->Locations().empty());
00133 }
00134 
00135 
00136 void URLTest::TestHttpUrl() {
00137   CPPUNIT_ASSERT(*httpurl);
00138   CPPUNIT_ASSERT_EQUAL(std::string("http"), httpurl->Protocol());
00139   CPPUNIT_ASSERT(httpurl->Username().empty());
00140   CPPUNIT_ASSERT(httpurl->Passwd().empty());
00141   CPPUNIT_ASSERT_EQUAL(std::string("www.nordugrid.org"), httpurl->Host());
00142   CPPUNIT_ASSERT_EQUAL(80, httpurl->Port());
00143   CPPUNIT_ASSERT_EQUAL(std::string("/monitor.php"), httpurl->Path());
00144 
00145   std::map<std::string, std::string> httpmap = httpurl->HTTPOptions();
00146   CPPUNIT_ASSERT_EQUAL((int)httpmap.size(), 2);
00147 
00148   std::map<std::string, std::string>::iterator mapit = httpmap.begin();
00149   CPPUNIT_ASSERT_EQUAL(mapit->first, std::string("debug"));
00150   CPPUNIT_ASSERT_EQUAL(mapit->second, std::string("2"));
00151 
00152   mapit++;
00153   CPPUNIT_ASSERT_EQUAL(mapit->first, std::string("sort"));
00154   CPPUNIT_ASSERT_EQUAL(mapit->second, std::string("yes"));
00155 
00156   CPPUNIT_ASSERT(httpurl->Options().empty());
00157   CPPUNIT_ASSERT(httpurl->Locations().empty());
00158 }
00159 
00160 
00161 void URLTest::TestFileUrl() {
00162   CPPUNIT_ASSERT(*fileurl);
00163   CPPUNIT_ASSERT_EQUAL(std::string("file"), fileurl->Protocol());
00164   CPPUNIT_ASSERT(fileurl->Username().empty());
00165   CPPUNIT_ASSERT(fileurl->Passwd().empty());
00166   CPPUNIT_ASSERT(fileurl->Host().empty());
00167   CPPUNIT_ASSERT_EQUAL(-1, fileurl->Port());
00168   CPPUNIT_ASSERT_EQUAL(std::string("/home/grid/runtime/TEST-ATLAS-8.0.5"), fileurl->Path());
00169   CPPUNIT_ASSERT(fileurl->HTTPOptions().empty());
00170   CPPUNIT_ASSERT(fileurl->Options().empty());
00171   CPPUNIT_ASSERT(fileurl->Locations().empty());
00172 }
00173 
00174 
00175 void URLTest::TestLdapUrl2() {
00176   CPPUNIT_ASSERT(*ldapurl);
00177   CPPUNIT_ASSERT_EQUAL(std::string("ldap"), ldapurl2->Protocol());
00178   CPPUNIT_ASSERT(ldapurl2->Username().empty());
00179   CPPUNIT_ASSERT(ldapurl2->Passwd().empty());
00180   CPPUNIT_ASSERT_EQUAL(std::string("grid.uio.no"), ldapurl2->Host());
00181   CPPUNIT_ASSERT_EQUAL(389, ldapurl2->Port());
00182   CPPUNIT_ASSERT_EQUAL(std::string("mds-vo-name=local, o=grid"), ldapurl2->Path());
00183   CPPUNIT_ASSERT(ldapurl2->HTTPOptions().empty());
00184   CPPUNIT_ASSERT(ldapurl2->Options().empty());
00185   CPPUNIT_ASSERT(ldapurl2->Locations().empty());
00186 }
00187 
00188 
00189 void URLTest::TestOptUrl() {
00190   CPPUNIT_ASSERT(*opturl);
00191   CPPUNIT_ASSERT_EQUAL(std::string("gsiftp"), opturl->Protocol());
00192   CPPUNIT_ASSERT(opturl->Username().empty());
00193   CPPUNIT_ASSERT(opturl->Passwd().empty());
00194   CPPUNIT_ASSERT_EQUAL(std::string("hathi.hep.lu.se"), opturl->Host());
00195   CPPUNIT_ASSERT_EQUAL(2811, opturl->Port());
00196   CPPUNIT_ASSERT_EQUAL(std::string("/public/test.txt"), opturl->Path());
00197   CPPUNIT_ASSERT(opturl->HTTPOptions().empty());
00198   CPPUNIT_ASSERT(opturl->Locations().empty());
00199 
00200   std::map<std::string, std::string> options = opturl->Options();
00201   CPPUNIT_ASSERT_EQUAL(2, (int)options.size());
00202 
00203   std::map<std::string, std::string>::iterator mapit = options.begin();
00204   CPPUNIT_ASSERT_EQUAL(std::string("autodir"), mapit->first);
00205   CPPUNIT_ASSERT_EQUAL(std::string("yes"), mapit->second);
00206 
00207   mapit++;
00208   CPPUNIT_ASSERT_EQUAL(std::string("threads"), mapit->first);
00209   CPPUNIT_ASSERT_EQUAL(std::string("10"), mapit->second);
00210 }
00211 
00212 
00213 void URLTest::TestFtpUrl() {
00214   CPPUNIT_ASSERT(*ftpurl);
00215   CPPUNIT_ASSERT_EQUAL(std::string("ftp"), ftpurl->Protocol());
00216   CPPUNIT_ASSERT_EQUAL(std::string("user"), ftpurl->Username());
00217   CPPUNIT_ASSERT_EQUAL(std::string("secret"), ftpurl->Passwd());
00218   CPPUNIT_ASSERT_EQUAL(std::string("ftp.nordugrid.org"), ftpurl->Host());
00219   CPPUNIT_ASSERT_EQUAL(21, ftpurl->Port());
00220   CPPUNIT_ASSERT_EQUAL(std::string("/pub/files/guide.pdf"), ftpurl->Path());
00221   CPPUNIT_ASSERT(ftpurl->HTTPOptions().empty());
00222   CPPUNIT_ASSERT(ftpurl->Options().empty());
00223   CPPUNIT_ASSERT(ftpurl->Locations().empty());
00224 }
00225 
00226 
00227 void URLTest::TestRlsUrl() {
00228   CPPUNIT_ASSERT(*rlsurl);
00229   CPPUNIT_ASSERT_EQUAL(std::string("rls"), rlsurl->Protocol());
00230   CPPUNIT_ASSERT(rlsurl->Username().empty());
00231   CPPUNIT_ASSERT(rlsurl->Passwd().empty());
00232   CPPUNIT_ASSERT_EQUAL(std::string("rls.nordugrid.org"), rlsurl->Host());
00233   CPPUNIT_ASSERT_EQUAL(39281, rlsurl->Port());
00234   CPPUNIT_ASSERT_EQUAL(std::string("/test.txt"), rlsurl->Path());
00235   CPPUNIT_ASSERT(rlsurl->HTTPOptions().empty());
00236   CPPUNIT_ASSERT(rlsurl->Options().empty());
00237   CPPUNIT_ASSERT(rlsurl->Locations().empty());
00238 }
00239 
00240 
00241 void URLTest::TestRlsUrl2() {
00242   CPPUNIT_ASSERT(*rlsurl2);
00243   CPPUNIT_ASSERT_EQUAL(std::string("rls"), rlsurl2->Protocol());
00244   CPPUNIT_ASSERT(rlsurl2->Username().empty());
00245   CPPUNIT_ASSERT(rlsurl2->Passwd().empty());
00246   CPPUNIT_ASSERT_EQUAL(std::string("rls.nordugrid.org"), rlsurl2->Host());
00247   CPPUNIT_ASSERT_EQUAL(39281, rlsurl2->Port());
00248   CPPUNIT_ASSERT_EQUAL(std::string("/test.txt"), rlsurl2->Path());
00249   CPPUNIT_ASSERT(rlsurl2->HTTPOptions().empty());
00250   CPPUNIT_ASSERT(rlsurl2->Options().empty());
00251 
00252   std::list<Arc::URLLocation> locations = rlsurl2->Locations();
00253   CPPUNIT_ASSERT_EQUAL(2, (int)locations.size());
00254 
00255   std::list<Arc::URLLocation>::iterator urlit = locations.begin();
00256   CPPUNIT_ASSERT_EQUAL(std::string("gsiftp://hagrid.it.uu.se:2811/storage/test.txt"), urlit->str());
00257 
00258   urlit++;
00259   CPPUNIT_ASSERT_EQUAL(std::string("http://www.nordugrid.org:80/files/test.txt"), urlit->str());
00260 }
00261 
00262 
00263 void URLTest::TestRlsUrl3() {
00264   CPPUNIT_ASSERT(*rlsurl3);
00265   CPPUNIT_ASSERT_EQUAL(std::string("rls"), rlsurl3->Protocol());
00266   CPPUNIT_ASSERT(rlsurl3->Username().empty());
00267   CPPUNIT_ASSERT(rlsurl3->Passwd().empty());
00268   CPPUNIT_ASSERT_EQUAL(std::string("rls.nordugrid.org"), rlsurl3->Host());
00269   CPPUNIT_ASSERT_EQUAL(39281, rlsurl3->Port());
00270   CPPUNIT_ASSERT_EQUAL(std::string("/test.txt"), rlsurl3->Path());
00271   CPPUNIT_ASSERT(rlsurl3->HTTPOptions().empty());
00272 
00273   std::map<std::string, std::string> options = rlsurl3->Options();
00274   CPPUNIT_ASSERT_EQUAL((int)options.size(), 1);
00275 
00276   std::map<std::string, std::string>::iterator mapit = options.begin();
00277   CPPUNIT_ASSERT_EQUAL(mapit->first, std::string("readonly"));
00278   CPPUNIT_ASSERT_EQUAL(mapit->second, std::string("yes"));
00279 
00280   options = rlsurl3->CommonLocOptions();
00281   CPPUNIT_ASSERT_EQUAL((int)options.size(), 1);
00282 
00283   mapit = options.begin();
00284   CPPUNIT_ASSERT_EQUAL(mapit->first, std::string("exec"));
00285   CPPUNIT_ASSERT_EQUAL(mapit->second, std::string("yes"));
00286 
00287   std::list<Arc::URLLocation> locations = rlsurl3->Locations();
00288   CPPUNIT_ASSERT_EQUAL(2, (int)locations.size());
00289 
00290   std::list<Arc::URLLocation>::iterator urlit = locations.begin();
00291   CPPUNIT_ASSERT_EQUAL(std::string("gsiftp://hagrid.it.uu.se:2811;threads=10/storage/test.txt"), urlit->fullstr());
00292 
00293   urlit++;
00294   CPPUNIT_ASSERT_EQUAL(std::string("http://www.nordugrid.org:80;cache=no/files/test.txt"), urlit->fullstr());
00295 }
00296 
00297 void URLTest::TestLfcUrl() {
00298   CPPUNIT_ASSERT(*lfcurl);
00299   CPPUNIT_ASSERT_EQUAL(std::string("lfc"), lfcurl->Protocol());
00300   CPPUNIT_ASSERT(lfcurl->Username().empty());
00301   CPPUNIT_ASSERT(lfcurl->Passwd().empty());
00302   CPPUNIT_ASSERT_EQUAL(std::string("atlaslfc.nordugrid.org"), lfcurl->Host());
00303   CPPUNIT_ASSERT_EQUAL(5010, lfcurl->Port());
00304   CPPUNIT_ASSERT_EQUAL(std::string("/grid/atlas/file1"), lfcurl->Path());
00305   CPPUNIT_ASSERT(lfcurl->HTTPOptions().empty());
00306 
00307   std::map<std::string, std::string> options = lfcurl->Options();
00308   CPPUNIT_ASSERT_EQUAL(1, (int)options.size());
00309 
00310   std::map<std::string, std::string>::iterator mapit = options.begin();
00311   CPPUNIT_ASSERT_EQUAL(std::string("cache"), mapit->first);
00312   CPPUNIT_ASSERT_EQUAL(std::string("no"), mapit->second);
00313 
00314   CPPUNIT_ASSERT(lfcurl->CommonLocOptions().empty());
00315 
00316   CPPUNIT_ASSERT(lfcurl->Locations().empty());
00317 
00318   CPPUNIT_ASSERT_EQUAL(3, (int)lfcurl->MetaDataOptions().size());
00319   CPPUNIT_ASSERT_EQUAL(std::string("7d36da04-430f-403c-adfb-540b27506cfa"), lfcurl->MetaDataOption("guid"));
00320   CPPUNIT_ASSERT_EQUAL(std::string("ad"), lfcurl->MetaDataOption("checksumtype"));
00321   CPPUNIT_ASSERT_EQUAL(std::string("12345678"), lfcurl->MetaDataOption("checksumvalue"));
00322   CPPUNIT_ASSERT_EQUAL(std::string("lfc://atlaslfc.nordugrid.org:5010;cache=no/grid/atlas/file1:checksumtype=ad:checksumvalue=12345678:guid=7d36da04-430f-403c-adfb-540b27506cfa"), lfcurl->fullstr());
00323 }
00324 
00325 void URLTest::TestSrmUrl() {
00326   CPPUNIT_ASSERT(*srmurl);
00327   CPPUNIT_ASSERT_EQUAL(std::string("srm"), srmurl->Protocol());
00328   CPPUNIT_ASSERT(srmurl->Username().empty());
00329   CPPUNIT_ASSERT(srmurl->Passwd().empty());
00330   CPPUNIT_ASSERT_EQUAL(std::string("srm.nordugrid.org"), srmurl->Host());
00331   CPPUNIT_ASSERT_EQUAL(8443, srmurl->Port());
00332   CPPUNIT_ASSERT_EQUAL(std::string("/srm/managerv2"), srmurl->Path());
00333   CPPUNIT_ASSERT_EQUAL(std::string("/data/public:/test.txt"), srmurl->HTTPOption("SFN"));
00334   CPPUNIT_ASSERT(srmurl->Options().empty());
00335   CPPUNIT_ASSERT(srmurl->Locations().empty());
00336   CPPUNIT_ASSERT_EQUAL(std::string("adler32"), srmurl->MetaDataOption("checksumtype"));
00337 }
00338 
00339 
00340 void URLTest::TestIP6Url() {
00341   CPPUNIT_ASSERT(*ip6url);
00342   CPPUNIT_ASSERT_EQUAL(std::string("ftp"), ip6url->Protocol());
00343   CPPUNIT_ASSERT_EQUAL(std::string("ffff:eeee:dddd:cccc:aaaa:9999:8888:7777"), ip6url->Host());
00344   CPPUNIT_ASSERT_EQUAL(21, ip6url->Port());
00345   CPPUNIT_ASSERT_EQUAL(std::string("/path"), ip6url->Path());
00346   CPPUNIT_ASSERT(ip6url->Options().empty());
00347 }
00348 
00349 
00350 void URLTest::TestIP6Url2() {
00351   CPPUNIT_ASSERT(*ip6url2);
00352   CPPUNIT_ASSERT_EQUAL(std::string("ftp"), ip6url2->Protocol());
00353   CPPUNIT_ASSERT_EQUAL(std::string("ffff:eeee:dddd:cccc:aaaa:9999:8888:7777"), ip6url2->Host());
00354   CPPUNIT_ASSERT_EQUAL(2021, ip6url2->Port());
00355   CPPUNIT_ASSERT_EQUAL(std::string("/path"), ip6url2->Path());
00356   CPPUNIT_ASSERT(ip6url2->Options().empty());
00357 }
00358 
00359 
00360 void URLTest::TestIP6Url3() {
00361   CPPUNIT_ASSERT(*ip6url3);
00362   CPPUNIT_ASSERT_EQUAL(std::string("ftp"), ip6url3->Protocol());
00363   CPPUNIT_ASSERT_EQUAL(std::string("ffff:eeee:dddd:cccc:aaaa:9999:8888:7777"), ip6url3->Host());
00364   CPPUNIT_ASSERT_EQUAL(21, ip6url3->Port());
00365   CPPUNIT_ASSERT_EQUAL(std::string("/path"), ip6url3->Path());
00366   CPPUNIT_ASSERT_EQUAL(1, (int)(ip6url3->Options().size()));
00367   std::map<std::string,std::string> options = ip6url3->Options();
00368   CPPUNIT_ASSERT_EQUAL(std::string("no"), options["cache"]);
00369   CPPUNIT_ASSERT_EQUAL(std::string("ftp://[ffff:eeee:dddd:cccc:aaaa:9999:8888:7777]:21;cache=no/path"), ip6url3->fullstr());
00370 }
00371 
00372 
00373 void URLTest::TestBadUrl() {
00374   Arc::URL *url = new Arc::URL("");
00375   CPPUNIT_ASSERT(!(*url));
00376   url = new Arc::URL("#url");
00377   CPPUNIT_ASSERT(!(*url));
00378   url = new Arc::URL("arc:file1");
00379   CPPUNIT_ASSERT(!(*url));
00380   url = new Arc::URL("http:/file1");
00381   CPPUNIT_ASSERT(!(*url));
00382   delete url;    
00383 }
00384 
00385 CPPUNIT_TEST_SUITE_REGISTRATION(URLTest);