summaryrefslogtreecommitdiff
path: root/tests/test_shell.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test_shell.py')
-rw-r--r--tests/test_shell.py293
1 files changed, 0 insertions, 293 deletions
diff --git a/tests/test_shell.py b/tests/test_shell.py
deleted file mode 100644
index d0eb5b0d..00000000
--- a/tests/test_shell.py
+++ /dev/null
@@ -1,293 +0,0 @@
-# Copyright 2012-2013 OpenStack, LLC.
-#
-# Licensed under the Apache License, Version 2.0 (the "License"); you may
-# not use this file except in compliance with the License. You may obtain
-# a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.
-#
-
-import mock
-import os
-
-from openstackclient import shell
-from tests import utils
-
-
-DEFAULT_USERNAME = "username"
-DEFAULT_PASSWORD = "password"
-DEFAULT_TENANT_ID = "xxxx-yyyy-zzzz"
-DEFAULT_TENANT_NAME = "tenant"
-DEFAULT_TOKEN = "token"
-DEFAULT_REGION_NAME = "ZZ9_Plural_Z_Alpha"
-DEFAULT_AUTH_URL = "http://127.0.0.1:5000/v2.0/"
-DEFAULT_SERVICE_URL = "http://127.0.0.1:8771/v3.0/"
-
-DEFAULT_COMPUTE_API_VERSION = "2"
-DEFAULT_IDENTITY_API_VERSION = "2.0"
-DEFAULT_IMAGE_API_VERSION = "v2"
-DEFAULT_VOLUME_API_VERSION = "1"
-
-LIB_COMPUTE_API_VERSION = "2"
-LIB_IDENTITY_API_VERSION = "2.0"
-LIB_IMAGE_API_VERSION = "2"
-LIB_VOLUME_API_VERSION = "1"
-
-
-def make_shell():
- """Create a new command shell and mock out some bits."""
- _shell = shell.OpenStackShell()
- _shell.command_manager = mock.Mock()
-
- return _shell
-
-
-def fake_execute(shell, cmd):
- """Pretend to execute shell commands."""
- return shell.run(cmd.split())
-
-
-class TestShell(utils.TestCase):
- def setUp(self):
- super(TestShell, self).setUp()
- patch = "openstackclient.shell.OpenStackShell.run_subcommand"
- self.cmd_patch = mock.patch(patch)
- self.cmd_save = self.cmd_patch.start()
- self.app = mock.Mock("Test Shell")
-
- def tearDown(self):
- super(TestShell, self).tearDown()
- self.cmd_patch.stop()
-
- def _assert_password_auth(self, cmd_options, default_args):
- with mock.patch("openstackclient.shell.OpenStackShell.initialize_app",
- self.app):
- _shell, _cmd = make_shell(), cmd_options + " list tenant"
- fake_execute(_shell, _cmd)
-
- self.app.assert_called_with(["list", "tenant"])
- self.assertEqual(_shell.options.os_auth_url,
- default_args["auth_url"])
- self.assertEqual(_shell.options.os_tenant_id,
- default_args["tenant_id"])
- self.assertEqual(_shell.options.os_tenant_name,
- default_args["tenant_name"])
- self.assertEqual(_shell.options.os_username,
- default_args["username"])
- self.assertEqual(_shell.options.os_password,
- default_args["password"])
- self.assertEqual(_shell.options.os_region_name,
- default_args["region_name"])
-
- def _assert_token_auth(self, cmd_options, default_args):
- with mock.patch("openstackclient.shell.OpenStackShell.initialize_app",
- self.app):
- _shell, _cmd = make_shell(), cmd_options + " list role"
- fake_execute(_shell, _cmd)
-
- self.app.assert_called_with(["list", "role"])
- self.assertEqual(_shell.options.os_token, default_args["os_token"])
- self.assertEqual(_shell.options.os_url, default_args["os_url"])
-
- def _assert_cli(self, cmd_options, default_args):
- with mock.patch("openstackclient.shell.OpenStackShell.initialize_app",
- self.app):
- _shell, _cmd = make_shell(), cmd_options + " list server"
- fake_execute(_shell, _cmd)
-
- self.app.assert_called_with(["list", "server"])
- self.assertEqual(_shell.options.os_compute_api_version,
- default_args["compute_api_version"])
- self.assertEqual(_shell.options.os_identity_api_version,
- default_args["identity_api_version"])
- self.assertEqual(_shell.options.os_image_api_version,
- default_args["image_api_version"])
- self.assertEqual(_shell.options.os_volume_api_version,
- default_args["volume_api_version"])
-
-
-class TestShellHelp(TestShell):
- """Test the deferred help flag"""
- def setUp(self):
- super(TestShellHelp, self).setUp()
- self.orig_env, os.environ = os.environ, {}
-
- def tearDown(self):
- super(TestShellHelp, self).tearDown()
- os.environ = self.orig_env
-
- def test_help_options(self):
- flag = "-h list server"
- kwargs = {
- "deferred_help": True,
- }
- with mock.patch("openstackclient.shell.OpenStackShell.initialize_app",
- self.app):
- _shell, _cmd = make_shell(), flag
- fake_execute(_shell, _cmd)
-
- self.assertEqual(_shell.options.deferred_help,
- kwargs["deferred_help"])
-
-
-class TestShellPasswordAuth(TestShell):
- def setUp(self):
- super(TestShellPasswordAuth, self).setUp()
- self.orig_env, os.environ = os.environ, {}
-
- def tearDown(self):
- super(TestShellPasswordAuth, self).tearDown()
- os.environ = self.orig_env
-
- def test_only_url_flow(self):
- flag = "--os-auth-url " + DEFAULT_AUTH_URL
- kwargs = {
- "auth_url": DEFAULT_AUTH_URL,
- "tenant_id": "",
- "tenant_name": "",
- "username": "",
- "password": "",
- "region_name": ""
- }
- self._assert_password_auth(flag, kwargs)
-
- def test_only_tenant_id_flow(self):
- flag = "--os-tenant-id " + DEFAULT_TENANT_ID
- kwargs = {
- "auth_url": "",
- "tenant_id": DEFAULT_TENANT_ID,
- "tenant_name": "",
- "username": "",
- "password": "",
- "region_name": ""
- }
- self._assert_password_auth(flag, kwargs)
-
- def test_only_tenant_name_flow(self):
- flag = "--os-tenant-name " + DEFAULT_TENANT_NAME
- kwargs = {
- "auth_url": "",
- "tenant_id": "",
- "tenant_name": DEFAULT_TENANT_NAME,
- "username": "",
- "password": "",
- "region_name": ""
- }
- self._assert_password_auth(flag, kwargs)
-
- def test_only_username_flow(self):
- flag = "--os-username " + DEFAULT_USERNAME
- kwargs = {
- "auth_url": "",
- "tenant_id": "",
- "tenant_name": "",
- "username": DEFAULT_USERNAME,
- "password": "",
- "region_name": ""
- }
- self._assert_password_auth(flag, kwargs)
-
- def test_only_password_flow(self):
- flag = "--os-password " + DEFAULT_PASSWORD
- kwargs = {
- "auth_url": "",
- "tenant_id": "",
- "tenant_name": "",
- "username": "",
- "password": DEFAULT_PASSWORD,
- "region_name": ""
- }
- self._assert_password_auth(flag, kwargs)
-
- def test_only_region_name_flow(self):
- flag = "--os-region-name " + DEFAULT_REGION_NAME
- kwargs = {
- "auth_url": "",
- "tenant_id": "",
- "tenant_name": "",
- "username": "",
- "password": "",
- "region_name": DEFAULT_REGION_NAME
- }
- self._assert_password_auth(flag, kwargs)
-
-
-class TestShellTokenAuth(TestShell):
- def setUp(self):
- super(TestShellTokenAuth, self).setUp()
- env = {
- "OS_TOKEN": DEFAULT_TOKEN,
- "OS_URL": DEFAULT_SERVICE_URL,
- }
- self.orig_env, os.environ = os.environ, env.copy()
-
- def tearDown(self):
- super(TestShellTokenAuth, self).tearDown()
- os.environ = self.orig_env
-
- def test_default_auth(self):
- flag = ""
- kwargs = {
- "os_token": DEFAULT_TOKEN,
- "os_url": DEFAULT_SERVICE_URL
- }
- self._assert_token_auth(flag, kwargs)
-
- def test_empty_auth(self):
- os.environ = {}
- flag = ""
- kwargs = {
- "os_token": "",
- "os_url": ""
- }
- self._assert_token_auth(flag, kwargs)
-
-
-class TestShellCli(TestShell):
- def setUp(self):
- super(TestShellCli, self).setUp()
- env = {
- "OS_COMPUTE_API_VERSION": DEFAULT_COMPUTE_API_VERSION,
- "OS_IDENTITY_API_VERSION": DEFAULT_IDENTITY_API_VERSION,
- "OS_IMAGE_API_VERSION": DEFAULT_IMAGE_API_VERSION,
- "OS_VOLUME_API_VERSION": DEFAULT_VOLUME_API_VERSION,
- }
- self.orig_env, os.environ = os.environ, env.copy()
-
- def tearDown(self):
- super(TestShellCli, self).tearDown()
- os.environ = self.orig_env
-
- def test_shell_args(self):
- _shell = make_shell()
- with mock.patch("openstackclient.shell.OpenStackShell.initialize_app",
- self.app):
- fake_execute(_shell, "list user")
- self.app.assert_called_with(["list", "user"])
-
- def test_default_env(self):
- flag = ""
- kwargs = {
- "compute_api_version": DEFAULT_COMPUTE_API_VERSION,
- "identity_api_version": DEFAULT_IDENTITY_API_VERSION,
- "image_api_version": DEFAULT_IMAGE_API_VERSION,
- "volume_api_version": DEFAULT_VOLUME_API_VERSION
- }
- self._assert_cli(flag, kwargs)
-
- def test_empty_env(self):
- os.environ = {}
- flag = ""
- kwargs = {
- "compute_api_version": LIB_COMPUTE_API_VERSION,
- "identity_api_version": LIB_IDENTITY_API_VERSION,
- "image_api_version": LIB_IMAGE_API_VERSION,
- "volume_api_version": LIB_VOLUME_API_VERSION
- }
- self._assert_cli(flag, kwargs)