Add declarative acceptance tests
[ccsdk/cds.git] / components / model-catalog / blueprint-model / uat-blueprints / pnf_config / Tests / uat.yaml
diff --git a/components/model-catalog/blueprint-model/uat-blueprints/pnf_config/Tests/uat.yaml b/components/model-catalog/blueprint-model/uat-blueprints/pnf_config/Tests/uat.yaml
new file mode 100644 (file)
index 0000000..37029e1
--- /dev/null
@@ -0,0 +1,126 @@
+%YAML 1.1
+---
+processes:
+  - name: config-assign
+    request:
+      commonHeader: &commonHeader
+        originatorId: sdnc
+        requestId: "123456-1000"
+        subRequestId: sub-123456-1000
+      actionIdentifiers: &assign-ai
+        blueprintName: configuration_over_restconf
+        blueprintVersion: "1.0.0"
+        actionName: config-assign
+        mode: sync
+      payload:
+        config-assign-request:
+          resolution-key: &resKey "RES-KEY 61"
+          config-assign-properties:
+            service-instance-id: siid_1234
+            pnf-id: &pnfId pnf-id-2019-07-12
+            pnf-ipv4-address: &pnfAddress "192.168.100.11"
+            service-model-uuid: service-model-uuid
+            pnf-customization-uuid: pnf-customization-uuid
+    expectedResponse:
+      commonHeader: *commonHeader
+      actionIdentifiers: *assign-ai
+      status:
+        code: 200
+        eventType: EVENT_COMPONENT_EXECUTED
+        errorMessage: null
+        message: success
+      payload:
+        config-assign-response: {}
+      stepData:
+        name: config-assign
+        properties:
+          resource-assignment-params:
+            config-assign: &assignPatch
+              ietf-restconf:yang-patch:
+                patch-id: patch-1
+                edit:
+                  - edit-id: edit1
+                    operation: merge
+                    target: /
+                    value: { netconflist: { netconf: [ { netconf-id: "10", netconf-param: "1000" }]}}
+                  - edit-id: edit2
+                    operation: merge
+                    target: /
+                    value: { netconflist: { netconf: [ { netconf-id: "20", netconf-param: "2000" }]}}
+                  - edit-id: edit3
+                    operation: merge
+                    target: /
+                    value: { netconflist: { netconf: [ { netconf-id: "30", netconf-param: "3000" }]}}
+          status: success
+  - name: config-deploy
+    request:
+      commonHeader: *commonHeader
+      actionIdentifiers: &deploy-ai
+        actionName: config-deploy
+        blueprintName: configuration_over_restconf
+        blueprintVersion: "1.0.0"
+        mode: sync
+      payload:
+        config-deploy-request:
+          resolution-key: *resKey
+          config-deploy-properties:
+            service-instance-id: siid_1234
+            pnf-id: *pnfId
+            pnf-ipv4-address: *pnfAddress
+            service-model-uuid: service-model-uuid
+            pnf-customization-uuid: pnf-customization-uuid
+    expectedResponse:
+      commonHeader: *commonHeader
+      actionIdentifiers: *deploy-ai
+      payload:
+        config-deploy-response: {}
+      status:
+        code: 200
+        errorMessage: null
+        eventType: EVENT_COMPONENT_EXECUTED
+        message: success
+      stepData:
+        name: config-deploy
+        properties:
+          response-data: ""
+          status: success
+
+external-services:
+  - selector: sdncodl
+    expectations:
+      - request:
+          method: PUT
+          path: &configUri [ restconf/config, &nodeIdentifier [network-topology:network-topology/topology/topology-netconf/node, *pnfId]]
+          content-type: application/json
+          body:
+            node:
+              - node-id: *pnfId
+                netconf-node-topology:protocol: { name: TLS }
+                netconf-node-topology:host: *pnfAddress
+                netconf-node-topology:key-based:
+                  username: netconf
+                  key-id: ODL_private_key_0
+                netconf-node-topology:port: 6513
+                netconf-node-topology:tcp-only: false
+                netconf-node-topology:max-connection-attempts: 5
+        response:
+          status: 201
+      - request:
+          method: GET
+          path: [ restconf/operational, *nodeIdentifier]
+        response:
+          body:
+            node: [ { netconf-node-topology:connection-status: connected }]
+      - request:
+          method: GET
+          path: [*configUri, &configletResourcePath yang-ext:mount/mynetconf:netconflist]
+        response:
+          body: {}
+      - request:
+          method: PATCH
+          path: [*configUri, *configletResourcePath]
+          content-type: application/yang.patch+json
+          body: *assignPatch
+      - request:
+          method: DELETE
+          path: *configUri