1 from unittest import TestCase
3 from htsworkflow.util.url import normalize_url, parse_ssh_url
5 class TestURLUtilities(TestCase):
6 def test_normalize_url(self):
8 self.assertEqual(normalize_url('caltech.edu'),
10 self.assertEqual(normalize_url('http://caltech.edu'),
12 self.assertEqual(normalize_url("foo.com/a/b/c/d/e/f.html"),
13 'http://foo.com/a/b/c/d/e/f.html')
14 self.assertEqual(normalize_url("foo.com", "https"),
16 self.assertEqual(normalize_url(None),
19 def test_parse_ssh_url(self):
21 u = parse_ssh_url('me@caltech.edu:/test/path')
22 self.assertEqual(u.user, 'me')
23 self.assertEqual(u.host, 'caltech.edu')
24 self.assertEqual(u.path, '/test/path')
26 u = parse_ssh_url('caltech.edu:path@there')
27 self.assertEqual(u.user, None)
28 self.assertEqual(u.host, 'caltech.edu')
29 self.assertEqual(u.path, 'path@there')
31 u = parse_ssh_url('caltech.edu:C:/me/@work')
32 self.assertEqual(u.user, None)
33 self.assertEqual(u.host, 'caltech.edu')
34 self.assertEqual(u.path, 'C:/me/@work')
36 self.assertRaises(ValueError, parse_ssh_url, 'hello')
39 from unittest import TestSuite, defaultTestLoader
41 suite.addTests(defaultTestLoader.loadTestsFromTestCase(TestURLUtilities))
44 if __name__ == '__main__':
45 from unittest import main
46 main(defaultTest="suite")