
argparse module had a change [1] in header text denoting optional arguments. The header text now reads "options" instead of "optional arguments" [1] https://docs.python.org/3/whatsnew/3.10.html#argparse Closes-Bug: #2000092 Change-Id: I2d7caa6e3c5a6a493639dc655a6722992540281e
68 lines
2.4 KiB
Python
68 lines
2.4 KiB
Python
# Copyright 2015 Mirantis Inc.
|
|
# All Rights Reserved.
|
|
#
|
|
# 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 re
|
|
|
|
import ddt
|
|
|
|
from manilaclient.tests.functional import base
|
|
|
|
|
|
@ddt.ddt
|
|
class ManilaClientTestCommonReadOnly(base.BaseTestCase):
|
|
|
|
@ddt.data('admin', 'user')
|
|
def test_manila_version(self, role):
|
|
self.clients[role].manila('', flags='--version')
|
|
|
|
@ddt.data('admin', 'user')
|
|
def test_help(self, role):
|
|
help_text = self.clients[role].manila('help')
|
|
lines = help_text.split('\n')
|
|
self.assertFirstLineStartsWith(lines, 'usage: manila')
|
|
|
|
commands = []
|
|
cmds_start = lines.index('Positional arguments:')
|
|
try:
|
|
# TODO(gouthamr): Drop when py3.10 becomes min supported version
|
|
cmds_end = lines.index('Optional arguments:')
|
|
except ValueError:
|
|
cmds_end = lines.index('Options:')
|
|
command_pattern = re.compile(r'^ {4}([a-z0-9\-\_]+)')
|
|
for line in lines[cmds_start:cmds_end]:
|
|
match = command_pattern.match(line)
|
|
if match:
|
|
commands.append(match.group(1))
|
|
commands = set(commands)
|
|
wanted_commands = set((
|
|
'absolute-limits', 'list', 'help', 'quota-show', 'access-list',
|
|
'snapshot-list', 'access-allow', 'access-deny',
|
|
'share-network-list', 'security-service-list'))
|
|
self.assertFalse(wanted_commands - commands)
|
|
|
|
@ddt.data('admin', 'user')
|
|
def test_credentials(self, role):
|
|
self.clients[role].manila('credentials')
|
|
|
|
@ddt.data('admin', 'user')
|
|
def test_list_extensions(self, role):
|
|
roles = self.parser.listing(
|
|
self.clients[role].manila('list-extensions'))
|
|
self.assertTableStruct(roles, ['Name', 'Summary', 'Alias', 'Updated'])
|
|
|
|
@ddt.data('admin', 'user')
|
|
def test_endpoints(self, role):
|
|
self.clients[role].manila('endpoints')
|