From 19b039c28ed8fb67632a1271b7ef8989aff237eb Mon Sep 17 00:00:00 2001 From: =?utf8?q?Stephan=20M=C3=BCller?= Date: Thu, 15 Nov 2018 16:59:51 +0100 Subject: [PATCH] mgr/dashboard/qa: Fix ECP creation test MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit The current solution fails on our CI-system as some outputs can have more values and some parameters like 'w' can vary in different environments. As this was only tested before in a vstart cluster environment it worked. Through this commit only the given attributes we know to be there, will be tested. Fixes: https://tracker.ceph.com/issues/37275 Signed-off-by: Stephan Müller --- qa/suites/rados/mgr/tasks/dashboard.yaml | 1 + qa/tasks/mgr/dashboard/helper.py | 7 +++++++ qa/tasks/mgr/dashboard/test_erasure_code_profile.py | 5 ++--- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/qa/suites/rados/mgr/tasks/dashboard.yaml b/qa/suites/rados/mgr/tasks/dashboard.yaml index 6bb4a9a03b2..cda888a6aa8 100644 --- a/qa/suites/rados/mgr/tasks/dashboard.yaml +++ b/qa/suites/rados/mgr/tasks/dashboard.yaml @@ -44,3 +44,4 @@ tasks: - tasks.mgr.dashboard.test_role - tasks.mgr.dashboard.test_settings - tasks.mgr.dashboard.test_user + - tasks.mgr.dashboard.test_erasure_code_profile diff --git a/qa/tasks/mgr/dashboard/helper.py b/qa/tasks/mgr/dashboard/helper.py index 13fc8480b7a..31fe13e742d 100644 --- a/qa/tasks/mgr/dashboard/helper.py +++ b/qa/tasks/mgr/dashboard/helper.py @@ -319,10 +319,17 @@ class DashboardTestCase(MgrTestCase): def reset_session(cls): cls._session = requests.Session() + def assertSubset(self, data, biggerData): + for key, value in data.items(): + self.assertEqual(biggerData[key], value) + def assertJsonBody(self, data): body = self._resp.json() self.assertEqual(body, data) + def assertJsonSubset(self, data): + self.assertSubset(data, self._resp.json()) + def assertSchema(self, data, schema): try: return _validate_json(data, schema) diff --git a/qa/tasks/mgr/dashboard/test_erasure_code_profile.py b/qa/tasks/mgr/dashboard/test_erasure_code_profile.py index 2a9bd2e5a0a..f5f1fd85ef6 100644 --- a/qa/tasks/mgr/dashboard/test_erasure_code_profile.py +++ b/qa/tasks/mgr/dashboard/test_erasure_code_profile.py @@ -47,7 +47,7 @@ class ECPTest(DashboardTestCase): } if 'crush-failure-domain' in default[0]: default_ecp['crush-failure-domain'] = default[0]['crush-failure-domain'] - self.assertEqual(default[0], default_ecp) + self.assertSubset(default_ecp, default[0]) get_data = self._get('/api/erasure_code_profile/default') self.assertEqual(get_data, default[0]) @@ -58,7 +58,7 @@ class ECPTest(DashboardTestCase): self.assertStatus(201) self._get('/api/erasure_code_profile/ecp32') - self.assertJsonBody({ + self.assertJsonSubset({ 'crush-device-class': '', 'crush-failure-domain': 'osd', 'crush-root': 'default', @@ -68,7 +68,6 @@ class ECPTest(DashboardTestCase): 'name': 'ecp32', 'plugin': 'jerasure', 'technique': 'reed_sol_van', - 'w': '8' }) self.assertStatus(200) -- 2.39.5