aboutsummaryrefslogtreecommitdiffstats
path: root/functest
diff options
context:
space:
mode:
authorCédric Ollivier <cedric.ollivier@orange.com>2019-10-26 15:30:28 +0200
committerCédric Ollivier <cedric.ollivier@orange.com>2020-04-11 11:31:50 +0200
commit4ffbba3d9601595d68f969bae773727bd8d98f0b (patch)
tree5501ba9e8abbe9d01f72c1f0c77eca475309e937 /functest
parent890901c6e7e78cf733c2f765ea631d4980966b5c (diff)
Add healthcheck Horizon tests
It runs TestDashboardBasicOps as proposed by tempest-horizon [1]. It's skipped if DASHBOARD_URL is unset (default). [1] https://opendev.org/openstack/tempest-horizon Change-Id: I1b6b5609412770609f412da4927641588b173ed6 Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com> (cherry picked from commit 7b03643170974d4307e0f630e4c79340df98e06f) (cherry picked from commit 9441711c5a03a7a8c476dcc28e1fbace38b48654)
Diffstat (limited to 'functest')
-rw-r--r--functest/ci/testcases.yaml15
-rw-r--r--functest/opnfv_tests/openstack/tempest/tempest.py15
-rw-r--r--functest/utils/env.py3
3 files changed, 32 insertions, 1 deletions
diff --git a/functest/ci/testcases.yaml b/functest/ci/testcases.yaml
index 7489a1c66..86fd7bd3d 100644
--- a/functest/ci/testcases.yaml
+++ b/functest/ci/testcases.yaml
@@ -163,6 +163,21 @@ tiers:
option:
- '--concurrency=3'
+ -
+ case_name: tempest_horizon
+ project_name: functest
+ criteria: 100
+ blocking: false
+ description: >-
+ This test case runs the Tempest suite proposed by the
+ Horizon project.
+ dependencies:
+ - DASHBOARD_URL: '^(?!\s*$).+'
+ run:
+ name: tempest_horizon
+ args:
+ mode: '^tempest_horizon.'
+
-
name: smoke
order: 1
diff --git a/functest/opnfv_tests/openstack/tempest/tempest.py b/functest/opnfv_tests/openstack/tempest/tempest.py
index 125d1910f..354f3b04d 100644
--- a/functest/opnfv_tests/openstack/tempest/tempest.py
+++ b/functest/opnfv_tests/openstack/tempest/tempest.py
@@ -664,6 +664,21 @@ class TempestScenario(TempestCommon):
return super(TempestScenario, self).run(**kwargs)
+class TempestHorizon(TempestCommon):
+ """Tempest Horizon testcase implementation class."""
+
+ def configure(self, **kwargs):
+ super(TempestHorizon, self).configure(**kwargs)
+ rconfig = configparser.RawConfigParser()
+ rconfig.read(self.conf_file)
+ if not rconfig.has_section('dashboard'):
+ rconfig.add_section('dashboard')
+ rconfig.set('dashboard', 'dashboard_url', env.get('DASHBOARD_URL'))
+ with open(self.conf_file, 'w') as config_file:
+ rconfig.write(config_file)
+ self.backup_tempest_config(self.conf_file, self.res_dir)
+
+
class TempestHeat(TempestCommon):
"""Tempest Heat testcase implementation class."""
diff --git a/functest/utils/env.py b/functest/utils/env.py
index b5a1f69ca..652613c87 100644
--- a/functest/utils/env.py
+++ b/functest/utils/env.py
@@ -38,7 +38,8 @@ INPUTS = {
'BLOCK_MIGRATION': 'False',
'CLEAN_ORPHAN_SECURITY_GROUPS': 'True',
'SKIP_DOWN_HYPERVISORS': 'False',
- 'PUBLIC_ENDPOINT_ONLY': 'False'
+ 'PUBLIC_ENDPOINT_ONLY': 'False',
+ 'DASHBOARD_URL': ''
}