python-openstackclient/openstackclient/tests/functional/common/test_args.py

80 lines
2.4 KiB
Python

# 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 json
from tempest.lib import exceptions as tempest_exc
from openstackclient.tests.functional import base
class ArgumentTests(base.TestCase):
"""Functional tests for command line arguments"""
def test_default_auth_type(self):
cmd_output = json.loads(self.openstack(
'configuration show -f json',
cloud='',
))
self.assertIsNotNone(cmd_output)
self.assertIn(
'auth_type',
cmd_output.keys(),
)
self.assertEqual(
'password',
cmd_output['auth_type'],
)
def test_auth_type_none(self):
cmd_output = json.loads(self.openstack(
'configuration show -f json',
cloud=None,
))
self.assertIsNotNone(cmd_output)
self.assertIn(
'auth_type',
cmd_output.keys(),
)
self.assertEqual(
'none',
cmd_output['auth_type'],
)
def test_auth_type_token_endpoint_opt(self):
# Make sure token_endpoint is really gone
try:
self.openstack(
'configuration show -f json --os-auth-type token_endpoint',
cloud=None,
)
except tempest_exc.CommandFailed as e:
self.assertIn('--os-auth-type: invalid choice:', str(e))
self.assertIn('token_endpoint', str(e))
else:
self.fail('CommandFailed should be raised')
def test_auth_type_password_opt(self):
cmd_output = json.loads(self.openstack(
'configuration show -f json --os-auth-type password',
cloud=None,
))
self.assertIsNotNone(cmd_output)
self.assertIn(
'auth_type',
cmd_output.keys(),
)
self.assertEqual(
'password',
cmd_output['auth_type'],
)