python-openstackclient/openstackclient/tests/functional/common/test_help.py
Rui Chen 4d9da2c40a Fix OSC networking commands help errors
OSC networking commands need to authenticate to get
service catalog, then decide to show nova-network or
neutron command help message. Fake token and fake
auth_type in prepare_to_run_command() casue os-cloud-config
use AdminToken auth plugin, but pass all the auth information
(include: username, password and so on) to it, that casue the
class initialization error. Pop the fake token and url, then
try to load auth plugin again to fix the issue.

Change-Id: I8b140f0b0a60681fc2a35a013bb0c84ff8cb9589
Closes-Bug: #1650026
2017-01-22 06:30:31 +00:00

74 lines
3.3 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.
from openstackclient.tests.functional import base
class HelpTests(base.TestCase):
"""Functional tests for openstackclient help output."""
SERVER_COMMANDS = [
('server add security group', 'Add security group to server'),
('server add volume', 'Add volume to server'),
('server backup create', 'Create a server backup image'),
('server create', 'Create a new server'),
('server delete', 'Delete server(s)'),
('server dump create', 'Create a dump file in server(s)'),
('server image create',
'Create a new server disk image from an existing server'),
('server list', 'List servers'),
('server lock',
'Lock server(s). '
'A non-admin user will not be able to execute actions'),
('server migrate', 'Migrate server to different host'),
('server pause', 'Pause server(s)'),
('server reboot', 'Perform a hard or soft server reboot'),
('server rebuild', 'Rebuild server'),
('server remove security group', 'Remove security group from server'),
('server remove volume', 'Remove volume from server'),
('server rescue', 'Put server in rescue mode'),
('server resize', 'Scale server to a new flavor'),
('server resume', 'Resume server(s)'),
('server set', 'Set server properties'),
('server shelve', 'Shelve server(s)'),
('server show', 'Show server details'),
('server ssh', 'SSH to server'),
('server start', 'Start server(s).'),
('server stop', 'Stop server(s).'),
('server suspend', 'Suspend server(s)'),
('server unlock', 'Unlock server(s)'),
('server unpause', 'Unpause server(s)'),
('server unrescue', 'Restore server from rescue mode'),
('server unset', 'Unset server properties'),
('server unshelve', 'Unshelve server(s)')
]
def test_server_commands_main_help(self):
"""Check server commands in main help message."""
raw_output = self.openstack('help')
for command, description in self.SERVER_COMMANDS:
self.assertIn(command, raw_output)
self.assertIn(description, raw_output)
def test_server_only_help(self):
"""Check list of server-related commands only."""
raw_output = self.openstack('help server')
for command in [row[0] for row in self.SERVER_COMMANDS]:
self.assertIn(command, raw_output)
def test_networking_commands_help(self):
"""Check networking related commands in help message."""
raw_output = self.openstack('help network list')
self.assertIn('List networks', raw_output)
raw_output = self.openstack('network create --help')
self.assertIn('Create new network', raw_output)