From aefa569cade05d2855f2987536751e520da21c8a Mon Sep 17 00:00:00 2001 From: Lev Morgan Date: Tue, 21 May 2019 09:45:46 -0500 Subject: [PATCH] Fix to DeploymentData generation Reorganized DeploymentData to match spec, added Deckhand validation to unit tests for Pegleg collect. Change-Id: I9d8d5819bfd55b960ae7dd3c93f5a03b4ea364f1 --- pegleg/engine/site.py | 10 +++++----- tests/unit/engine/test_site_collect.py | 13 ++++++++----- 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/pegleg/engine/site.py b/pegleg/engine/site.py index 4c4c00dd..4d94c772 100644 --- a/pegleg/engine/site.py +++ b/pegleg/engine/site.py @@ -164,12 +164,12 @@ def _get_deployment_data_doc(): "metadata": { "schema": "metadata/Document/v1", "name": "deployment-version", + "layeringDefinition": { + "abstract": False, + "layer": "global" + }, + "storagePolicy": "cleartext", }, - "layeringDefinition": { - "abstract": "false", - "layer": "global" - }, - "storagePolicy": "cleartext", "data": { "documents": stanzas } diff --git a/tests/unit/engine/test_site_collect.py b/tests/unit/engine/test_site_collect.py index 02fc7710..c273d55b 100644 --- a/tests/unit/engine/test_site_collect.py +++ b/tests/unit/engine/test_site_collect.py @@ -19,13 +19,8 @@ import yaml import click -from pegleg import cli -from pegleg import config -from pegleg.engine import errorcodes -from pegleg.engine import lint from pegleg.engine import site from pegleg.engine.util import deckhand -from pegleg.engine.util import files from tests.unit.fixtures import create_tmp_deployment_files @@ -79,6 +74,14 @@ def _test_site_collect_to_file(tmpdir, site_name, collection_path): assert sorted(_expected_document_names(site_name)) == sorted( [x['metadata']['name'] for x in deployment_documents]) assert "pegleg/DeploymentData/v1" in lines + + # Make sure our generated YAMLs are valid + deckhand.deckhand_render( + documents=deployment_documents, + fail_on_missing_sub_src=False, + validate=True, + ) + finally: if os.path.exists(collection_str_path): shutil.rmtree(collection_str_path, ignore_errors=True)