X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;ds=sidebyside;f=integration_tests%2Ftest_a1.tavern.yaml;h=4657fccb589b045815cd62308feb67a6827978c8;hb=8733d506cb1980871edcfe99da8fc09bf99d6d60;hp=4c1dea6b16e32ef89b9cc8b1677102142ba2463d;hpb=86a578baf19b3213f211b772ad6f3a9c4f2dee4a;p=ric-plt%2Fa1.git diff --git a/integration_tests/test_a1.tavern.yaml b/integration_tests/test_a1.tavern.yaml index 4c1dea6..4657fcc 100644 --- a/integration_tests/test_a1.tavern.yaml +++ b/integration_tests/test_a1.tavern.yaml @@ -28,7 +28,7 @@ stages: method: GET response: status_code: 200 - body: [] + json: [] - name: instance list 404 request: @@ -92,7 +92,7 @@ stages: method: GET response: status_code: 200 - body: [6660666] + json: [6660666] - name: instance list 200 but empty request: @@ -100,7 +100,7 @@ stages: method: GET response: status_code: 200 - body: [] + json: [] - name: test the admission control policy get not there yet request: @@ -165,24 +165,24 @@ stages: method: GET response: status_code: 200 - body: + json: class: 12 enforce: true window_length: 20 blocking_rate: 20 trigger_threshold: 10 - - name: test the admission control policy status get - delay_before: 3 # give it a few seconds for rmr + delay_before: 10 # give it a few seconds for rmr request: url: http://localhost:10000/a1-p/policytypes/6660666/policies/admission_control_policy/status method: GET response: status_code: 200 - body: + json: instance_status: "IN EFFECT" has_been_deleted: False + created_at: !anyfloat - name: instance list 200 and contains the instance request: @@ -190,7 +190,7 @@ stages: method: GET response: status_code: 200 - body: + json: - admission_control_policy # DELETE the instance and make sure subsequent GETs return properly @@ -204,15 +204,17 @@ stages: - name: status should now be not in effect but still there delay_before: 3 # give it a few seconds for rmr - delay_after: 8 # 3 + 11 > 10; that is, wait until t2 expires + delay_after: 10 # 3 + 10 > 10; that is, wait until t2 expires request: url: http://localhost:10000/a1-p/policytypes/6660666/policies/admission_control_policy/status method: GET response: status_code: 200 - body: + json: instance_status: "NOT IN EFFECT" has_been_deleted: True + deleted_at: !anyfloat + created_at: !anyfloat - name: instance list 200 but no instance request: @@ -220,7 +222,7 @@ stages: method: GET response: status_code: 200 - body: [] + json: [] - name: cant get instance status request: @@ -263,7 +265,7 @@ stages: method: GET response: status_code: 200 - body: [] + json: [] --- @@ -285,7 +287,7 @@ stages: method: GET response: status_code: 200 - body: [] + json: [] - name: instance list 404 request: @@ -320,7 +322,7 @@ stages: method: GET response: status_code: 200 - body: + json: name: test policy description: just for testing policy_type_id: 20001 @@ -340,7 +342,7 @@ stages: method: GET response: status_code: 200 - body: + json: - 20001 - name: instance list 200 but empty @@ -349,7 +351,7 @@ stages: method: GET response: status_code: 200 - body: [] + json: [] - name: test the delay policy instance get not there yet request: @@ -391,9 +393,10 @@ stages: method: GET response: status_code: 200 - body: + json: instance_status: "NOT IN EFFECT" has_been_deleted: False + created_at: !anyfloat - name: test the delay policy get request: @@ -401,7 +404,7 @@ stages: method: GET response: status_code: 200 - body: + json: test: foo - name: instance list 200 and there @@ -410,7 +413,7 @@ stages: method: GET response: status_code: 200 - body: + json: - delaytest - name: test the delay status get @@ -421,9 +424,10 @@ stages: method: GET response: status_code: 200 - body: + json: instance_status: "IN EFFECT" has_been_deleted: False + created_at: !anyfloat # DELETE the instance and make sure subsequent GETs return properly - name: delete the instance @@ -439,9 +443,11 @@ stages: method: GET response: status_code: 200 - body: + json: instance_status: "IN EFFECT" has_been_deleted: True + deleted_at: !anyfloat + created_at: !anyfloat - name: test the delay status get after delay but before timers delay_before: 7 @@ -450,9 +456,11 @@ stages: method: GET response: status_code: 200 - body: + json: instance_status: "NOT IN EFFECT" has_been_deleted: True + deleted_at: !anyfloat + created_at: !anyfloat - name: test the delay status get after delay and after the timers delay_before: 7 @@ -464,6 +472,112 @@ stages: --- +test_name: test query + +stages: + - name: type not there yet + request: + url: http://localhost:10000/a1-p/policytypes/1006001 + method: GET + response: + status_code: 404 + + - name: put the type + request: + url: http://localhost:10000/a1-p/policytypes/1006001 + method: PUT + json: + name: query test + description: test + policy_type_id: 1006001 + create_schema: + "$schema": http://json-schema.org/draft-07/schema# + type: object + additionalProperties: false + properties: + foo: + type: string + required: + - foo + response: + status_code: 201 + + - name: type there now + request: + url: http://localhost:10000/a1-p/policytypes/1006001 + method: GET + response: + status_code: 200 + + - name: instance list 200 but empty + request: + url: http://localhost:10000/a1-p/policytypes/1006001/policies + method: GET + response: + status_code: 200 + json: [] + + - name: instance 1 + request: + url: http://localhost:10000/a1-p/policytypes/1006001/policies/qt1 + method: PUT + json: + foo: "bar1" + headers: + content-type: application/json + response: + status_code: 202 + + - name: instance 2 + request: + url: http://localhost:10000/a1-p/policytypes/1006001/policies/qt2 + method: PUT + json: + foo: "bar2" + headers: + content-type: application/json + response: + status_code: 202 + + - name: instance list + request: + url: http://localhost:10000/a1-p/policytypes/1006001/policies + method: GET + response: + status_code: 200 + json: [qt1, qt2] + + # after the query, a1 should send, query receiver should send back, and the policy should be in effect + # sometimes in kubernetes, this test takes a long time to work because of an k8s issue + # empirically we find that the si95 rmr finally "detects" failure after about 75 seconds, retries, and then works. + - name: test the query status get + max_retries: 100 + delay_before: 1 + request: + url: http://localhost:10000/a1-p/policytypes/1006001/policies/qt1/status + method: GET + response: + status_code: 200 + json: + instance_status: "IN EFFECT" + has_been_deleted: False + created_at: !anyfloat + + - name: test the query status get 2 + max_retries: 100 + delay_before: 1 + request: + url: http://localhost:10000/a1-p/policytypes/1006001/policies/qt2/status + method: GET + response: + status_code: 200 + json: + instance_status: "IN EFFECT" + has_been_deleted: False + created_at: !anyfloat + +--- + test_name: test bad routing file endpoint stages: @@ -503,7 +617,7 @@ stages: method: GET response: status_code: 200 - body: [] + json: [] # this one cant currently be deleted, see the comment in a1/data.py @@ -554,5 +668,3 @@ stages: type: object response: status_code: 400 - -