X-Git-Url: http://woldlab.caltech.edu/gitweb/?p=htsworkflow.git;a=blobdiff_plain;f=htsworkflow%2Futil%2Ftest%2Ftest_url.py;fp=htsworkflow%2Futil%2Ftest%2Ftest_url.py;h=979e1441a23a42cb471a8fff78b4c6c8830f99fa;hp=0000000000000000000000000000000000000000;hb=23e4222a5cd431b0a59f78fe8dc618f02425303d;hpb=0be6d8df8447d45048189a9cdf94a2077d68e035 diff --git a/htsworkflow/util/test/test_url.py b/htsworkflow/util/test/test_url.py new file mode 100644 index 0000000..979e144 --- /dev/null +++ b/htsworkflow/util/test/test_url.py @@ -0,0 +1,46 @@ +from unittest2 import TestCase + +from htsworkflow.util.url import normalize_url, parse_ssh_url + +class TestURLUtilities(TestCase): + def test_normalize_url(self): + + self.assertEqual(normalize_url('caltech.edu'), + 'http://caltech.edu') + self.assertEqual(normalize_url('http://caltech.edu'), + 'http://caltech.edu') + self.assertEqual(normalize_url("foo.com/a/b/c/d/e/f.html"), + 'http://foo.com/a/b/c/d/e/f.html') + self.assertEqual(normalize_url("foo.com", "https"), + 'https://foo.com') + self.assertEqual(normalize_url(None), + None) + + def test_parse_ssh_url(self): + + u = parse_ssh_url('me@caltech.edu:/test/path') + self.assertEqual(u.user, 'me') + self.assertEqual(u.host, 'caltech.edu') + self.assertEqual(u.path, '/test/path') + + u = parse_ssh_url('caltech.edu:path@there') + self.assertEqual(u.user, None) + self.assertEqual(u.host, 'caltech.edu') + self.assertEqual(u.path, 'path@there') + + u = parse_ssh_url('caltech.edu:C:/me/@work') + self.assertEqual(u.user, None) + self.assertEqual(u.host, 'caltech.edu') + self.assertEqual(u.path, 'C:/me/@work') + + self.assertRaises(ValueError, parse_ssh_url, 'hello') + +def suite(): + from unittest2 import TestSuite, defaultTestLoader + suite = TestSuite() + suite.addTests(defaultTestLoader.loadTestsFromTestCase(TestURLUtilities)) + return suite + +if __name__ == '__main__': + from unittest2 import main + main(defaultTest="suite")