Threading pt 2 (of 3, likely)
[ric-plt/a1.git] / integration_tests / test_a1.tavern.yaml
index 8510086..b4ccd62 100644 (file)
@@ -75,6 +75,8 @@ stages:
             - trigger_threshold
             - window_length
           additionalProperties: false
+    response:
+      status_code: 201
 
   - name: type there now
     request:
@@ -113,7 +115,27 @@ stages:
     response:
       status_code: 404
 
-  - name: put the admission control policy
+  - name: bad body for admission control policy
+    request:
+      url: http://localhost:10000/a1-p/policytypes/20000/policies/admission_control_policy
+      method: PUT
+      json:
+        not: "expected"
+      headers:
+        content-type: application/json
+    response:
+      status_code: 400
+
+  - name: not a json
+    request:
+      url: http://localhost:10000/a1-p/policytypes/20000/policies/admission_control_policy
+      method: PUT
+      data: "asdf"
+    response:
+      status_code: 415
+
+  # put it properly
+  - name: put the admission control policy instance
     request:
       url: http://localhost:10000/a1-p/policytypes/20000/policies/admission_control_policy
       method: PUT
@@ -125,7 +147,15 @@ stages:
       headers:
         content-type: application/json
     response:
-      status_code: 201
+      status_code: 202
+
+  - name: cant delete type with instances
+    delay_before: 3  # wait for the type acks to come back first
+    request:
+      url: http://localhost:10000/a1-p/policytypes/20000
+      method: DELETE
+    response:
+      status_code: 400
 
   - name: test the admission control policy get
     request:
@@ -146,9 +176,7 @@ stages:
       method: GET
     response:
       status_code: 200
-      body:
-        - handler_id: test_receiver
-          status: OK
+      # tavern doesn't yet let you check string statuses!!!
 
   - name: instance list 200 and contains the instance
     request:
@@ -159,6 +187,65 @@ stages:
       body:
         - admission_control_policy
 
+  # DELETE the instance and make sure subsequent GETs return properly
+  - name: delete the instance
+    delay_after: 3 # give it a few seconds for rmr
+    request:
+      url: http://localhost:10000/a1-p/policytypes/20000/policies/admission_control_policy
+      method: DELETE
+    response:
+      status_code: 202
+
+  - name: instance list 200 but no instance
+    request:
+      url: http://localhost:10000/a1-p/policytypes/20000/policies
+      method: GET
+    response:
+      status_code: 200
+      body: []
+
+  - name: cant get instance status
+    request:
+      url: http://localhost:10000/a1-p/policytypes/20000/policies/admission_control_policy/status
+      method: GET
+    response:
+      status_code: 404
+
+  - name: cant get instance
+    request:
+      url: http://localhost:10000/a1-p/policytypes/20000/policies/admission_control_policy
+      method: GET
+    response:
+      status_code: 404
+
+  - name: delete ac type
+    request:
+      url: http://localhost:10000/a1-p/policytypes/20000
+      method: DELETE
+    response:
+      status_code: 204
+
+  - name: cant delete again
+    request:
+      url: http://localhost:10000/a1-p/policytypes/20000
+      method: DELETE
+    response:
+      status_code: 404
+
+  - name: cant get
+    request:
+      url: http://localhost:10000/a1-p/policytypes/20000
+      method: DELETE
+    response:
+      status_code: 404
+
+  - name: empty type list
+    request:
+      url: http://localhost:10000/a1-p/policytypes
+      method: GET
+    response:
+      status_code: 200
+      body: []
 
 
 ---
@@ -180,7 +267,7 @@ stages:
       method: GET
     response:
       status_code: 200
-      body: [20000]
+      body: []
 
   - name: instance list 404
     request:
@@ -206,6 +293,8 @@ stages:
           required:
             - test
           additionalProperties: false
+    response:
+      status_code: 201
 
   - name: type there now
     request:
@@ -234,7 +323,6 @@ stages:
     response:
       status_code: 200
       body:
-       - 20000
        - 20001
 
   - name: instance list 200 but empty
@@ -259,6 +347,15 @@ stages:
     response:
       status_code: 404
 
+  - name: bad body for delaytest
+    request:
+      url: http://localhost:10000/a1-p/policytypes/20001/policies/delaytest
+      method: PUT
+      json:
+        not: "welcome"
+    response:
+      status_code: 400
+
   - name: create delay policy instance
     request:
       url: http://localhost:10000/a1-p/policytypes/20001/policies/delaytest
@@ -268,7 +365,7 @@ stages:
       headers:
         content-type: application/json
     response:
-      status_code: 201
+      status_code: 202
 
   - name: test the delay policy get
     request:
@@ -279,17 +376,15 @@ stages:
       body:
         test: foo
 
-  - name: test the admission control policy status get
+  - name: test the delay status get
     max_retries: 3
-    delay_before: 5  # give it a few seconds for rmr ; delay reciever sleeps for 5 seconds by default
+    delay_before: 6  # 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
     response:
       status_code: 200
-      body:
-        - handler_id: delay_receiver
-          status: OK
+      # tavern doesn't let you check non json yet!
 
   - name: instance list 200 and there
     request:
@@ -333,10 +428,9 @@ stages:
       headers:
         content-type: application/json
     response:
-      status_code: 201
+      status_code: 202
 
   - 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
@@ -344,6 +438,7 @@ stages:
       status_code: 200
       body: []
 
+  # this one cant currently be deleted, see the comment in a1/data.py
 
 ---
 
@@ -358,10 +453,9 @@ stages:
     response:
       status_code: 404
 
-
-  - name: bad instance get
+  - name: bad instance get bad type
     request:
-      url: http://localhost:10000/a1-p/policytypes/20000/policies/darkness
+      url: http://localhost:10000/a1-p/policytypes/20666/policies/nonono
       method: GET
     response:
       status_code: 404
@@ -395,32 +489,3 @@ stages:
       status_code: 400
 
 
-
-
-  - name: bad body for admission control policy
-    request:
-      url: http://localhost:10000/a1-p/policytypes/20000/policies/admission_control_policy
-      method: PUT
-      json:
-        not: "expected"
-      headers:
-        content-type: application/json
-    response:
-      status_code: 400
-
-  - name: not a json
-    request:
-      url: http://localhost:10000/a1-p/policytypes/20000/policies/admission_control_policy
-      method: PUT
-      data: "asdf"
-    response:
-      status_code: 415
-
-  - name: bad body for delaytest
-    request:
-      url: http://localhost:10000/a1-p/policytypes/20001/policies/delaytest
-      method: PUT
-      json:
-        not: "welcome"
-    response:
-      status_code: 400