deckhand/deckhand/engine
Felipe Monteiro 6f86088a9a replacement: Fix update substitution source for replacement
This patchset fixes an edge case with respect to updating
substitution sources after a document has been rendered vis-a-vis
replacement.

Substitution sources only use schema/name which doesn't uniquely
identify replacement documents. Thus, an additional check is
required in `update_substitution_sources` to ensure that the
parent-replacement document doesn't overwrite data for the
child-replacement document.

Note that Deckhand prioritizes the child-replacement to be rendered
immediately after the parent-replacement document, meaning that the
child-replacement document will be the one who correctly updates
the substitution sources (which don't include parent-replacement
documents). Afterward, all other documents that reference the
parent-replacement should get the correct data.

Unit and functional tests have been added for a multi-layer
replacement scenario which regression-test the bug.

Change-Id: Ie6d921d98b7aa87e35a7aa5256cc7da2c0a256b0
2018-06-21 21:51:14 +00:00
..
schemas Add functional tests for document replacement 2018-03-28 17:09:40 -04:00
__init__.py Initial engine framework 2017-07-17 20:46:49 +01:00
document_validation.py style(pep8): remove identation ignores 2018-06-01 22:08:42 +00:00
layering.py replacement: Fix update substitution source for replacement 2018-06-21 21:51:14 +00:00
secrets_manager.py replacement: Fix update substitution source for replacement 2018-06-21 21:51:14 +00:00
utils.py [fix gate] Fix pep8 errors 2018-05-09 02:14:08 +01:00