deckhand/deckhand/tests/functional/gabbits/document-render-success-mul...

73 lines
2.0 KiB
YAML

# Tests success path for layering involving multiple source buckets.
#
# 1. Purges existing data to ensure test isolation
# 2. Adds documents to bucket a
# 3. Adds documents to bucket b
# 4. Verifies fully correctly layered document data
defaults:
request_headers:
content-type: application/x-yaml
response_headers:
content-type: application/x-yaml
tests:
- name: purge
desc: Begin testing from known state.
DELETE: /api/v1.0/revisions
status: 204
response_headers: null
- name: add_bucket_layering
desc: |-
Create `layeringPolicy` in bucket layering with 3 layers: global, region
and site.
PUT: /api/v1.0/buckets/layering/documents
status: 200
data: |-
---
schema: deckhand/LayeringPolicy/v1
metadata:
schema: metadata/Control/v1
name: layering-policy
data:
layerOrder:
- global
- region
- site
- name: add_bucket_a
desc: Create documents for bucket a
PUT: /api/v1.0/buckets/a/documents
status: 200
data: <@resources/design-doc-layering-sample-split-bucket-a.yaml
- name: add_bucket_b
desc: Create documents for bucket b
PUT: /api/v1.0/buckets/b/documents
status: 200
data: <@resources/design-doc-layering-sample-split-bucket-b.yaml
- name: verify_layering
desc: Check for expected layering
GET: /api/v1.0/revisions/$RESPONSE['$.[0].status.revision']/rendered-documents
query_parameters:
sort:
- schema
- metadata.name
status: 200
response_multidoc_jsonpaths:
$.`len`: 3
$.[0].schema: deckhand/LayeringPolicy/v1
$.[1].schema: example/Kind/v1
$.[1].metadata.name: site-with-delete-action
$.[1].metadata.schema: metadata/Document/v1
$.[1].data: {}
$.[2].schema: example/Kind/v1
$.[2].metadata.name: site-with-merge-action
$.[2].metadata.schema: metadata/Document/v1
$.[2].data:
a:
z: 3
b: 4