aboutsummaryrefslogtreecommitdiffstats
path: root/tests/unit/benchmark/scenarios/parser/test_parser.py
diff options
context:
space:
mode:
authorEmma Foley <emma.l.foley@intel.com>2017-11-24 09:46:37 +0000
committerEmma Foley <emma.l.foley@intel.com>2018-01-27 20:57:33 +0000
commit39886e1874048f47b13a957ab145ad267aebe4e0 (patch)
tree078d59d1b144d862ad003416e5f88bb6bbb5547c /tests/unit/benchmark/scenarios/parser/test_parser.py
parent92098cdeb1d0d21ceea33f4f234d7b383ab46f14 (diff)
Fix up tests for Parser scenario
* Check the results at the test methods * Remove print statement from Parser scenario * Replace assertEquals(x, True) with assertTrue(x) Change-Id: I5c2612692e625fc888c7ce7637b9e1625440724a Signed-off-by: Emma Foley <emma.l.foley@intel.com>
Diffstat (limited to 'tests/unit/benchmark/scenarios/parser/test_parser.py')
-rw-r--r--tests/unit/benchmark/scenarios/parser/test_parser.py67
1 files changed, 42 insertions, 25 deletions
diff --git a/tests/unit/benchmark/scenarios/parser/test_parser.py b/tests/unit/benchmark/scenarios/parser/test_parser.py
index 014d724a5..ee2bbc07d 100644
--- a/tests/unit/benchmark/scenarios/parser/test_parser.py
+++ b/tests/unit/benchmark/scenarios/parser/test_parser.py
@@ -9,50 +9,67 @@
# http://www.apache.org/licenses/LICENSE-2.0
##############################################################################
-# Unittest for yardstick.benchmark.scenarios.parser.Parser
-
-from __future__ import absolute_import
+import subprocess
import unittest
-
import mock
+
from oslo_serialization import jsonutils
from yardstick.benchmark.scenarios.parser import parser
-@mock.patch('yardstick.benchmark.scenarios.parser.parser.subprocess')
class ParserTestCase(unittest.TestCase):
def setUp(self):
- pass
-
- def test_parser_successful_setup(self, mock_subprocess):
-
- p = parser.Parser({}, {})
- mock_subprocess.call().return_value = 0
- p.setup()
- self.assertTrue(p.setup_done)
-
- def test_parser_successful(self, mock_subprocess):
args = {
'options': {'yangfile': '/root/yardstick/samples/yang.yaml',
'toscafile': '/root/yardstick/samples/tosca.yaml'},
}
- p = parser.Parser(args, {})
+ self.scenario = parser.Parser(scenario_cfg=args, context_cfg={})
+
+ self._mock_popen = mock.patch.object(subprocess, 'Popen')
+ self.mock_popen = self._mock_popen.start()
+ self._mock_call = mock.patch.object(subprocess, 'call')
+ self.mock_call = self._mock_call.start()
+
+ self.addCleanup(self._stop_mock)
+
+ def _stop_mock(self):
+ self._mock_popen.stop()
+ self._mock_call.stop()
+
+ def test_setup_successful(self):
+
+ self.mock_call.return_value = 0
+ self.scenario.setup()
+ self.assertTrue(self.scenario.setup_done)
+
+ def test_run_successful(self):
+
result = {}
- mock_subprocess.call().return_value = 0
- sample_output = '{"yangtotosca": "success"}'
- p.run(result)
- expected_result = jsonutils.loads(sample_output) # pylint: disable=unused-variable
+ self.mock_popen().returncode = 0
+
+ expected_result = jsonutils.loads('{"yangtotosca": "success"}')
+
+ self.scenario.run(result)
+ self.assertEqual(result, expected_result)
+
+ def test_run_fail(self):
+ result = {}
+
+ self.mock_popen().returncode = 1
+ expected_result = jsonutils.loads('{"yangtotosca": "fail"}')
+
+ self.scenario.run(result)
+ self.assertEqual(result, expected_result)
- def test_parser_teardown_successful(self, mock_subprocess):
+ def test_teardown_successful(self):
- p = parser.Parser({}, {})
- mock_subprocess.call().return_value = 0
- p.teardown()
- self.assertTrue(p.teardown_done)
+ self.mock_call.return_value = 0
+ self.scenario.teardown()
+ self.assertTrue(self.scenario.teardown_done)
def main():