summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2015-03-10 13:22:43 +0000
committerGerrit Code Review <review@openstack.org>2015-03-10 13:22:43 +0000
commit2858645cefe94e3ab33d95bb255a4e04113c83bc (patch)
tree8638247386931fe0295dc4389c059b846906595d /tests
parent9e09211914aaa33bd8108b03bc7547ba4a92d23b (diff)
parentb47925eda1a674ee2497ec627eee089fbd6e1ac0 (diff)
downloadpython-glanceclient-2858645cefe94e3ab33d95bb255a4e04113c83bc.tar.gz
Merge "Unit tests covering missing username or password"
Diffstat (limited to 'tests')
-rw-r--r--tests/test_shell.py52
1 files changed, 50 insertions, 2 deletions
diff --git a/tests/test_shell.py b/tests/test_shell.py
index 6eb21d2..e961fe2 100644
--- a/tests/test_shell.py
+++ b/tests/test_shell.py
@@ -69,8 +69,8 @@ class ShellTest(utils.TestCase):
auth_plugin = 'keystoneclient.auth.identity.v2.Password'
# Patch os.environ to avoid required auth info
- def make_env(self, exclude=None, fake_env=FAKE_V2_ENV):
- env = dict((k, v) for k, v in fake_env.items() if k != exclude)
+ def make_env(self, exclude=None):
+ env = dict((k, v) for k, v in self.auth_env.items() if k != exclude)
self.useFixture(fixtures.MonkeyPatch('os.environ', env))
def setUp(self):
@@ -300,6 +300,54 @@ class ShellTest(utils.TestCase):
except SystemExit as ex:
self.assertEqual(130, ex.code)
+ @mock.patch('glanceclient.v1.client.Client')
+ def test_auth_plugin_invocation_without_username_with_v1(self, v1_client):
+ self.make_env(exclude='OS_USERNAME')
+ args = 'image-list'
+ glance_shell = openstack_shell.OpenStackImagesShell()
+ self.assertRaises(exc.CommandError, glance_shell.main, args.split())
+
+ @mock.patch('glanceclient.v2.client.Client')
+ def test_auth_plugin_invocation_without_username_with_v2(self, v2_client):
+ self.make_env(exclude='OS_USERNAME')
+ args = '--os-image-api-version 2 image-list'
+ glance_shell = openstack_shell.OpenStackImagesShell()
+ self.assertRaises(exc.CommandError, glance_shell.main, args.split())
+
+ @mock.patch('glanceclient.v1.client.Client')
+ def test_auth_plugin_invocation_without_auth_url_with_v1(self, v1_client):
+ self.make_env(exclude='OS_AUTH_URL')
+ args = 'image-list'
+ glance_shell = openstack_shell.OpenStackImagesShell()
+ self.assertRaises(exc.CommandError, glance_shell.main, args.split())
+
+ @mock.patch('glanceclient.v2.client.Client')
+ def test_auth_plugin_invocation_without_auth_url_with_v2(self, v2_client):
+ self.make_env(exclude='OS_AUTH_URL')
+ args = '--os-image-api-version 2 image-list'
+ glance_shell = openstack_shell.OpenStackImagesShell()
+ self.assertRaises(exc.CommandError, glance_shell.main, args.split())
+
+ @mock.patch('glanceclient.v1.client.Client')
+ def test_auth_plugin_invocation_without_tenant_with_v1(self, v1_client):
+ if 'OS_TENANT_NAME' in os.environ:
+ self.make_env(exclude='OS_TENANT_NAME')
+ if 'OS_PROJECT_ID' in os.environ:
+ self.make_env(exclude='OS_PROJECT_ID')
+ args = 'image-list'
+ glance_shell = openstack_shell.OpenStackImagesShell()
+ self.assertRaises(exc.CommandError, glance_shell.main, args.split())
+
+ @mock.patch('glanceclient.v2.client.Client')
+ def test_auth_plugin_invocation_without_tenant_with_v2(self, v2_client):
+ if 'OS_TENANT_NAME' in os.environ:
+ self.make_env(exclude='OS_TENANT_NAME')
+ if 'OS_PROJECT_ID' in os.environ:
+ self.make_env(exclude='OS_PROJECT_ID')
+ args = '--os-image-api-version 2 image-list'
+ glance_shell = openstack_shell.OpenStackImagesShell()
+ self.assertRaises(exc.CommandError, glance_shell.main, args.split())
+
class ShellTestWithKeystoneV3Auth(ShellTest):
# auth environment to use