63
63
self.assertEqualDiff('The user test-user has not registered any '
64
64
'SSH keys with Launchpad.', str(error))
66
def test_set_lp_login_updates_authentication_conf(self):
67
self.assertEqual([None, None], account._get_auth_user().values())
68
account.set_lp_login('foo')
69
self.assertEqual({'production': 'foo', 'staging': 'foo'},
70
account._get_auth_user())
72
def test_get_lp_login_does_not_update_for_none_user(self):
73
account.get_lp_login()
74
self.assertEqual([None, None], account._get_auth_user().values())
76
def test_get_lp_login_updates_authentication_conf(self):
77
account._set_global_option('foo')
78
self.assertEqual([None, None], account._get_auth_user().values())
79
account.get_lp_login()
80
self.assertEqual({'production': 'foo', 'staging': 'foo'},
81
account._get_auth_user())
83
def test_get_lp_login_leaves_existing_credentials(self):
84
auth = config.AuthenticationConfig()
85
auth.set_credentials('Foo', 'bazaar.launchpad.net', 'foo', 'ssh')
86
auth.set_credentials('Bar', 'bazaar.staging.launchpad.net', 'foo',
88
account._set_global_option('foo')
89
account.get_lp_login()
90
auth = config.AuthenticationConfig()
91
credentials = auth.get_credentials('ssh', 'bazaar.launchpad.net')
92
self.assertEqual('Foo', credentials['name'])
94
def test_get_lp_login_errors_on_mismatch(self):
95
account._set_auth_user('foo')
96
account._set_global_option('bar')
97
e = self.assertRaises(account.MismatchedUsernames,
99
self.assertEqual('bazaar.conf and authentication.conf disagree about'
100
' launchpad account name. Please re-run launchpad-login.', str(e))
67
103
class CheckAccountTests(TestCaseWithMemoryTransport):