diff options
author | Cédric Ollivier <cedric.ollivier@orange.com> | 2022-09-23 10:48:26 +0200 |
---|---|---|
committer | Cédric Ollivier <cedric.ollivier@orange.com> | 2022-09-23 12:21:59 +0200 |
commit | 25c7404b8d2a8f36170f6067c97915ddb6128bfd (patch) | |
tree | 8fd35da3498ad18f0563915a7afe6cb3a31ac090 | |
parent | 4970d3bfe0e8e580beaa86ae7c41977e2e93ab3f (diff) |
Make robot driver even more generic
It allows setting any option via testcases.yaml
Change-Id: I8cb5ead037a65f962c3ba1a14729b52195e95483
Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
-rw-r--r-- | xtesting/core/robotframework.py | 13 | ||||
-rw-r--r-- | xtesting/tests/unit/core/test_robotframework.py | 25 |
2 files changed, 24 insertions, 14 deletions
diff --git a/xtesting/core/robotframework.py b/xtesting/core/robotframework.py index 2952de60..92b75930 100644 --- a/xtesting/core/robotframework.py +++ b/xtesting/core/robotframework.py @@ -106,10 +106,7 @@ class RobotFramework(testcase.TestCase): EX_RUN_ERROR otherwise. """ try: - suites = kwargs["suites"] - variable = kwargs.get("variable", []) - variablefile = kwargs.get("variablefile", []) - include = kwargs.get("include", []) + suites = kwargs.pop("suites") except KeyError: self.__logger.exception("Mandatory args were not passed") return self.EX_RUN_ERROR @@ -120,9 +117,11 @@ class RobotFramework(testcase.TestCase): self.__logger.exception("Cannot create %s", self.res_dir) return self.EX_RUN_ERROR stream = StringIO() - robot.run(*suites, variable=variable, variablefile=variablefile, - include=include, output=self.xml_file, log='NONE', - report='NONE', stdout=stream) + kwargs["output"] = self.xml_file + kwargs["log"] = "NONE" + kwargs["report"] = "NONE" + kwargs["stdout"] = stream + robot.run(*suites, **kwargs) self.__logger.info("\n%s", stream.getvalue()) try: self.parse_results() diff --git a/xtesting/tests/unit/core/test_robotframework.py b/xtesting/tests/unit/core/test_robotframework.py index bbd99f50..ca681822 100644 --- a/xtesting/tests/unit/core/test_robotframework.py +++ b/xtesting/tests/unit/core/test_robotframework.py @@ -215,11 +215,16 @@ class RunTesting(unittest.TestCase): @mock.patch('robot.run') def _test_makedirs(self, *args): + kwargs = { + 'variable': self.variable, + 'variablefile': self.variablefile, + 'include': self.include + } with mock.patch.object(self.test, 'parse_results') as mock_method, \ mock.patch.object(self.test, 'generate_report', return_value=0) as mmethod: self.assertEqual( - self.test.run(suites=self.suites, variable=self.variable), + self.test.run(suites=self.suites, **kwargs), self.test.EX_OK) args[0].assert_called_once_with( *self.suites, log='NONE', output=self.test.xml_file, @@ -245,10 +250,13 @@ class RunTesting(unittest.TestCase): @mock.patch('os.makedirs') @mock.patch('robot.run') def _test_parse_results(self, status, *args): + kwargs = { + 'variable': self.variable, + 'variablefile': self.variablefile, + 'include': self.include + } self.assertEqual( - self.test.run( - suites=self.suites, variable=self.variable, - variablefile=self.variablefile, include=self.include), + self.test.run(suites=self.suites, **kwargs), status) args[0].assert_called_once_with( *self.suites, log='NONE', output=self.test.xml_file, @@ -275,11 +283,14 @@ class RunTesting(unittest.TestCase): @mock.patch('os.makedirs') @mock.patch('robot.run') def _test_generate_report(self, status, *args): + kwargs = { + 'variable': self.variable, + 'variablefile': self.variablefile, + 'include': self.include + } with mock.patch.object(self.test, 'parse_results') as mock_method: self.assertEqual( - self.test.run( - suites=self.suites, variable=self.variable, - variablefile=self.variablefile, include=self.include), + self.test.run(suites=self.suites, **kwargs), status) args[0].assert_called_once_with( *self.suites, log='NONE', output=self.test.xml_file, |