~ubuntu-branches/ubuntu/natty/pysvn/natty

« back to all changes in this revision

Viewing changes to Tests/test_callbacks.py

  • Committer: Bazaar Package Importer
  • Author(s): Matthias Klose
  • Date: 2009-02-23 20:08:08 UTC
  • mfrom: (1.1.11 upstream)
  • Revision ID: james.westby@ubuntu.com-20090223200808-t946skprxzf6vjqx
Tags: 1.6.3-0ubuntu1
New upstream version.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
src_dir='../../Source'
2
2
import os
3
3
if not os.path.exists( os.path.join( src_dir, 'pysvn/__init__.py' ) ):
4
 
    raise 'Hell','Where is the pysvn module? pwd=%s' % os.getcwd()
 
4
    raise RuntimeError('Where is the pysvn module? pwd=%s' % os.getcwd() )
5
5
 
6
6
import sys
7
7
sys.path.insert( 0, src_dir )
8
8
import pysvn
9
9
 
10
10
class Test:
11
 
        def __init__( self ):
12
 
                self.pass_count = 0
13
 
                self.fail_count = 0
14
 
 
15
 
        def test( self ):
16
 
                self.test_1()
17
 
 
18
 
                print 'Info: Passed %d' % self.pass_count
19
 
                if self.fail_count > 0:
20
 
                        print 'Info: FAILED %d' % self.pass_count
21
 
                return self.fail_count == 0
22
 
 
23
 
        def info( self, msg ):
24
 
                print 'Info: %s' % msg
25
 
 
26
 
        def passed( self ):
27
 
                print 'Info: passed'
28
 
                self.pass_count += 1
29
 
 
30
 
        def failed( self, msg ):
31
 
                print 'Error: FAILED %s' % msg
32
 
                self.fail_count += 1
33
 
 
34
 
        def test_1( self ):
35
 
 
36
 
                self.client = pysvn.Client( 'configdir' )
37
 
                self.info( 'Client created' )
38
 
 
39
 
                self.test_1_sub1( 'callback_get_login required' )
40
 
 
41
 
                self.client.callback_get_login = get_login_bad
42
 
                self.test_1_sub1( 'unhandled exception in callback_get_login' )
43
 
 
44
 
                self.client.callback_get_login = get_login_good
45
 
                self.test_1_sub1( 'callback_get_log_message required' )
46
 
 
47
 
                self.client.callback_get_log_message = get_log_message_bad
48
 
                self.test_1_sub1( 'unhandled exception in callback_get_log_message' )
49
 
 
50
 
                self.client.callback_get_log_message = get_log_message_good
51
 
                self.test_1_sub1()
52
 
 
53
 
                self.client.remove( 'http://liara/svn/barrys-test-lib/trunk/fred/testing/bar99.txt' )
54
 
 
55
 
        def test_1_sub1( self, expected=None ):
56
 
                try:
57
 
                        self.info( 'Expecting error %s' % expected )
58
 
                        self.client.copy(
59
 
                                'http://liara/svn/barrys-test-lib/trunk/fred/testing/bar.txt',
60
 
                                'http://liara/svn/barrys-test-lib/trunk/fred/testing/bar99.txt' )
61
 
                except pysvn.ClientError, e:
62
 
                        if expected is None:
63
 
                                self.failed( 'unexpected exception: %s' % e )
64
 
 
65
 
                        if str(e) == expected:
66
 
                                self.passed()
67
 
                        else:
68
 
                                self.failed( 'unexpected exception: %s' % e )
69
 
                        return
70
 
 
71
 
                if expected is not None:
72
 
                        self.failed( 'expected exception' )
73
 
 
 
11
    def __init__( self ):
 
12
        self.pass_count = 0
 
13
        self.fail_count = 0
 
14
 
 
15
    def test( self ):
 
16
        self.test_1()
 
17
 
 
18
        print( 'Info: Passed %d' % self.pass_count )
 
19
        if self.fail_count > 0:
 
20
            print( 'Info: FAILED %d' % self.pass_count )
 
21
 
 
22
        return self.fail_count == 0
 
23
 
 
24
    def info( self, msg ):
 
25
        print( 'Info: %s' % msg )
 
26
 
 
27
    def passed( self ):
 
28
        print( 'Info: passed' )
 
29
        self.pass_count += 1
 
30
 
 
31
    def failed( self, msg ):
 
32
        print( 'Error: FAILED %s' % msg )
 
33
        self.fail_count += 1
 
34
 
 
35
    def test_1( self ):
 
36
 
 
37
        self.client = pysvn.Client( 'configdir' )
 
38
        self.info( 'Client created' )
 
39
 
 
40
        self.test_1_sub1( 'callback_get_login required' )
 
41
 
 
42
        self.client.callback_get_login = get_login_bad
 
43
        self.test_1_sub1( 'unhandled exception in callback_get_login' )
 
44
 
 
45
        self.client.callback_get_login = get_login_good
 
46
        self.test_1_sub1( 'callback_get_log_message required' )
 
47
 
 
48
        self.client.callback_get_log_message = get_log_message_bad
 
49
        self.test_1_sub1( 'unhandled exception in callback_get_log_message' )
 
50
 
 
51
        self.client.callback_get_log_message = get_log_message_good
 
52
        self.test_1_sub1()
 
53
 
 
54
        self.client.remove( 'http://liara/svn/barrys-test-lib/trunk/fred/testing/bar99.txt' )
 
55
 
 
56
    def test_1_sub1( self, expected=None ):
 
57
        try:
 
58
            self.info( 'Expecting error %s' % expected )
 
59
            self.client.copy(
 
60
                'http://liara/svn/barrys-test-lib/trunk/fred/testing/bar.txt',
 
61
                'http://liara/svn/barrys-test-lib/trunk/fred/testing/bar99.txt' )
 
62
        except pysvn.ClientError, e:
 
63
            if expected is None:
 
64
                self.failed( 'unexpected exception: %s' % e )
 
65
 
 
66
            if str(e) == expected:
 
67
                self.passed()
 
68
            else:
 
69
                self.failed( 'unexpected exception: %s' % e )
 
70
            return
 
71
 
 
72
        if expected is not None:
 
73
            self.failed( 'expected exception' )
74
74
 
75
75
 
76
76
 
77
77
def get_login_bad( realm, username, may_save ):
78
 
        # bad because of undefined retcode
79
 
        return retcode, username, password, save
 
78
    # bad because of undefined retcode
 
79
    return retcode, username, password, save
80
80
 
81
81
def get_login_good( realm, username, may_save ):
82
 
        return True, username, 'fred', may_save
 
82
    return True, username, 'fred', may_save
83
83
 
84
84
def get_log_message_bad():
85
 
        # bad because of undefined bad_var
86
 
        return bad_var
 
85
    # bad because of undefined bad_var
 
86
    return bad_var
87
87
 
88
88
def get_log_message_good():
89
 
        return True, 'test_03 reason'
 
89
    return True, 'test_03 reason'
90
90
 
91
91
 
92
92
if __name__ == '__main__':
93
 
        t = Test()
94
 
        if t.test():
95
 
                sys.exit( 0 )
96
 
        else:
97
 
                sys.exit( 1 )
 
93
    t = Test()
 
94
    if t.test():
 
95
        sys.exit( 0 )
 
96
    else:
 
97
        sys.exit( 1 )