X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;ds=sidebyside;f=integration_tests%2Ftest_a1.tavern.yaml;h=85100862f963bc1c5af15cadb5323a14d21ab555;hb=30a7bdce9115e6bba8811edae2fc949e404021da;hp=d9de88ec9ceb7f4f646eca2a1dbb0d11cf1e1915;hpb=40caa314d23122f0bd25c0e66b65d10303538164;p=ric-plt%2Fa1.git diff --git a/integration_tests/test_a1.tavern.yaml b/integration_tests/test_a1.tavern.yaml index d9de88e..8510086 100644 --- a/integration_tests/test_a1.tavern.yaml +++ b/integration_tests/test_a1.tavern.yaml @@ -15,6 +15,90 @@ stages: test_name: test admission control stages: + - name: type not there yet + request: + url: http://localhost:10000/a1-p/policytypes/20000 + method: GET + 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 + method: PUT + json: + name: Admission Control + description: various parameters to control admission of dual connection + policy_type_id: 20000 + create_schema: + "$schema": http://json-schema.org/draft-07/schema# + type: object + properties: + enforce: + type: boolean + default: true + window_length: + type: integer + default: 1 + minimum: 1 + maximum: 60 + description: Sliding window length (in minutes) + blocking_rate: + type: number + default: 10 + minimum: 1 + maximum: 100 + description: "% Connections to block" + trigger_threshold: + type: integer + default: 10 + minimum: 1 + description: Minimum number of events in window to trigger blocking + required: + - enforce + - blocking_rate + - trigger_threshold + - window_length + additionalProperties: false + + - name: type there now + request: + url: http://localhost:10000/a1-p/policytypes/20000 + method: GET + 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 @@ -29,7 +113,7 @@ stages: response: status_code: 404 - - name: test the admission control policy + - name: put the admission control policy request: url: http://localhost:10000/a1-p/policytypes/20000/policies/admission_control_policy method: PUT @@ -66,12 +150,102 @@ 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 stages: - - name: test the delay policy get not there yet + + - name: test the delay policy type not there yet + request: + url: http://localhost:10000/a1-p/policytypes/20001 + method: GET + 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 + method: PUT + json: + name: test policy + description: just for testing + policy_type_id: 20001 + create_schema: + "$schema": http://json-schema.org/draft-07/schema# + type: object + properties: + test: + type: string + required: + - test + additionalProperties: false + + - name: type there now + request: + url: http://localhost:10000/a1-p/policytypes/20001 + method: GET + response: + status_code: 200 + body: + name: test policy + description: just for testing + policy_type_id: 20001 + create_schema: + "$schema": http://json-schema.org/draft-07/schema# + type: object + properties: + test: + type: string + required: + - 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 method: GET @@ -85,11 +259,12 @@ 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 - json: {} + json: + test: foo headers: content-type: application/json response: @@ -101,10 +276,12 @@ stages: method: GET response: status_code: 200 - body: {} + body: + 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 @@ -114,7 +291,58 @@ 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: [] --- @@ -123,6 +351,52 @@ test_name: bad_requests stages: + - name: bad type get + request: + url: http://localhost:10000/a1-p/policytypes/20666 + method: GET + response: + status_code: 404 + + + - name: bad instance get + request: + url: http://localhost:10000/a1-p/policytypes/20000/policies/darkness + method: GET + response: + status_code: 404 + + - name: bad int range 1 + request: + url: http://localhost:10000/a1-p/policytypes/19999 + method: PUT + json: + name: test policy + description: just for testing + policy_type_id: 19999 + create_schema: + "$schema": http://json-schema.org/draft-07/schema# + type: object + response: + status_code: 400 + + - name: bad int range 2 + request: + url: http://localhost:10000/a1-p/policytypes/21024 + method: PUT + json: + name: test policy + description: just for testing + policy_type_id: 21024 + create_schema: + "$schema": http://json-schema.org/draft-07/schema# + type: object + response: + status_code: 400 + + + + - name: bad body for admission control policy request: url: http://localhost:10000/a1-p/policytypes/20000/policies/admission_control_policy @@ -142,9 +416,9 @@ stages: response: status_code: 415 - - name: bad body for test policy + - name: bad body for delaytest request: - url: http://localhost:10000/a1-p/policytypes/20001/policies/test_policy + url: http://localhost:10000/a1-p/policytypes/20001/policies/delaytest method: PUT json: not: "welcome"