e40f3e443f
- Treat internal Deckhand schemas equivalent to other service schemas - Remove validating sections other than `data` outside of base schema - Create schemas for metadata sections metadata/Control/v1 and metadata/Document/v1 - Use a single validator and let that validator check for document structure (validate against the base schema and metadata) and for post-validation also validate against service schemas Change-Id: I5f9b9a3cfa1692a69b5982a6424edd65bdfed0ef
84 lines
2.3 KiB
YAML
84 lines
2.3 KiB
YAML
# Tests success path for substitutions involving a single substitution source
|
|
# feeding multiple destionation paths.
|
|
#
|
|
# 1. Purges existing data to ensure test isolation
|
|
# 2. Creates necessary substitution documents.
|
|
# 3. Validates that the destination document has the expected data across all
|
|
# expected destination paths.
|
|
|
|
defaults:
|
|
request_headers:
|
|
content-type: application/x-yaml
|
|
response_headers:
|
|
content-type: application/x-yaml
|
|
verbose: true
|
|
|
|
tests:
|
|
- name: purge
|
|
desc: Begin testing from known state.
|
|
DELETE: /api/v1.0/revisions
|
|
status: 204
|
|
response_headers: null
|
|
|
|
- name: add_substitution_source_with_single_source_multi_dest
|
|
desc: |-
|
|
Create documents to test a single substitution source document feeding
|
|
multiple destination paths.
|
|
PUT: /api/v1.0/buckets/a/documents
|
|
status: 200
|
|
data: |-
|
|
---
|
|
schema: deckhand/LayeringPolicy/v1
|
|
metadata:
|
|
schema: metadata/Control/v1
|
|
name: layering-policy
|
|
data:
|
|
layerOrder:
|
|
- site
|
|
---
|
|
schema: deckhand/Certificate/v1
|
|
metadata:
|
|
name: example-cert
|
|
schema: metadata/Document/v1
|
|
layeringDefinition:
|
|
layer: site
|
|
storagePolicy: cleartext
|
|
data: |
|
|
CERTIFICATE DATA
|
|
---
|
|
schema: armada/Chart/v1
|
|
metadata:
|
|
name: example-chart-01
|
|
schema: metadata/Document/v1
|
|
storagePolicy: cleartext
|
|
layeringDefinition:
|
|
layer: site
|
|
substitutions:
|
|
- dest:
|
|
- path: .chart.values.tls.certificate
|
|
- path: .chart.values.tls.duplicate_certificate
|
|
src:
|
|
schema: deckhand/Certificate/v1
|
|
name: example-cert
|
|
path: .
|
|
data: {}
|
|
...
|
|
|
|
- name: verify_substitutions
|
|
desc: Check for expected substitutions
|
|
GET: /api/v1.0/revisions/$RESPONSE['$.[0].status.revision']/rendered-documents
|
|
query_parameters:
|
|
schema: armada/Chart/v1
|
|
status: 200
|
|
response_multidoc_jsonpaths:
|
|
$.`len`: 1
|
|
$.[*].metadata.name: example-chart-01
|
|
$.[*].data:
|
|
chart:
|
|
values:
|
|
tls:
|
|
certificate: |
|
|
CERTIFICATE DATA
|
|
duplicate_certificate: |
|
|
CERTIFICATE DATA
|