X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=test%2Fcommon%2FREADME.md;h=9f8af39ef7603373ee4a6e251d9d4463a4103266;hb=0f9d5174c5d828bd6c653f611052633d7b0fdc21;hp=a048c64647d2119cc043a2333a7e75a35149cb9f;hpb=db477d6b9a6170f8cd135ab8b0b3e50a6a43cb10;p=nonrtric.git diff --git a/test/common/README.md b/test/common/README.md index a048c646..9f8af39e 100644 --- a/test/common/README.md +++ b/test/common/README.md @@ -47,7 +47,7 @@ A script for executing a curl call with a specific url and optional payload. It -### Descriptions of functions in testcase_common.sh ### +## Descriptions of functions in testcase_common.sh ## #### Script args #### The script can be started with these arguments @@ -326,28 +326,605 @@ Take a snap-shot of all logs for all running containers and stores them in `./lo #### Function: cr_equal #### -TBD +Tests if a variable value in the Callback Receiver (CR) simulator is equal to a target value. +Without the timeout, the test sets pass or fail immediately depending on if the variable is equal to the target or not. +With the timeout, the test waits up to the timeout seconds before setting pass or fail depending on if the variable value becomes equal to the target value or not. +See the 'cr' dir for more details. +| arg list | +|--| +| ` [ ]` | + +| parameter | description | +| --------- | ----------- | +| `` | Variable name in the CR | +| `` | Target value for the variable | +| `` | Max time to wait for the variable to reach the target value | #### Function: mr_equal #### -TBD +Tests if a variable value in the Message Router (MR) simulator is equal to a target value. +Without the timeout, the test sets pass or fail immediately depending on if the variable is equal to the target or not. +With the timeout, the test waits up to the timeout seconds before setting pass or fail depending on if the variable value becomes equal to the target value or not. +See the 'mrstub' dir for more details. +| arg list | +|--| +| ` [ ]` | + +| parameter | description | +| --------- | ----------- | +| `` | Variable name in the MR | +| `` | Target value for the variable | +| `` | Max time to wait for the variable to reach the target value | #### Function: mr_greater #### -TBD +Tests if a variable value in the Message Router (MR) simulator is greater than a target value. +Without the timeout, the test sets pass or fail immediately depending on if the variable is greater than the target or not. +With the timeout, the test waits up to the timeout seconds before setting pass or fail depending on if the variable value becomes greater than the target value or not. +See the 'mrstub' dir for more details. +| arg list | +|--| +| ` [ ]` | + +| parameter | description | +| --------- | ----------- | +| `` | Variable name in the MR | +| `` | Target value for the variable | +| `` | Max time to wait for the variable to become grater than the target value | #### Function: mr_read #### -TBD +Reads the value of a variable in the Message Router (MR) simulator. The value is intended to be passed to a env variable in the test script. +See the 'mrstub' dir for more details. +| arg list | +|--| +| `` | + +| parameter | description | +| --------- | ----------- | +| `` | Variable name in the MR | #### Function: mr_print #### -TBD - -### Descriptions of functions in testsuite_common.sh ### -TBD -### Descriptions of functions in agent_api_function.sh ### -TBD -### Descriptions of functions in ricsimulator_api_functions.sh ### -TBD -### Descriptions of functions in controller_api_functions.sh ### -TBD +Prints the value of a variable in the Message Router (MR) simulator. +See the 'mrstub' dir for more details. +| arg list | +|--| +| `` | + +| parameter | description | +| --------- | ----------- | +| `` | Variable name in the MR | + +## Descriptions of functions in testsuite_common.sh ## +#### Function: suite_setup #### +Sets up the test suite and prints out a heading. +| arg list | +|--| +| None | + +#### suite_complete #### +Print out the overall result of the executed test cases. +| arg list | +|--| +| None | + +## Descriptions of functions in agent_api_function.sh ## +#### Function: api_equal() #### + +Tests if the array length of a json array in the Policy Agent simulator is equal to a target value. +Without the timeout, the test sets pass or fail immediately depending on if the array length is equal to the target or not. +With the timeout, the test waits up to the timeout seconds before setting pass or fail depending on if the array length becomes equal to the target value or not. +See the 'cr' dir for more details. +| arg list | +|--| +| ` [ ]` | + +| parameter | description | +| --------- | ----------- | +| `` | Relative url. Example 'json:policy_types' - checks the json array length of the url /policy_types | +| `` | Target value for the length | +| `` | Max time to wait for the length to reach the target value | + +#### Function: api_get_policies() #### +Test of GET '/policies' and optional check of the array of returned policies. +To test the response code only, provide the response code parameter as well as the following three parameters. +To also test the response payload add the 'NOID' for an expected empty array or repeat the last five parameters for each expected policy. +| arg list | +|--| +| ` |NORIC |NOSERVICE |NOTYPE [ NOID | [ EMPTY| ]*]` | + +| parameter | description | +| --------- | ----------- | +| `` | Expected http response code | +| `` | Id of the ric | +| `NORIC` | Indicator that no ric is provided | +| `` | Id of the service | +| `NOSERVICE` | Indicator that no service id is provided | +| `` | Id of the policy type | +| `NOTYPE` | Indicator that no type id is provided | +| `NOID` | Indicator that no policy id is provided - indicate empty list of policies| +| `` | Id of the policy | +| `EMPTY` | Indicate for the special empty policy type | +| `` | Path to the template file for the policy (same template used when creating the policy) | + + +#### Function: api_get_policy() #### +Test of GET /policy and optional check of the returned json payload. +To test the the response code only, provide the expected response code and policy id. +To test the contents of the returned json payload, add a path to the template file used when creating the policy. +| arg list | +|--| +| ` []` | + +| parameter | description | +| --------- | ----------- | +| `` | Expected http response code | +| `` | Id of the policy | +| `` | Path to the template file for the policy (same template used when creating the policy) | + +#### Function: api_put_policy() #### +Test of PUT '/policy'. +To test the response code only, provide the response code parameter as well as the following three parameters. +To also test the response payload add the 'NOID' for an expected empty array or repeat the last five parameters for each expected policy. +| arg list | +|--| +| ` []` | + +| parameter | description | +| --------- | ----------- | +| `` | Expected http response code | +| `` | Id of the service | +| `` | Id of the ric | +| `` | Id of the policy type | +| `` | Id of the policy. This value shall be a numeric value if more than one policy shall be created | +| `transient>` | Transient 'true' or 'false'. 'NOTRANSIENT' can be used to indicate using the default value (no transient value provided) | +| `` | Path to the template file for the policy | +| `` | An optional count (default is 1). If a value greater than 1 is given, the policy ids will use the given policy id as the first id and add 1 to that id for each new policy | + +#### Function: api_put_policy_batch() #### +This tests the same as function 'api_put_policy' except that all put requests are sent to dmaap in one go and then the responses are polled one by one. +If the agent api is not configured to use dmaap (see 'use_agent_dmaap', 'use_agent_rest_http' and 'use_agent_rest_https'), an error message is printed. +For arg list and parameters, see 'api_put_policy'. + +#### Function: api_put_policy_parallel() #### +This tests the same as function 'api_put_policy' except that the policy create is spread out over a number of processes and it only uses the agent rest API. The total number of policies created is determined by the product of the parameters 'number-of-rics' and 'count'. The parameter 'number-of-threads' shall be selected to be not evenly divisible by the product of the parameters 'number-of-rics' and 'count' - this is to ensure that one process does not handle the creation of all the policies in one ric. +| arg list | +|--| +| ` ` + +| `` | Expected http response code | +| `` | Id of the service | +| `` | The base id of the rics, ie ric id without the sequence number. The sequence number is added during processing | +| `` | The number of rics, assuming the first index is '1'. The index is added to the 'ric-id-base' id | +| `` | Id of the policy type | +| `` | Id of the policy. This value shall be a numeric value and will be the id of the first policy | +| `transient>` | Transient 'true' or 'false'. 'NOTRANSIENT' can be used to indicate using the default value (no transient value provide) | +| `` | Path to the template file for the policy | +| `` | Number of policies per ric | +| `` | Number of threads (processes) to run in parallel | + +#### Function: api_delete_policy() #### +This tests the DELETE /policy. Removes the indicated policy or a 'count' number of policies starting with 'policy-id' as the first id. +| arg list | +|--| +| ` []` + +| parameter | description | +| --------- | ----------- | +| `` | Expected http response code | +| `` | Id of the policy | +| `` | An optional count of policies to delete. The 'policy-id' will be the first id to be deleted. | + +#### Function: api_delete_policy_batch() #### +This tests the same as function 'api_delete_policy' except that all delete requests are sent to dmaap in one go and then the responses are polled one by one. +If the agent api is not configured to used dmaap (see 'use_agent_dmaap', 'use_agent_rest_http' and 'use_agent_rest_https'), an error message is printed. +For arg list and parameters, see 'api_delete_policy'. + +#### Function: api_delete_policy_parallel() #### +This tests the same as function 'api_delete_policy' except that the policy delete is spread out over a number of processes and it only uses the agent rest API. The total number of policies deleted is determined by the product of the parameters 'number-of-rics' and 'count'. The parameter 'number-of-threads' shall be selected to be not evenly divisible by the product of the parameters 'number-of-rics' and 'count' - this is to ensure that one process does not handle the deletion of all the policies in one ric. +| arg list | +|--| +| ` ` + +| `` | Expected http response code | +| `` | The base id of the rics, ie ric id without the sequence number. The sequence number is added during processing | +| `` | The number of rics, assuming the first index is '1' | +| `` | Id of the policy. This value shall be a numeric value and will be the id of the first policy | +| `` | Number of policies per ric | +| `` | Number of threads (processes) to run in parallel | + + +#### Function: api_get_policy_ids() #### + +Test of GET '/policy_ids'. +To test response code only, provide the response code parameter as well as the following three parameters. +To also test the response payload add the 'NOID' for an expected empty array or repeat the 'policy-instance-id' for each expected policy id. +| arg list | +|--| +| ` |NORIC |NOSERVICE |NOTYPE ([` | Expected http response code | +| `` | Id of the ric | +| `NORIC` | Indicator that no ric is provided | +| `` | Id of the service | +| `NOSERVICE` | Indicator that no service id is provided | +| `type-id>` | Id of the policy type | +| `NOTYPE` | Indicator that no type id is provided | +| `NOID` | Indicator that no policy id is provided - indicate empty list of policies| +| `` | Id of the policy | + +#### Function: api_get_policy_schema() #### +Test of GET /policy_schema and optional check of the returned json schema. +To test the response code only, provide the expected response code and policy type id. +To test the contents of the returned json schema, add a path to a schema file to compare with. +| arg list | +|--| +| ` []` | + +| parameter | description | +| --------- | ----------- | +| `` | Expected http response code | +| `` | Id of the policy type | +| `` | Path to the schema file for the policy type | + +#### Function: api_get_policy_schemas() #### +Test of GET /policy_schemas and optional check of the returned json schemas. +To test the response code only, provide the expected response code and ric id (or NORIC if no ric is given). +To test the contents of the returned json schema, add a path to a schema file to compare with (or NOFILE to represent an empty '{}' type) +| arg list | +|--| +| ` |NORIC [|NOFILE]*` | + +| parameter | description | +| --------- | ----------- | +| `` | Expected http response code | +| `` | Id of the ric | +| `NORIC` | No ric id given | +| `` | Path to the schema file for the policy type | +| `NOFILE` | Indicate the template for an empty type | + +#### Function: api_get_policy_status() #### +Test of GET /policy_status. +| arg list | +|--| +| ` (STD [])|(OSC )` | + +| parameter | description | +| --------- | ----------- | +| `` | Expected http response code | +| `` | Id of the policy | +| `STD` | Indicator of status of Standarized A1 | +| `` | Enforcement status | +| `` | Optional reason | +| `OSC` | Indicator of status of Non-Standarized OSC A1 | +| `` | Instance status | +| `` | Deleted status, true or false | + +#### Function: api_get_policy_types() #### +Test of GET /policy_types and optional check of the returned ids. +To test the response code only, provide the expected response code and ric id (or NORIC if no ric is given). +To test the contents of the returned json payload, add the list of expected policy type id (or 'EMPTY' for the '{}' type) + +| arg list | +|--| +| ` [|NORIC [|EMPTY []*]]` | + +| parameter | description | +| --------- | ----------- | +| `` | Expected http response code | +| `` | Id of the ric | +| `NORIC` | No ric id given | +| `` | Id of the policy type | +| `EMPTY` | Indicate the empty type | + +#### Function: api_get_status() #### +Test of GET /status +| arg list | +|--| +| `` | + +| parameter | description | +| --------- | ----------- | +| `` | Expected http response code | + +#### Function: api_get_ric() #### +Test of GET /ric +To test the response code only, provide the expected response code and managed element id. +To test the returned ric id, provide the expected ric id. +| arg list | +|--| +| ` []` | + +| parameter | description | +| --------- | ----------- | +| `` | Expected http response code | +| `` | Id of the managed element | +| `` | Id of the ric | + +#### Function: api_get_rics() #### +Test of GET /rics and optional check of the returned json payload (ricinfo). +To test the response code only, provide the expected response code and policy type id (or NOTYPE if no type is given). +To test also the returned payload, add the formatted string of info in the returned payload. +Format of ricinfo: '::' +Example ` = "ricsim_g1_1:me1_ricsim_g1_1,me2_ricsim_g1_1:1,2,4 ricsim_g1_1:me2_........."` +| arg list | +|--| +| ` |NOTYPE []` | + +| parameter | description | +| --------- | ----------- | +| `` | Expected http response code | +| `` | Policy type id of the ric | +| `NOTYPE>` | No type given | +| `` | A space separated string of ric info - needs to be quoted | + +#### Function: api_put_service() #### +Test of PUT /service +| arg list | +|--| +| ` ` | + +| parameter | description | +| --------- | ----------- | +| `` | Expected http response code | +| `` | Service name | +| `` | Timeout value | +| `` | Callback url | + +#### Function: api_get_services() #### +Test of GET /service and optional check of the returned json payload. +To test only the response code, omit all parameters except the expected response code. +To test the returned json, provide the parameters after the response code. +| arg list | +|--| +| ` [ ( ) | (NOSERVICE [ ]* )]` | + +| parameter | description | +| --------- | ----------- | +| `` | Expected http response code | +| ` | Service name for the query | +| ` | Target service name| +| `` | Timeout value | +| `` | Callback url | +| `NOSERVICE` | Indicator of no target service name | + +#### Function: api_get_service_ids() #### +Test of GET /services +| arg list | +|--| +| ` []*` | + +| parameter | description | +| --------- | ----------- | +| `` | Expected http response code | +| `` | Service name | + +#### Function: api_delete_services() #### +Test of DELETE /services +| arg list | +|--| +| ` []*` | + +| parameter | description | +| --------- | ----------- | +| `` | Expected http response code | +| `` | Service name | + +#### Function: api_put_services_keepalive() #### +Test of PUT /services/keepalive +| arg list | +|--| +| ` | + +| parameter | description | +| --------- | ----------- | +| `` | Expected http response code | +| `` | Service name | + +## Descriptions of functions in ricsimulator_api_functions.sh ## +The functions below only use the admin interface of the simulator, no usage of the A1 interface. + +#### Function: sim_equal #### +Tests if a variable value in the RIC simulator is equal to a target value. +Without the timeout, the test sets pass or fail immediately depending on if the variable is equal to the target or not. +With the timeout, the test waits up to the timeout seconds before setting pass or fail depending on if the variable value becomes equal to the target value or not. +See the 'a1-interface' repo for more details. +| arg list | +|--| +| ` [ ]` | + +| parameter | description | +| --------- | ----------- | +| `` | Variable name in the ric simulator | +| `` | Target value for the variable | +| `` | Max time to wait for the variable to reach the target value | + +#### Function: sim_print #### +Prints the value of a variable in the RIC simulator. +See the 'a1-interface' repo for more details. +| arg list | +|--| +| `` | + +| parameter | description | +| --------- | ----------- | +| `` | Variable name in the RIC simulator | + + +#### Function: sim_contains_str #### +Tests if a variable value in the RIC simulator contains a target string. +Without the timeout, the test sets pass or fail immediately depending on if the variable contains the target string or not. +With the timeout, the test waits up to the timeout seconds before setting pass or fail depending on if the variable value contains the target string or not. +See the 'a1-interface' repo for more details. +| arg list | +|--| +| ` [ ]` | + +| parameter | description | +| --------- | ----------- | +| `` | Variable name in the ric simulator | +| `` | Target substring for the variable | +| `` | Max time to wait for the variable to reach the target value | + +#### Function: sim_put_policy_type #### +Loads a policy type to the simulator +| arg list | +|--| +| ` ` | + +| parameter | description | +| --------- | ----------- | +| `` | Expected http response code | +| `` | Id of the ric | +| `` | Id of the policy type | +| `` | Path to the schema file of the policy type | + +#### Function: sim_delete_policy_type #### +Deletes a policy type from the simulator +| arg list | +|--| +| ` ` | + +| parameter | description | +| --------- | ----------- | +| `` | Expected http response code | +| `` | Id of the ric | +| `` | Id of the policy type | + +#### Function: sim_post_delete_instances #### +Deletes all instances (and status), for one ric +| arg list | +|--| +| ` ` | + +| parameter | description | +| --------- | ----------- | +| `` | Expected http response code | +| `` | Id of the ric | + + +#### Function: sim_post_delete_all #### +Deletes all types, instances (and status), for one ric +| arg list | +|--| +| ` ` | + +| parameter | description | +| --------- | ----------- | +| `` | Expected http response code | +| `` | Id of the ric | + +#### Function: sim_post_forcedresponse #### +Sets (or resets) response code for next (one) A1 message, for one ric. +The intention is to simulate error response on the A1 interface. +| arg list | +|--| +| ` []`| + +| parameter | description | +| --------- | ----------- | +| `` | Expected http response code | +| `` | Id of the ric | +| `` | Http response code to send | + +#### Function: sim_post_forcedelay #### +Sets (or resets) A1 response delay, for one ric +The intention is to delay responses on the A1 interface. Setting remains until removed. +| arg list | +|--| +| ` []`| + +| parameter | description | +| --------- | ----------- | +| `` | Expected http response code | +| `` | Id of the ric | +| `` | Delay in seconds. If omitted, the delay is removed | + + +## Descriptions of functions in controller_api_functions.sh ## +The file contains a selection of the possible API tests towards the a1-controller + +#### Function: controller_api_get_A1_policy_ids #### +Test of GET policy ids towards OSC or STD type simulator. +To test response code only, provide the response code, 'OSC' + policy type or 'STD' +To test the response payload, include the ids of the expexted response. +| arg list | +|--| +| ` (OSC [ []* ]) | ( STD [ []* ]` | + +| parameter | description | +| --------- | ----------- | +| `` | Expected http response code | +| `OSC` | Indicator of status of Non-Standarized OSC A1 | +| `` | Id of the ric | +| `policy-type-id>` | Id of the policy type | +| `` | Id of the policy | +| `STD` | Indicator of status of Standarized A1 | + + +#### Function: controller_api_get_A1_policy_type #### +Test of GET a policy type (OSC only) +| arg list | +|--| +| ` OSC []` | + +| parameter | description | +| --------- | ----------- | +| `` | Expected http response code | +| `OSC` | Indicator of status of Non-Standarized OSC A1 | +| `` | Id of the ric | +| `policy-type-id>` | Id of the policy type | +| `policy-type-file>` | Optional schema file to compare the returned type with | + +#### Function: controller_api_delete_A1_policy #### +Deletes a policy instance +| arg list | +|--| +| `(STD ) | (OSC )` | + +| parameter | description | +| --------- | ----------- | +| `` | Expected http response code | +| `STD` | Indicator of status of Standarized A1 | +| `` | Id of the ric | +| `` | Id of the policy | +| `policy-type-id>` | Id of the policy type | +| `OSC` | Indicator of status of Non-Standarized OSC A1 | +| `policy-type-file>` | Optional schema file to compare the returned type with | + +#### Function: controller_api_put_A1_policy #### +Creates a policy instance +| arg list | +|--| +| ` (STD ) | (OSC )` | + +| parameter | description | +| --------- | ----------- | +| `` | Expected http response code | +| `STD` | Indicator of status of Standarized A1 | +| `` | Id of the ric | +| `` | Id of the policy | +| `` | Path to the template file of the policy| +| `OSC` | Indicator of status of Non-Standarized OSC A1 | +| `` | Id of the policy type | + +#### Function: controller_api_get_A1_policy_status #### +Checks the status of a policy + arg list | +|--| +| ` (STD []) | (OSC )` | + +| parameter | description | +| --------- | ----------- | +| `` | Expected http response code | +| `STD` | Indicator of status of Standarized A1 | +| `` | Id of the ric | +| `` | Id of the policy | +| `` | Enforcement status | +| `` | Optional reason | +| `OSC` | Indicator of status of Non-Standarized OSC A1 | +| `` | Id of the policy type | +| `` | Instance status | +| `` | Deleted status, true or false | ## License