summaryrefslogtreecommitdiff
path: root/ceilometerclient/tests
diff options
context:
space:
mode:
Diffstat (limited to 'ceilometerclient/tests')
-rw-r--r--ceilometerclient/tests/unit/v2/test_shell.py43
-rw-r--r--ceilometerclient/tests/v2/test_capabilities.py58
2 files changed, 101 insertions, 0 deletions
diff --git a/ceilometerclient/tests/unit/v2/test_shell.py b/ceilometerclient/tests/unit/v2/test_shell.py
index 84a884b..d60b41b 100644
--- a/ceilometerclient/tests/unit/v2/test_shell.py
+++ b/ceilometerclient/tests/unit/v2/test_shell.py
@@ -27,6 +27,7 @@ from ceilometerclient import shell as base_shell
from ceilometerclient.tests.unit import test_shell
from ceilometerclient.tests.unit import utils
from ceilometerclient.v2 import alarms
+from ceilometerclient.v2 import capabilities
from ceilometerclient.v2 import events
from ceilometerclient.v2 import samples
from ceilometerclient.v2 import shell as ceilometer_shell
@@ -1181,3 +1182,45 @@ class ShellShadowedArgsTest(test_shell.ShellTestBase):
kwargs.get('project_id'))
self.assertEqual('the-user-id-i-want-to-set',
kwargs.get('user_id'))
+
+
+class ShellCapabilityShowTest(utils.BaseTestCase):
+
+ CAPABILITIES = {
+ "alarm_storage": {
+ "storage:production_ready": True
+ },
+ "api": {
+ "alarms:query:complex": True,
+ "alarms:query:simple": True
+ },
+ "event_storage": {
+ "storage:production_ready": True
+ },
+ "storage": {
+ "storage:production_ready": True
+ },
+ }
+
+ def setUp(self):
+ super(ShellCapabilityShowTest, self).setUp()
+ self.cc = mock.Mock()
+ self.args = mock.Mock()
+
+ @mock.patch('sys.stdout', new=six.StringIO())
+ def test_capability_show(self):
+ _cap = capabilities.Capabilities(mock.Mock, self.CAPABILITIES)
+ self.cc.capabilities.get.return_value = _cap
+
+ ceilometer_shell.do_capabilities(self.cc, self.args)
+ self.assertEqual('''\
++---------------+----------------------------------+
+| Property | Value |
++---------------+----------------------------------+
+| alarm_storage | "storage:production_ready": true |
+| api | "alarms:query:complex": true, |
+| | "alarms:query:simple": true |
+| event_storage | "storage:production_ready": true |
+| storage | "storage:production_ready": true |
++---------------+----------------------------------+
+''', sys.stdout.getvalue())
diff --git a/ceilometerclient/tests/v2/test_capabilities.py b/ceilometerclient/tests/v2/test_capabilities.py
new file mode 100644
index 0000000..32468cb
--- /dev/null
+++ b/ceilometerclient/tests/v2/test_capabilities.py
@@ -0,0 +1,58 @@
+# Copyright 2014 Huawei Technologies Co., Ltd.
+#
+# 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 testtools
+
+from ceilometerclient.openstack.common.apiclient import client
+from ceilometerclient.openstack.common.apiclient import fake_client
+from ceilometerclient.v2 import capabilities
+
+
+CAPABILITIES = {
+ "alarm_storage": {
+ "storage:production_ready": True
+ },
+ "api": {
+ "alarms:query:complex": True,
+ "alarms:query:simple": True
+ },
+ "event_storage": {
+ "storage:production_ready": True
+ },
+ "storage": {
+ "storage:production_ready": True
+ },
+}
+
+FIXTURES = {
+ '/v2/capabilities': {
+ 'GET': (
+ {},
+ CAPABILITIES
+ ),
+ },
+}
+
+
+class CapabilitiesManagerTest(testtools.TestCase):
+ def setUp(self):
+ super(CapabilitiesManagerTest, self).setUp()
+ self.http_client = fake_client.FakeHTTPClient(fixtures=FIXTURES)
+ self.api = client.BaseClient(self.http_client)
+ self.mgr = capabilities.CapabilitiesManager(self.api)
+
+ def test_capabilities_get(self):
+ capabilities = self.mgr.get()
+ self.http_client.assert_called('GET', '/v2/capabilities')
+ self.assertEqual(True, capabilities.api['alarms:query:complex'])