From b5a58659d842e2e198f8e0ab2d9a13c78bbdfeab Mon Sep 17 00:00:00 2001 From: francisy Date: Mon, 8 Jun 2020 14:43:05 -0400 Subject: [PATCH] Add global revision to deployment status Updated basedeployment_data to have version from site-definition.yaml and implemented exception if no global revision existed. Change-Id: I14caf8244a7d36201e9cc4ebc90e310d594743ec --- pegleg/engine/site.py | 15 +++++++++++---- tests/unit/engine/test_site_render.py | 7 +++++-- 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/pegleg/engine/site.py b/pegleg/engine/site.py index 934cc1d0..ceb8b935 100644 --- a/pegleg/engine/site.py +++ b/pegleg/engine/site.py @@ -235,14 +235,21 @@ def get_deployment_data_doc(site_name): ])), ("data", OrderedDict([("documents", stanzas)])) ]) try: - data = util.definition.load_as_params(site_name) - basedeployment_data['data'].update({'site_type': data['site_type']}) - return basedeployment_data + data = util.definition.load(site_name) + basedeployment_data['data'].update( + {'site_type': data['data']['site_type']}) except Exception as ex: LOG.debug( "Unable to get the site definition data for" " site: %s, Exception :%s", site_name, ex) - return basedeployment_data + try: + basedeployment_data['data'].update( + {'version': data['data']['repositories']['global']['revision']}) + except Exception as ex: + LOG.debug( + "Unable to get the site revision data for global in" + " site: %s, Exception :%s", site_name, ex) + return basedeployment_data def _get_repo_deployment_data_stanza(repo_path): diff --git a/tests/unit/engine/test_site_render.py b/tests/unit/engine/test_site_render.py index e02ad633..5ad77dd0 100644 --- a/tests/unit/engine/test_site_render.py +++ b/tests/unit/engine/test_site_render.py @@ -227,10 +227,13 @@ def test_site_render(create_tmp_site_structure): def test_deployment_version_doc(create_tmp_site_structure): """ - This test case checks the deployment-version document, - test case passes if the site_type parameter exists + Testing of deployment-version document generated by collect and render commands. + Checks for expected values of resulting document. """ + + version = "v1.0" sitename = "test" rootpath = create_tmp_site_structure(sitename) rendered_doc = site.get_deployment_data_doc(sitename) assert rendered_doc['data']['site_type'] == sitename + assert rendered_doc['data']['version'] == version