]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mgr/dashboard: Add Teuthology test for `/api/pool/_info` 20865/head
authorSebastian Wagner <sebastian.wagner@suse.com>
Thu, 22 Mar 2018 11:08:18 +0000 (12:08 +0100)
committerSebastian Wagner <sebastian.wagner@suse.com>
Fri, 23 Mar 2018 15:40:18 +0000 (16:40 +0100)
Signed-off-by: Sebastian Wagner <sebastian.wagner@suse.com>
qa/tasks/mgr/dashboard/test_pool.py

index 5e4f2bd7f2a5cac0ddc79978897d788b3e998a07..2b8c7bcd286142be804d2f13d4a47a5770f8f94a 100644 (file)
@@ -3,6 +3,8 @@ from __future__ import absolute_import
 
 import logging
 
+import six
+
 from .helper import DashboardTestCase, authenticate
 
 log = logging.getLogger(__name__)
@@ -138,3 +140,22 @@ class PoolTest(DashboardTestCase):
         }]
         for data in pools:
             self._pool_create(data)
+
+    @authenticate
+    def test_pool_info(self):
+        info_data = self._get("/api/pool/_info")
+        self.assertEqual(set(info_data),
+                         {'pool_names', 'crush_rules_replicated', 'crush_rules_erasure',
+                          'is_all_bluestore', 'compression_algorithms', 'compression_modes'})
+        self.assertTrue(all(isinstance(n, six.string_types) for n in info_data['pool_names']))
+        self.assertTrue(
+            all(isinstance(n, six.string_types) for n in info_data['crush_rules_replicated']))
+        self.assertTrue(
+            all(isinstance(n, six.string_types) for n in info_data['crush_rules_erasure']))
+        self.assertIsInstance(info_data['is_all_bluestore'], bool)
+        self.assertTrue(
+            all(isinstance(n, six.string_types) for n in info_data['compression_algorithms']))
+        self.assertTrue(
+            all(isinstance(n, six.string_types) for n in info_data['compression_modes']))
+
+