summaryrefslogtreecommitdiff
path: root/bzrlib/plugins/launchpad/test_lp_login.py
diff options
context:
space:
mode:
Diffstat (limited to 'bzrlib/plugins/launchpad/test_lp_login.py')
-rw-r--r--bzrlib/plugins/launchpad/test_lp_login.py58
1 files changed, 58 insertions, 0 deletions
diff --git a/bzrlib/plugins/launchpad/test_lp_login.py b/bzrlib/plugins/launchpad/test_lp_login.py
new file mode 100644
index 0000000..8439fef
--- /dev/null
+++ b/bzrlib/plugins/launchpad/test_lp_login.py
@@ -0,0 +1,58 @@
+# Copyright (C) 2009 Canonical Ltd
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+
+"""Tests for the launchpad-login command."""
+
+from bzrlib.plugins.launchpad import account
+from bzrlib.tests import TestCaseWithTransport
+
+
+class TestLaunchpadLogin(TestCaseWithTransport):
+ """Tests for launchpad-login."""
+
+ def test_login_without_name_when_not_logged_in(self):
+ # lp-login without a 'name' parameter returns the user ID of the
+ # logged in user. If no one is logged in, we tell the user as much.
+ out, err = self.run_bzr(['launchpad-login', '--no-check'], retcode=1)
+ self.assertEqual('No Launchpad user ID configured.\n', out)
+ self.assertEqual('', err)
+
+ def test_login_with_name_sets_login(self):
+ # lp-login with a 'name' parameter sets the Launchpad login.
+ self.run_bzr(['launchpad-login', '--no-check', 'foo'])
+ self.assertEqual('foo', account.get_lp_login())
+
+ def test_login_without_name_when_logged_in(self):
+ # lp-login without a 'name' parameter returns the user ID of the
+ # logged in user.
+ account.set_lp_login('foo')
+ out, err = self.run_bzr(['launchpad-login', '--no-check'])
+ self.assertEqual('foo\n', out)
+ self.assertEqual('', err)
+
+ def test_login_with_name_no_output_by_default(self):
+ # lp-login with a 'name' parameter produces no output by default.
+ out, err = self.run_bzr(['launchpad-login', '--no-check', 'foo'])
+ self.assertEqual('', out)
+ self.assertEqual('', err)
+
+ def test_login_with_name_verbose(self):
+ # lp-login with a 'name' parameter and a verbose flag produces some
+ # information about what Bazaar just did.
+ out, err = self.run_bzr(
+ ['launchpad-login', '-v', '--no-check', 'foo'])
+ self.assertEqual("Launchpad user ID set to 'foo'.\n", out)
+ self.assertEqual('', err)