Towards a1 1.0.0; implement missing GETs
[ric-plt/a1.git] / integration_tests / test_a1.tavern.yaml
index 25d06be..8510086 100644 (file)
@@ -22,6 +22,21 @@ stages:
     response:
       status_code: 404
 
+  - name: type list empty
+    request:
+      url: http://localhost:10000/a1-p/policytypes
+      method: GET
+    response:
+      status_code: 200
+      body: []
+
+  - name: instance list 404
+    request:
+      url: http://localhost:10000/a1-p/policytypes/20000/policies
+      method: GET
+    response:
+      status_code: 404
+
   - name: put the type
     request:
       url: http://localhost:10000/a1-p/policytypes/20000
@@ -68,6 +83,22 @@ stages:
     response:
       status_code: 200
 
+  - name: now in type list
+    request:
+      url: http://localhost:10000/a1-p/policytypes
+      method: GET
+    response:
+      status_code: 200
+      body: [20000]
+
+  - name: instance list 200 but empty
+    request:
+      url: http://localhost:10000/a1-p/policytypes/20000/policies
+      method: GET
+    response:
+      status_code: 200
+      body: []
+
   - name: test the admission control policy get not there yet
     request:
       url: http://localhost:10000/a1-p/policytypes/20000/policies/admission_control_policy
@@ -119,6 +150,17 @@ stages:
         - handler_id: test_receiver
           status: OK
 
+  - name: instance list 200 and contains the instance
+    request:
+      url: http://localhost:10000/a1-p/policytypes/20000/policies
+      method: GET
+    response:
+      status_code: 200
+      body:
+        - admission_control_policy
+
+
+
 ---
 
 test_name: test the delay receiver
@@ -132,6 +174,21 @@ stages:
     response:
       status_code: 404
 
+  - name: not yet in type list
+    request:
+      url: http://localhost:10000/a1-p/policytypes
+      method: GET
+    response:
+      status_code: 200
+      body: [20000]
+
+  - name: instance list 404
+    request:
+      url: http://localhost:10000/a1-p/policytypes/20001/policies
+      method: GET
+    response:
+      status_code: 404
+
   - name: put the type
     request:
       url: http://localhost:10000/a1-p/policytypes/20001
@@ -170,6 +227,24 @@ stages:
             - test
           additionalProperties: false
 
+  - name: now in type list
+    request:
+      url: http://localhost:10000/a1-p/policytypes
+      method: GET
+    response:
+      status_code: 200
+      body:
+       - 20000
+       - 20001
+
+  - name: instance list 200 but empty
+    request:
+      url: http://localhost:10000/a1-p/policytypes/20001/policies
+      method: GET
+    response:
+      status_code: 200
+      body: []
+
   - name: test the delay policy instance get not there yet
     request:
       url: http://localhost:10000/a1-p/policytypes/20001/policies/delaytest
@@ -184,7 +259,7 @@ stages:
     response:
       status_code: 404
 
-  - name: test the delay policy
+  - name: create delay policy instance
     request:
       url: http://localhost:10000/a1-p/policytypes/20001/policies/delaytest
       method: PUT
@@ -205,7 +280,8 @@ stages:
         test: foo
 
   - name: test the admission control policy status get
-    delay_before: 8  # give it a few seconds for rmr ; delay reciever sleeps for 5 seconds by default
+    max_retries: 3
+    delay_before: 5  # give it a few seconds for rmr ; delay reciever sleeps for 5 seconds by default
     request:
       url: http://localhost:10000/a1-p/policytypes/20001/policies/delaytest/status
       method: GET
@@ -215,6 +291,59 @@ stages:
         - handler_id: delay_receiver
           status: OK
 
+  - name: instance list 200 and there
+    request:
+      url: http://localhost:10000/a1-p/policytypes/20001/policies
+      method: GET
+    response:
+      status_code: 200
+      body:
+       - delaytest
+
+---
+
+test_name: test bad routing file endpoint
+
+stages:
+
+  - name: put the type
+    request:
+      url: http://localhost:10000/a1-p/policytypes/20002
+      method: PUT
+      json:
+        name: test policy
+        description: just for testing
+        policy_type_id: 20002
+        create_schema:
+          "$schema": http://json-schema.org/draft-07/schema#
+          type: object
+          properties:
+            test:
+              type: string
+          required:
+            - test
+          additionalProperties: false
+
+  - name: create policy instance that will go to a broken routing endpoint
+    request:
+      url: http://localhost:10000/a1-p/policytypes/20002/policies/brokentest
+      method: PUT
+      json:
+        test: foo
+      headers:
+        content-type: application/json
+    response:
+      status_code: 201
+
+  - name: should be no status
+    delay_before: 5  # give it a few seconds for rmr ; delay reciever sleeps for 5 seconds by default
+    request:
+      url: http://localhost:10000/a1-p/policytypes/20002/policies/brokentest/status
+      method: GET
+    response:
+      status_code: 200
+      body: []
+
 
 ---
 
@@ -224,7 +353,7 @@ stages:
 
   - name: bad type get
     request:
-      url: http://localhost:10000/a1-p/policytypes/20002
+      url: http://localhost:10000/a1-p/policytypes/20666
       method: GET
     response:
       status_code: 404