diff options
author | Cédric Ollivier <cedric.ollivier@orange.com> | 2019-11-30 10:44:46 +0100 |
---|---|---|
committer | Cédric Ollivier <cedric.ollivier@orange.com> | 2019-11-30 11:03:03 +0100 |
commit | 740afc884b2af2f068945e7a9963d5e4b66a1a0e (patch) | |
tree | b44f46b085cf27f96cadfe2e41df59b3f2fd7f53 | |
parent | f5aceb5447deed25234c5354b9dd9601115d9378 (diff) |
Postprocess the TestAPI href returned
[1] returned http://localhost:8082
[1] https://build.opnfv.org/ci/job/airship-opnfv-functest-healthcheck-latest-connection_check-run/58/console
Change-Id: Ifc0e37a97442193a77762ecc2928b100e27028cd
Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
-rw-r--r-- | xtesting/core/testcase.py | 11 | ||||
-rw-r--r-- | xtesting/tests/unit/core/test_testcase.py | 5 | ||||
-rw-r--r-- | xtesting/tests/unit/utils/test_decorators.py | 1 |
3 files changed, 10 insertions, 7 deletions
diff --git a/xtesting/core/testcase.py b/xtesting/core/testcase.py index 58de9f42..9ccd4376 100644 --- a/xtesting/core/testcase.py +++ b/xtesting/core/testcase.py @@ -237,13 +237,14 @@ class TestCase(): headers=self._headers) req.raise_for_status() if urllib.parse.urlparse(url).scheme != "file": - res_url = req.json()["href"] - if env.get('TEST_DB_EXT_URL'): - res_url = res_url.replace( - env.get('TEST_DB_URL'), env.get('TEST_DB_EXT_URL')) + # href must be postprocessed as OPNFV testapi is misconfigured + # (localhost is returned) + uid = re.sub(r'^.*/api/v1/results/*', '', req.json()["href"]) + netloc = env.get('TEST_DB_EXT_URL') if env.get( + 'TEST_DB_EXT_URL') else env.get('TEST_DB_URL') self.__logger.info( "The results were successfully pushed to DB: \n\n%s\n", - res_url) + os.path.join(netloc, uid)) except AssertionError: self.__logger.exception( "Please run test before publishing the results") diff --git a/xtesting/tests/unit/core/test_testcase.py b/xtesting/tests/unit/core/test_testcase.py index 80e9d8cf..4ecedd9f 100644 --- a/xtesting/tests/unit/core/test_testcase.py +++ b/xtesting/tests/unit/core/test_testcase.py @@ -151,12 +151,13 @@ class TestCaseTesting(unittest.TestCase): self.test.stop_time).strftime('%Y-%m-%d %H:%M:%S'), "version": "master"} + @mock.patch('re.sub') @mock.patch('requests.post') - def _test_pushdb_version(self, mock_function=None, **kwargs): + def _test_pushdb_version(self, *args, **kwargs): payload = self._get_data() payload["version"] = kwargs.get("version", "unknown") self.assertEqual(self.test.push_to_db(), testcase.TestCase.EX_OK) - mock_function.assert_called_once_with( + args[0].assert_called_once_with( os.environ['TEST_DB_URL'], data=json.dumps(payload, sort_keys=True), headers=self._headers) diff --git a/xtesting/tests/unit/utils/test_decorators.py b/xtesting/tests/unit/utils/test_decorators.py index c08a7ea3..25acd68c 100644 --- a/xtesting/tests/unit/utils/test_decorators.py +++ b/xtesting/tests/unit/utils/test_decorators.py @@ -85,6 +85,7 @@ class DecoratorsTesting(unittest.TestCase): test = self._get_testcase() self.assertEqual(test.run(), testcase.TestCase.EX_OK) + @mock.patch('re.sub') @mock.patch('requests.post') def test_http_shema(self, *args): os.environ['TEST_DB_URL'] = 'http://127.0.0.1' |