82 lines
2.2 KiB
YAML
82 lines
2.2 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
|
|
verbose: true
|
|
|
|
tests:
|
|
- name: purge
|
|
desc: Begin testing from known state.
|
|
DELETE: /api/v1.0/revisions
|
|
status: 204
|
|
response_headers: {}
|
|
|
|
- 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
|
|
response_headers:
|
|
content-type: application/x-yaml
|
|
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
|
|
response_headers:
|
|
content-type: application/x-yaml
|
|
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
|
|
response_headers:
|
|
content-type: application/x-yaml
|
|
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_headers:
|
|
content-type: application/x-yaml
|
|
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
|