/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar

« back to all changes in this revision

Viewing changes to bzrlib/plugins/launchpad/test_account.py

  • Committer: Marius Kruger
  • Date: 2010-07-10 21:28:56 UTC
  • mto: (5384.1.1 integration)
  • mto: This revision was merged to the branch mainline in revision 5385.
  • Revision ID: marius.kruger@enerweb.co.za-20100710212856-uq4ji3go0u5se7hx
* Update documentation
* add NEWS

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# Copyright (C) 2007-2010 Canonical Ltd
 
1
# Copyright (C) 2007, 2008 Canonical Ltd
2
2
#
3
3
# This program is free software; you can redistribute it and/or modify
4
4
# it under the terms of the GNU General Public License as published by
16
16
 
17
17
"""Tests for Launchpad user ID management functions."""
18
18
 
19
 
from ... import config
20
 
from ...tests import TestCaseInTempDir, TestCaseWithMemoryTransport
21
 
from . import account
 
19
from cStringIO import StringIO
 
20
 
 
21
from bzrlib import config
 
22
from bzrlib.tests import TestCaseInTempDir, TestCaseWithMemoryTransport
 
23
from bzrlib.plugins.launchpad import account
22
24
 
23
25
 
24
26
class LaunchpadAccountTests(TestCaseInTempDir):
25
27
 
 
28
    def setup_config(self, text):
 
29
        my_config = config.GlobalConfig()
 
30
        config_file = StringIO(text)
 
31
        my_config._get_parser(config_file)
 
32
        return my_config
 
33
 
26
34
    def test_get_lp_login_unconfigured(self):
27
35
        # Test that get_lp_login() returns None if no username has
28
36
        # been configured.
29
 
        my_config = config.MemoryStack(b'')
 
37
        my_config = self.setup_config('')
30
38
        self.assertEqual(None, account.get_lp_login(my_config))
31
39
 
32
40
    def test_get_lp_login(self):
33
41
        # Test that get_lp_login() returns the configured username
34
 
        my_config = config.MemoryStack(
35
 
            b'[DEFAULT]\nlaunchpad_username=test-user\n')
 
42
        my_config = self.setup_config(
 
43
            '[DEFAULT]\nlaunchpad_username=test-user\n')
36
44
        self.assertEqual('test-user', account.get_lp_login(my_config))
37
45
 
38
46
    def test_set_lp_login(self):
39
47
        # Test that set_lp_login() updates the config file.
40
 
        my_config = config.MemoryStack(b'')
41
 
        self.assertEqual(None, my_config.get('launchpad_username'))
 
48
        my_config = self.setup_config('')
 
49
        self.assertEqual(None, my_config.get_user_option('launchpad_username'))
42
50
        account.set_lp_login('test-user', my_config)
43
51
        self.assertEqual(
44
 
            'test-user', my_config.get('launchpad_username'))
 
52
            'test-user', my_config.get_user_option('launchpad_username'))
45
53
 
46
54
    def test_unknown_launchpad_username(self):
47
55
        # Test formatting of UnknownLaunchpadUsername exception
53
61
        # Test formatting of NoRegisteredSSHKeys exception
54
62
        error = account.NoRegisteredSSHKeys(user='test-user')
55
63
        self.assertEqualDiff('The user test-user has not registered any '
56
 
                             'SSH keys with Launchpad.\n'
57
 
                             'See <https://launchpad.net/people/+me>',
58
 
                             str(error))
 
64
            'SSH keys with Launchpad.\n'
 
65
            'See <https://launchpad.net/people/+me>',
 
66
            str(error))
59
67
 
60
68
    def test_set_lp_login_updates_authentication_conf(self):
61
69
        self.assertIs(None, account._get_auth_user())
92
100
        account._set_global_option('bar')
93
101
        e = self.assertRaises(account.MismatchedUsernames,
94
102
                              account.get_lp_login)
95
 
        self.assertEqual('breezy.conf and authentication.conf disagree about'
96
 
                         ' launchpad account name.  Please re-run launchpad-login.', str(e))
 
103
        self.assertEqual('bazaar.conf and authentication.conf disagree about'
 
104
            ' launchpad account name.  Please re-run launchpad-login.', str(e))
97
105
 
98
106
 
99
107
class CheckAccountTests(TestCaseWithMemoryTransport):
101
109
    def test_check_lp_login_valid_user(self):
102
110
        transport = self.get_transport()
103
111
        transport.mkdir('~test-user')
104
 
        transport.put_bytes('~test-user/+sshkeys', b'some keys here')
 
112
        transport.put_bytes('~test-user/+sshkeys', 'some keys here')
105
113
        account.check_lp_login('test-user', transport)
106
114
 
107
115
    def test_check_lp_login_no_user(self):
112
120
    def test_check_lp_login_no_ssh_keys(self):
113
121
        transport = self.get_transport()
114
122
        transport.mkdir('~test-user')
115
 
        transport.put_bytes('~test-user/+sshkeys', b'')
 
123
        transport.put_bytes('~test-user/+sshkeys', '')
116
124
        self.assertRaises(account.NoRegisteredSSHKeys,
117
125
                          account.check_lp_login, 'test-user', transport)