133 lines
3.5 KiB
YAML
133 lines
3.5 KiB
YAML
# Tests success path for advanced replacement scenario, where
|
|
# parent-replacement (type layer) layers with global document, after which
|
|
# the parent-replacement is replaced by the child-replacement (site layer).
|
|
#
|
|
# 1. Purges existing data to ensure test isolation.
|
|
# 2. Adds initial documents with replacement scenario described above.
|
|
# 3. Verifies correctly layered, substituted and replaced 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: null
|
|
|
|
- name: initialize
|
|
desc: |-
|
|
Create initial documents to validate following scenario:
|
|
|
|
* Global document called nova-global
|
|
* Region document called nova (layers with nova-global)
|
|
* Site document (replaces nova)
|
|
|
|
PUT: /api/v1.0/buckets/mop/documents
|
|
status: 200
|
|
data: |-
|
|
---
|
|
schema: deckhand/LayeringPolicy/v1
|
|
metadata:
|
|
schema: metadata/Control/v1
|
|
name: layering-policy
|
|
data:
|
|
layerOrder:
|
|
- global
|
|
- type
|
|
- site
|
|
---
|
|
schema: armada/Chart/v1
|
|
metadata:
|
|
schema: metadata/Document/v1
|
|
name: nova-global
|
|
storagePolicy: cleartext
|
|
labels:
|
|
name: nova-global
|
|
component: nova
|
|
layeringDefinition:
|
|
abstract: false
|
|
layer: global
|
|
data:
|
|
values:
|
|
pod:
|
|
replicas:
|
|
server: 16
|
|
---
|
|
schema: armada/Chart/v1
|
|
metadata:
|
|
schema: metadata/Document/v1
|
|
name: nova
|
|
storagePolicy: cleartext
|
|
labels:
|
|
name: nova-5ec
|
|
component: nova
|
|
layeringDefinition:
|
|
abstract: false
|
|
layer: type
|
|
parentSelector:
|
|
name: nova-global
|
|
actions:
|
|
- method: merge
|
|
path: .
|
|
data: {}
|
|
---
|
|
schema: armada/Chart/v1
|
|
metadata:
|
|
schema: metadata/Document/v1
|
|
replacement: true
|
|
name: nova
|
|
storagePolicy: cleartext
|
|
layeringDefinition:
|
|
abstract: false
|
|
layer: site
|
|
parentSelector:
|
|
name: nova-5ec
|
|
actions:
|
|
- method: merge
|
|
path: .
|
|
data:
|
|
values:
|
|
pod:
|
|
replicas:
|
|
api_metadata: 16
|
|
placement: 2
|
|
osapi: 16
|
|
conductor: 16
|
|
consoleauth: 2
|
|
scheduler: 2
|
|
novncproxy: 2
|
|
|
|
- name: verify_multi_layer_replacement_document
|
|
desc: |
|
|
Tests success path for advanced replacement scenario, where
|
|
parent-replacement document (type layer) layers with document from
|
|
global layer, after which it is replaced by the child-replacement
|
|
document (site layer).
|
|
GET: /api/v1.0/revisions/$RESPONSE['$.[0].status.revision']/rendered-documents
|
|
query_parameters:
|
|
schema: armada/Chart/v1
|
|
metadata.name: nova
|
|
status: 200
|
|
response_multidoc_jsonpaths:
|
|
$.`len`: 1
|
|
$.[*].metadata.name: nova
|
|
$.[*].metadata.layeringDefinition.layer: site
|
|
$.[*].data:
|
|
values:
|
|
pod:
|
|
replicas:
|
|
api_metadata: 16
|
|
placement: 2
|
|
osapi: 16
|
|
conductor: 16
|
|
consoleauth: 2
|
|
scheduler: 2
|
|
novncproxy: 2
|
|
server: 16
|