diff tests/test_urls.py @ 467:3941d73c262e

svnwrappers: override svn+ssh credentials with supplied ones if any svn+ssh URLs are special because the authentication layer is not handled by svn, so they must contain the username to be resolved seamlessly. Until now, credentials supplied from the command line were ignored when rewriting those URLs. Fix that.
author Patrick Mezard <pmezard@gmail.com>
date Sat, 18 Jul 2009 20:44:33 -0500
parents 35993ba9d119
children 037bba1c6736
line wrap: on
line diff
--- a/tests/test_urls.py
+++ b/tests/test_urls.py
@@ -8,24 +8,42 @@ class TestSubversionUrls(test_util.TestB
                          parse_url('file:///var/svn/repo'))
 
     def test_user_url(self):
-        self.assertEqual(('joe', None, 'https://svn.testurl.com/repo'),
-                         parse_url('https://joe@svn.testurl.com/repo'))
+        self.assertEqual(
+            ('joe', None, 'https://svn.testurl.com/repo'),
+            parse_url('https://joe@svn.testurl.com/repo'))
+        self.assertEqual(
+            ('bob', None, 'https://svn.testurl.com/repo'),
+            parse_url('https://joe@svn.testurl.com/repo', 'bob'))
 
     def test_password_url(self):
-        self.assertEqual((None, 't3stpw', 'svn+ssh://svn.testurl.com/repo'),
-                         parse_url('svn+ssh://:t3stpw@svn.testurl.com/repo'))
+        self.assertEqual(
+            (None, 't3stpw', 'svn+ssh://svn.testurl.com/repo'),
+            parse_url('svn+ssh://:t3stpw@svn.testurl.com/repo'))
+        self.assertEqual(
+            (None, '123abc', 'svn+ssh://svn.testurl.com/repo'),
+            parse_url('svn+ssh://:t3stpw@svn.testurl.com/repo', None, '123abc'))
 
     def test_svnssh_preserve_user(self):
         self.assertEqual(
             ('user', 't3stpw', 'svn+ssh://user@svn.testurl.com/repo', ),
             parse_url('svn+ssh://user:t3stpw@svn.testurl.com/repo'))
+        self.assertEqual(
+            ('bob', '123abc', 'svn+ssh://bob@svn.testurl.com/repo', ),
+            parse_url('svn+ssh://user:t3stpw@svn.testurl.com/repo', 'bob', '123abc'))
         self.assertEqual(
             ('user2', None, 'svn+ssh://user2@svn.testurl.com/repo', ),
             parse_url('svn+ssh://user2@svn.testurl.com/repo'))
+        self.assertEqual(
+            ('bob', None, 'svn+ssh://bob@svn.testurl.com/repo', ),
+            parse_url('svn+ssh://user2@svn.testurl.com/repo', 'bob'))
 
     def test_user_password_url(self):
-        self.assertEqual(('joe', 't3stpw', 'https://svn.testurl.com/repo'),
-                         parse_url('https://joe:t3stpw@svn.testurl.com/repo'))
+        self.assertEqual(
+            ('joe', 't3stpw', 'https://svn.testurl.com/repo'),
+            parse_url('https://joe:t3stpw@svn.testurl.com/repo'))
+        self.assertEqual(
+            ('bob', '123abc', 'https://svn.testurl.com/repo'),
+            parse_url('https://joe:t3stpw@svn.testurl.com/repo', 'bob', '123abc'))
 
 
 def suite():