summaryrefslogtreecommitdiff
path: root/ceilometerclient
diff options
context:
space:
mode:
authorraiesmh08 <raiesmh08@gmail.com>2015-04-14 01:37:17 -0700
committerraiesmh08 <raiesmh08@gmail.com>2015-04-14 01:38:10 -0700
commitf903d68b94ca9ea335dda884d57e92f2e0ebba55 (patch)
tree6b10c7551305eae78dee157457e67beaf51159ce /ceilometerclient
parent36f1eedd2285a1b3ca0a5d0f828d4f41f54c5f25 (diff)
downloadpython-ceilometerclient-f903d68b94ca9ea335dda884d57e92f2e0ebba55.tar.gz
Added missing ceilometer CLI tests
This patch adds following missing Ceilometer CLI tests - 1. help 2. bash completion In addition to this following optional arguments are also verified. 1. --debug It also modifies existing code to check outputs of different tests. Earlier these were uploaded under - https://review.openstack.org/#/c/100190/ Change-Id: I2a00918e4ecbaac7d08f07ebaaa587dde7d8eee5
Diffstat (limited to 'ceilometerclient')
-rw-r--r--ceilometerclient/tests/functional/test_readonly_ceilometer.py47
1 files changed, 42 insertions, 5 deletions
diff --git a/ceilometerclient/tests/functional/test_readonly_ceilometer.py b/ceilometerclient/tests/functional/test_readonly_ceilometer.py
index 1fa9748..7b313f3 100644
--- a/ceilometerclient/tests/functional/test_readonly_ceilometer.py
+++ b/ceilometerclient/tests/functional/test_readonly_ceilometer.py
@@ -11,6 +11,7 @@
# under the License.
from ceilometerclient.tests.functional import base
+import re
class SimpleReadOnlyCeilometerClientTest(base.ClientTestBase):
@@ -22,13 +23,49 @@ class SimpleReadOnlyCeilometerClientTest(base.ClientTestBase):
"""
def test_ceilometer_meter_list(self):
- self.ceilometer('meter-list')
+ result = self.ceilometer('meter-list')
+ meters = self.parser.listing(result)
+ self.assertTableStruct(meters, ['Name', 'Type', 'Unit',
+ 'Resource ID', 'Project ID'])
def test_ceilometer_resource_list(self):
- self.ceilometer('resource-list')
+ result = self.ceilometer('resource-list')
+ resources = self.parser.listing(result)
+ self.assertTableStruct(resources, ['Resource ID', 'Source',
+ 'User ID', 'Project ID'])
- def test_ceilometermeter_alarm_list(self):
- self.ceilometer('alarm-list')
+ def test_ceilometer_alarm_list(self):
+ result = self.ceilometer('alarm-list')
+ alarm = self.parser.listing(result)
+ self.assertTableStruct(alarm, ['Alarm ID', 'Name', 'State',
+ 'Enabled', 'Continuous'])
+
+ def test_admin_help(self):
+ help_text = self.ceilometer('help')
+ lines = help_text.split('\n')
+ self.assertFirstLineStartsWith(lines, 'usage: ceilometer')
+
+ commands = []
+ cmds_start = lines.index('Positional arguments:')
+ cmds_end = lines.index('Optional arguments:')
+ command_pattern = re.compile('^ {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(('alarm-combination-create', 'alarm-create',
+ 'help', 'alarm-delete', 'event-list'))
+ self.assertFalse(wanted_commands - commands)
+
+ def test_ceilometer_bash_completion(self):
+ self.ceilometer('bash-completion')
+
+ # Optional arguments
def test_ceilometer_version(self):
- self.ceilometer('', flags='--version')
+ version = self.ceilometer('', flags='--version', merge_stderr=True)
+ self.assertTrue(re.search('^[0-9.]+', version))
+
+ def test_ceilometer_debug_list(self):
+ self.ceilometer('meter-list', flags='--debug')