view tests/test_urls.py @ 326:33736e2e25f0

alternate approach for supporting svn schemes for repository paths We now intercept the operations in the local repo class, and handle the relevant operation ourselves. This frees us from wrapping all relevant commands and replicating their functionality. The implementation is incomplete; only one test has been modified to use the standard Mercurial API with the changed URLs. Once changed, those tests will likely reveal bugs or missing features in the new wrappers. Also, new wrappers will be needed for handling conversion flags such as -A/--authormap.
author Dan Villiom Podlaski Christiansen <danchr@gmail.com>
date Thu, 07 May 2009 20:50:53 +0200
parents 2969a20e0eef
children 46e69be8e2c8
line wrap: on
line source

import test_util
import unittest
from svnwrap.svn_swig_wrapper import parse_url

class TestSubversionUrls(test_util.TestBase):
    def test_standard_url(self):
        self.assertEqual((None, None, 'file:///var/svn/repo'),
                         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'))

    def test_password_url(self):
        self.assertEqual((None, 't3stpw', 'svn+ssh://svn.testurl.com/repo'),
                         parse_url('svn+ssh://:t3stpw@svn.testurl.com/repo'))

    def test_user_password_url(self):
        self.assertEqual(('joe', 't3stpw', 'https://svn.testurl.com/repo'),
                         parse_url('https://joe:t3stpw@svn.testurl.com/repo'))


def suite():
    all = [unittest.TestLoader().loadTestsFromTestCase(TestSubversionUrls)]
    return unittest.TestSuite(all)