X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=integration_tests%2Ftest_a1.tavern.yaml;h=f9189b4cc0ecc3d4ca3fe587faa546d45cf569aa;hb=refs%2Fchanges%2F75%2F11875%2F1;hp=a025643ca2faa31085ec6e2bdb0fe3bbc598e39d;hpb=9d5ad7161f64346c17e9c466bf1992e4257e9bde;p=ric-plt%2Fa1.git diff --git a/integration_tests/test_a1.tavern.yaml b/integration_tests/test_a1.tavern.yaml index a025643..f9189b4 100644 --- a/integration_tests/test_a1.tavern.yaml +++ b/integration_tests/test_a1.tavern.yaml @@ -5,7 +5,7 @@ test_name: test healthcheck stages: - name: test the a1 healthcheck request: - url: http://localhost:10000/a1-p/healthcheck + url: http://localhost:10000/A1-P/v2/healthcheck method: GET response: status_code: 200 @@ -17,29 +17,29 @@ test_name: test admission control stages: - name: type not there yet request: - url: http://localhost:10000/a1-p/policytypes/6660666 + url: http://localhost:10000/A1-P/v2/policytypes/6660666 method: GET response: status_code: 404 - name: type list empty request: - url: http://localhost:10000/a1-p/policytypes + url: http://localhost:10000/A1-P/v2/policytypes method: GET response: status_code: 200 - body: [] + json: [] - name: instance list 404 request: - url: http://localhost:10000/a1-p/policytypes/6660666/policies + url: http://localhost:10000/A1-P/v2/policytypes/6660666/policies method: GET response: status_code: 404 - name: put the type request: - url: http://localhost:10000/a1-p/policytypes/6660666 + url: http://localhost:10000/A1-P/v2/policytypes/6660666 method: PUT json: name: Admission Control @@ -81,44 +81,44 @@ stages: - name: type there now request: - url: http://localhost:10000/a1-p/policytypes/6660666 + url: http://localhost:10000/A1-P/v2/policytypes/6660666 method: GET response: status_code: 200 - name: now in type list request: - url: http://localhost:10000/a1-p/policytypes + url: http://localhost:10000/A1-P/v2/policytypes method: GET response: status_code: 200 - body: [6660666] + json: [6660666] - name: instance list 200 but empty request: - url: http://localhost:10000/a1-p/policytypes/6660666/policies + url: http://localhost:10000/A1-P/v2/policytypes/6660666/policies method: GET response: status_code: 200 - body: [] + json: [] - name: test the admission control policy get not there yet request: - url: http://localhost:10000/a1-p/policytypes/6660666/policies/admission_control_policy + url: http://localhost:10000/A1-P/v2/policytypes/6660666/policies/admission_control_policy method: GET response: status_code: 404 - name: test the admission control policy status get not there yet request: - url: http://localhost:10000/a1-p/policytypes/6660666/policies/admission_control_policy/status + url: http://localhost:10000/A1-P/v2/policytypes/6660666/policies/admission_control_policy/status method: GET response: status_code: 404 - name: bad body for admission control policy request: - url: http://localhost:10000/a1-p/policytypes/6660666/policies/admission_control_policy + url: http://localhost:10000/A1-P/v2/policytypes/6660666/policies/admission_control_policy method: PUT json: not: "expected" @@ -129,7 +129,7 @@ stages: - name: not a json request: - url: http://localhost:10000/a1-p/policytypes/6660666/policies/admission_control_policy + url: http://localhost:10000/A1-P/v2/policytypes/6660666/policies/admission_control_policy method: PUT data: "asdf" response: @@ -138,7 +138,7 @@ stages: # put it properly - name: put the admission control policy instance request: - url: http://localhost:10000/a1-p/policytypes/6660666/policies/admission_control_policy + url: http://localhost:10000/A1-P/v2/policytypes/6660666/policies/admission_control_policy method: PUT json: class: 12 @@ -154,116 +154,118 @@ stages: - 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/6660666 + url: http://localhost:10000/A1-P/v2/policytypes/6660666 method: DELETE response: status_code: 400 - name: test the admission control policy get request: - url: http://localhost:10000/a1-p/policytypes/6660666/policies/admission_control_policy + url: http://localhost:10000/A1-P/v2/policytypes/6660666/policies/admission_control_policy 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 + url: http://localhost:10000/A1-P/v2/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: - url: http://localhost:10000/a1-p/policytypes/6660666/policies + url: http://localhost:10000/A1-P/v2/policytypes/6660666/policies method: GET response: status_code: 200 - body: + json: - admission_control_policy # DELETE the instance and make sure subsequent GETs return properly - name: delete the instance delay_after: 4 request: - url: http://localhost:10000/a1-p/policytypes/6660666/policies/admission_control_policy + url: http://localhost:10000/A1-P/v2/policytypes/6660666/policies/admission_control_policy method: DELETE response: status_code: 202 - 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 + url: http://localhost:10000/A1-P/v2/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: - url: http://localhost:10000/a1-p/policytypes/6660666/policies + url: http://localhost:10000/A1-P/v2/policytypes/6660666/policies method: GET response: status_code: 200 - body: [] + json: [] - name: cant get instance status request: - url: http://localhost:10000/a1-p/policytypes/6660666/policies/admission_control_policy/status + url: http://localhost:10000/A1-P/v2/policytypes/6660666/policies/admission_control_policy/status method: GET response: status_code: 404 - name: cant get instance request: - url: http://localhost:10000/a1-p/policytypes/6660666/policies/admission_control_policy + url: http://localhost:10000/A1-P/v2/policytypes/6660666/policies/admission_control_policy method: GET response: status_code: 404 - name: delete ac type request: - url: http://localhost:10000/a1-p/policytypes/6660666 + url: http://localhost:10000/A1-P/v2/policytypes/6660666 method: DELETE response: status_code: 204 - name: cant delete again request: - url: http://localhost:10000/a1-p/policytypes/6660666 + url: http://localhost:10000/A1-P/v2/policytypes/6660666 method: DELETE response: status_code: 404 - name: cant get request: - url: http://localhost:10000/a1-p/policytypes/6660666 + url: http://localhost:10000/A1-P/v2/policytypes/6660666 method: DELETE response: status_code: 404 - name: empty type list request: - url: http://localhost:10000/a1-p/policytypes + url: http://localhost:10000/A1-P/v2/policytypes method: GET response: status_code: 200 - body: [] + json: [] --- @@ -274,29 +276,29 @@ stages: - name: test the delay policy type not there yet request: - url: http://localhost:10000/a1-p/policytypes/20001 + url: http://localhost:10000/A1-P/v2/policytypes/20001 method: GET response: status_code: 404 - name: not yet in type list request: - url: http://localhost:10000/a1-p/policytypes + url: http://localhost:10000/A1-P/v2/policytypes method: GET response: status_code: 200 - body: [] + json: [] - name: instance list 404 request: - url: http://localhost:10000/a1-p/policytypes/20001/policies + url: http://localhost:10000/A1-P/v2/policytypes/20001/policies method: GET response: status_code: 404 - name: put the type request: - url: http://localhost:10000/a1-p/policytypes/20001 + url: http://localhost:10000/A1-P/v2/policytypes/20001 method: PUT json: name: test policy @@ -316,11 +318,11 @@ stages: - name: type there now request: - url: http://localhost:10000/a1-p/policytypes/20001 + url: http://localhost:10000/A1-P/v2/policytypes/20001 method: GET response: status_code: 200 - body: + json: name: test policy description: just for testing policy_type_id: 20001 @@ -336,38 +338,38 @@ stages: - name: now in type list request: - url: http://localhost:10000/a1-p/policytypes + url: http://localhost:10000/A1-P/v2/policytypes method: GET response: status_code: 200 - body: + json: - 20001 - name: instance list 200 but empty request: - url: http://localhost:10000/a1-p/policytypes/20001/policies + url: http://localhost:10000/A1-P/v2/policytypes/20001/policies method: GET response: status_code: 200 - body: [] + json: [] - name: test the delay policy instance get not there yet request: - url: http://localhost:10000/a1-p/policytypes/20001/policies/delaytest + url: http://localhost:10000/A1-P/v2/policytypes/20001/policies/delaytest method: GET response: status_code: 404 - name: test the delay policy status get not there yet request: - url: http://localhost:10000/a1-p/policytypes/20001/policies/delaytest/status + url: http://localhost:10000/A1-P/v2/policytypes/20001/policies/delaytest/status method: GET response: status_code: 404 - name: bad body for delaytest request: - url: http://localhost:10000/a1-p/policytypes/20001/policies/delaytest + url: http://localhost:10000/A1-P/v2/policytypes/20001/policies/delaytest method: PUT json: not: "welcome" @@ -376,7 +378,7 @@ stages: - name: create delay policy instance request: - url: http://localhost:10000/a1-p/policytypes/20001/policies/delaytest + url: http://localhost:10000/A1-P/v2/policytypes/20001/policies/delaytest method: PUT json: test: foo @@ -387,77 +389,83 @@ stages: - name: test the delay status get, not in effect yet request: - url: http://localhost:10000/a1-p/policytypes/20001/policies/delaytest/status + url: http://localhost:10000/A1-P/v2/policytypes/20001/policies/delaytest/status 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: - url: http://localhost:10000/a1-p/policytypes/20001/policies/delaytest + url: http://localhost:10000/A1-P/v2/policytypes/20001/policies/delaytest method: GET response: status_code: 200 - body: + json: test: foo - name: instance list 200 and there request: - url: http://localhost:10000/a1-p/policytypes/20001/policies + url: http://localhost:10000/A1-P/v2/policytypes/20001/policies method: GET response: status_code: 200 - body: + json: - delaytest - name: test the delay status get max_retries: 3 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 + url: http://localhost:10000/A1-P/v2/policytypes/20001/policies/delaytest/status 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 request: - url: http://localhost:10000/a1-p/policytypes/20001/policies/delaytest + url: http://localhost:10000/A1-P/v2/policytypes/20001/policies/delaytest method: DELETE response: status_code: 202 - name: test the delay status get immediately request: - url: http://localhost:10000/a1-p/policytypes/20001/policies/delaytest/status + url: http://localhost:10000/A1-P/v2/policytypes/20001/policies/delaytest/status 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 request: - url: http://localhost:10000/a1-p/policytypes/20001/policies/delaytest/status + url: http://localhost:10000/A1-P/v2/policytypes/20001/policies/delaytest/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: test the delay status get after delay and after the timers delay_before: 7 request: - url: http://localhost:10000/a1-p/policytypes/20001/policies/delaytest/status + url: http://localhost:10000/A1-P/v2/policytypes/20001/policies/delaytest/status method: GET response: status_code: 404 @@ -469,14 +477,14 @@ test_name: test query stages: - name: type not there yet request: - url: http://localhost:10000/a1-p/policytypes/1006001 + url: http://localhost:10000/A1-P/v2/policytypes/1006001 method: GET response: status_code: 404 - name: put the type request: - url: http://localhost:10000/a1-p/policytypes/1006001 + url: http://localhost:10000/A1-P/v2/policytypes/1006001 method: PUT json: name: query test @@ -496,22 +504,22 @@ stages: - name: type there now request: - url: http://localhost:10000/a1-p/policytypes/1006001 + url: http://localhost:10000/A1-P/v2/policytypes/1006001 method: GET response: status_code: 200 - name: instance list 200 but empty request: - url: http://localhost:10000/a1-p/policytypes/1006001/policies + url: http://localhost:10000/A1-P/v2/policytypes/1006001/policies method: GET response: status_code: 200 - body: [] + json: [] - name: instance 1 request: - url: http://localhost:10000/a1-p/policytypes/1006001/policies/qt1 + url: http://localhost:10000/A1-P/v2/policytypes/1006001/policies/qt1 method: PUT json: foo: "bar1" @@ -522,7 +530,7 @@ stages: - name: instance 2 request: - url: http://localhost:10000/a1-p/policytypes/1006001/policies/qt2 + url: http://localhost:10000/A1-P/v2/policytypes/1006001/policies/qt2 method: PUT json: foo: "bar2" @@ -533,37 +541,40 @@ stages: - name: instance list request: - url: http://localhost:10000/a1-p/policytypes/1006001/policies + url: http://localhost:10000/A1-P/v2/policytypes/1006001/policies method: GET response: status_code: 200 - body: [qt1, qt2] + 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: 3 - delay_before: 6 # give it a few seconds for rmr ; delay reciever sleeps for 5 seconds by default + max_retries: 100 + delay_before: 1 request: - url: http://localhost:10000/a1-p/policytypes/1006001/policies/qt1/status + url: http://localhost:10000/A1-P/v2/policytypes/1006001/policies/qt1/status method: GET response: status_code: 200 - body: + json: instance_status: "IN EFFECT" has_been_deleted: False + created_at: !anyfloat - name: test the query status get 2 - max_retries: 3 - delay_before: 6 # give it a few seconds for rmr ; delay reciever sleeps for 5 seconds by default + max_retries: 100 + delay_before: 1 request: - url: http://localhost:10000/a1-p/policytypes/1006001/policies/qt2/status + url: http://localhost:10000/A1-P/v2/policytypes/1006001/policies/qt2/status method: GET response: status_code: 200 - body: + json: instance_status: "IN EFFECT" has_been_deleted: False + created_at: !anyfloat --- @@ -573,7 +584,7 @@ stages: - name: put the type request: - url: http://localhost:10000/a1-p/policytypes/20002 + url: http://localhost:10000/A1-P/v2/policytypes/20002 method: PUT json: name: test policy @@ -591,7 +602,7 @@ stages: - name: create policy instance that will go to a broken routing endpoint request: - url: http://localhost:10000/a1-p/policytypes/20002/policies/brokentest + url: http://localhost:10000/A1-P/v2/policytypes/20002/policies/brokentest method: PUT json: test: foo @@ -602,11 +613,11 @@ stages: - name: should be no status request: - url: http://localhost:10000/a1-p/policytypes/20002/policies/brokentest/status + url: http://localhost:10000/A1-P/v2/policytypes/20002/policies/brokentest/status method: GET response: status_code: 200 - body: [] + json: [] # this one cant currently be deleted, see the comment in a1/data.py @@ -618,21 +629,21 @@ stages: - name: bad type get request: - url: http://localhost:10000/a1-p/policytypes/20666 + url: http://localhost:10000/A1-P/v2/policytypes/20666 method: GET response: status_code: 404 - name: bad instance get bad type request: - url: http://localhost:10000/a1-p/policytypes/20666/policies/nonono + url: http://localhost:10000/A1-P/v2/policytypes/20666/policies/nonono method: GET response: status_code: 404 - name: bad int range 1 request: - url: http://localhost:10000/a1-p/policytypes/0 + url: http://localhost:10000/A1-P/v2/policytypes/0 method: PUT json: name: test policy @@ -646,7 +657,7 @@ stages: - name: bad int range 2 request: - url: http://localhost:10000/a1-p/policytypes/2147483648 + url: http://localhost:10000/A1-P/v2/policytypes/2147483648 method: PUT json: name: test policy