summaryrefslogtreecommitdiffstats
path: root/functest/tests/unit/openstack/rally/test_rally.py
diff options
context:
space:
mode:
Diffstat (limited to 'functest/tests/unit/openstack/rally/test_rally.py')
-rw-r--r--functest/tests/unit/openstack/rally/test_rally.py24
1 files changed, 24 insertions, 0 deletions
diff --git a/functest/tests/unit/openstack/rally/test_rally.py b/functest/tests/unit/openstack/rally/test_rally.py
index bd691b8ab..fa307be24 100644
--- a/functest/tests/unit/openstack/rally/test_rally.py
+++ b/functest/tests/unit/openstack/rally/test_rally.py
@@ -10,6 +10,7 @@
import json
import logging
import os
+import subprocess
import unittest
import mock
@@ -17,6 +18,7 @@ import munch
from xtesting.core import testcase
from functest.opnfv_tests.openstack.rally import rally
+from functest.utils import config
class OSRallyTesting(unittest.TestCase):
@@ -324,6 +326,8 @@ class OSRallyTesting(unittest.TestCase):
'run_tests')
@mock.patch('functest.opnfv_tests.openstack.rally.rally.RallyBase.'
'_generate_report')
+ @mock.patch('functest.opnfv_tests.openstack.rally.rally.RallyBase.'
+ 'generate_html_report')
def test_run_default(self, *args):
self.assertEqual(self.rally_base.run(), testcase.TestCase.EX_OK)
for func in args:
@@ -370,6 +374,26 @@ class OSRallyTesting(unittest.TestCase):
self.assertEqual(self.rally_base.is_successful(), 424)
mock_super(rally.RallyBase, self).is_successful.assert_called()
+ @mock.patch('subprocess.check_output',
+ side_effect=subprocess.CalledProcessError('', ''))
+ def test_generate_html_report_ko(self, *args):
+ with self.assertRaises(subprocess.CalledProcessError):
+ self.rally_base.generate_html_report()
+ cmd = ["rally", "task", "report", "--deployment",
+ str(getattr(config.CONF, 'rally_deployment_name')),
+ "--out", "{}/{}.html".format(
+ self.rally_base.results_dir, self.rally_base.case_name)]
+ args[0].assert_called_with(cmd, stderr=subprocess.STDOUT)
+
+ @mock.patch('subprocess.check_output', return_value=None)
+ def test_generate_html_report(self, *args):
+ self.assertEqual(self.rally_base.generate_html_report(), None)
+ cmd = ["rally", "task", "report", "--deployment",
+ str(getattr(config.CONF, 'rally_deployment_name')),
+ "--out", "{}/{}.html".format(
+ self.rally_base.results_dir, self.rally_base.case_name)]
+ args[0].assert_called_with(cmd, stderr=subprocess.STDOUT)
+
if __name__ == "__main__":
logging.disable(logging.CRITICAL)