X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=integration_tests%2Ftest_a1.tavern.yaml;h=25d06be425cafd35a8bb4413c1d82c2e46a932ac;hb=a84245aac0d02537bdff0e79b872d47ef3bd4593;hp=5ecb69ae303deb90499fcadb61797fdbbf5437e0;hpb=5ad8f03e1fc7683bb59da31f59edc2f6c0b2372b;p=ric-plt%2Fa1.git diff --git a/integration_tests/test_a1.tavern.yaml b/integration_tests/test_a1.tavern.yaml index 5ecb69a..25d06be 100644 --- a/integration_tests/test_a1.tavern.yaml +++ b/integration_tests/test_a1.tavern.yaml @@ -1,72 +1,295 @@ # test_a1.tavern.yaml +test_name: test healthcheck + +stages: + - name: test the a1 healthcheck + request: + url: http://localhost:10000/a1-p/healthcheck + method: GET + response: + status_code: 200 + --- -test_name: test delayed policy +test_name: test admission control stages: - - name: test the delayed policy + - name: type not there yet + request: + url: http://localhost:10000/a1-p/policytypes/20000 + method: GET + response: + status_code: 404 + + - name: put the type request: - url: http://localhost:10000/ric/policies/test_policy + 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: test the admission control policy get not there yet + request: + url: http://localhost:10000/a1-p/policytypes/20000/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/20000/policies/admission_control_policy/status + method: GET + response: + status_code: 404 + + - name: put the admission control policy + request: + url: http://localhost:10000/a1-p/policytypes/20000/policies/admission_control_policy + method: PUT + json: + enforce: true + window_length: 10 + blocking_rate: 20 + trigger_threshold: 10 headers: content-type: application/json + response: + status_code: 201 + + - name: test the admission control policy get + request: + url: http://localhost:10000/a1-p/policytypes/20000/policies/admission_control_policy + method: GET response: status_code: 200 body: - ACK_FROM: DELAYED_TEST - status: SUCCESS + enforce: true + window_length: 10 + blocking_rate: 20 + trigger_threshold: 10 + - name: test the admission control policy status get + delay_before: 3 # give it a few seconds for rmr + request: + url: http://localhost:10000/a1-p/policytypes/20000/policies/admission_control_policy/status + method: GET + response: + status_code: 200 + body: + - handler_id: test_receiver + status: OK --- -test_name: test admission control +test_name: test the delay receiver stages: - - name: test the admission control policy + + - name: test the delay policy type not there yet request: - url: http://localhost:10000/ric/policies/control_admission_time + url: http://localhost:10000/a1-p/policytypes/20001 + method: GET + response: + status_code: 404 + + - name: put the type + request: + url: http://localhost:10000/a1-p/policytypes/20001 method: PUT json: - dc_admission_start_time: "10:00:00" - dc_admission_end_time: "11:00:00" + 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: test the delay policy instance get not there yet + request: + url: http://localhost:10000/a1-p/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 + method: GET + response: + status_code: 404 + + - name: test the delay policy + request: + url: http://localhost:10000/a1-p/policytypes/20001/policies/delaytest + method: PUT + json: + test: foo headers: content-type: application/json + response: + status_code: 201 + + - name: test the delay policy get + request: + url: http://localhost:10000/a1-p/policytypes/20001/policies/delaytest + method: GET + response: + status_code: 200 + 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 + request: + url: http://localhost:10000/a1-p/policytypes/20001/policies/delaytest/status + method: GET response: status_code: 200 body: - ACK_FROM: ADMISSION_CONTROL - status: SUCCESS + - handler_id: delay_receiver + status: OK + --- test_name: bad_requests stages: - - name: does not exist + + - name: bad type get + request: + url: http://localhost:10000/a1-p/policytypes/20002 + 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/ric/policies/darkness + 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 + method: PUT + json: + not: "expected" headers: content-type: application/json response: - status_code: 404 + status_code: 400 - name: not a json request: - url: http://localhost:10000/ric/policies/control_admission_time + url: http://localhost:10000/a1-p/policytypes/20000/policies/admission_control_policy method: PUT data: "asdf" response: status_code: 415 - - name: body not expected + - name: bad body for delaytest request: - url: http://localhost:10000/ric/policies/test_policy + url: http://localhost:10000/a1-p/policytypes/20001/policies/delaytest method: PUT json: not: "welcome"