+| `<subscription-id>` |Id of the subscription |
+
+
+## Function: ics_api_admin_reset ##
+
+Test of GET '/status'.
+
+| arg list |
+|--|
+| `<response-code> [ <type> ]` |
+
+| parameter | description |
+| --------- | ----------- |
+| `<response-code>` | Expected http response code |
+| `<type>` | Type id, if the interface supports type in url |
+
+## Function: ics_kube_pvc_reset ##
+
+Admin reset to remove all data in ics; jobs, producers etc
+NOTE - only works in kubernetes and the pod should not be running
+
+| arg list |
+|--|
+| None |
+
+# Description of functions in istio_api_functions.sh #
+
+## Function: istio_enable_istio_namespace ##
+Enable istio on a namespace
+
+| arg list |
+|--|
+| `<namespace>` |
+
+| parameter | description |
+| --------- | ----------- |
+| `namespace` | Namespace name to enable istio on |
+
+## Function: istio_req_auth_by_jwksuri ##
+Set isto authentication by jwks uri
+
+| arg list |
+|--|
+| `<app-name> <namespace> <realm>>` |
+
+| parameter | description |
+| --------- | ----------- |
+| `<app-name>` | App-name, short name |
+| `<namespace>` | Namespace of app |
+| `<realm>` | Name of realm |
+
+## Function: istio_req_auth_by_jwks ##
+Set isto authentication by jwks keys (inline)
+
+| arg list |
+|--|
+| `<app> <namespace> <issuer> <key>` |
+
+| parameter | description |
+| --------- | ----------- |
+| `<app-name>` | App-name, short name |
+| `<namespace>` | Namespace of app |
+| `<issuer>` | Name of issuer |
+| `key` | Inline key |
+
+## Function: istio_auth_policy_by_realm ##
+Set isio authorization by realm
+
+| arg list |
+|--|
+| `<app> <namespace> <realam> [<client-id> <client-role>]` |
+
+| parameter | description |
+| --------- | ----------- |
+| `<app-name>` | App-name, short name |
+| `<namespace>` | Namespace of app |
+| `<realm>` | Name of realm |
+| `<client-id>` | Client id to authorize |
+| `<client-role>` | Client role to authorize |
+
+
+## Function: istio_auth_policy_by_issuer ##
+Set isio authorization by issuer
+
+| arg list |
+|--|
+| `<app> <namespace> <issuer>` |
+
+| parameter | description |
+| --------- | ----------- |
+| `<app-name>` | App-name, short name |
+| `<namespace>` | Namespace of app |
+| `<issuer>` | Name of issuer |
+
+
+# Description of functions in kafkapc_api_functions.sh #
+
+## Function: use_kafkapc_http ##
+
+Use http for all calls to the KAFKAPC.
+| arg list |
+|--|
+| None |
+
+## Function: use_kafkapc_https ##
+
+Use https for all calls to the KAFKAPC.
+| arg list |
+|--|
+| None |
+
+## Function: start_kafkapc ##
+
+Start the KAFKAPC container in docker or kube depending on start mode
+| arg list |
+|--|
+| None |
+
+## Function: kafkapc_equal ##
+
+Tests if a variable value in the KAFKAPC 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 |
+|--|
+| `<variable-name> <target-value> [ <timeout-in-sec> ]` |
+
+| parameter | description |
+| --------- | ----------- |
+| `<variable-name>` | Variable name in the KAFKAPC |
+| `<target-value>` | Target value for the variable |
+| `<timeout-in-sec>` | Max time to wait for the variable to reach the target value |
+
+## Function: kafkapc_api_reset ##
+
+Deep reset of KAFKAPC. Note that kafka itself is not affected, i.e. created topic still exist in kafka.
+| arg list |
+|--|
+| None |
+
+## Function: kafkapc_api_create_topic ##
+
+Create a topic in kafka via kafkapc.
+| `<response-code> <topic-name> <mime-type>` |
+
+| parameter | description |
+| --------- | ----------- |
+| `<response-code>` | Http response code |
+| `<topic-name>` | Name of the topic |
+| `<mime-type>` | Mime type of the data to send to the topic. Data on the topic is expected to be of this type |
+
+## Function: kafkapc_api_get_topic ##
+
+Create a from kafkapc.
+| `<response-code> <topic-name> <mime-type>` |
+
+| parameter | description |
+| --------- | ----------- |
+| `<response-code>` | Http response code |
+| `<topic-name>` | Name of the topic |
+| `<mime-type>` | Mime type of the topic |
+
+## Function: kafkapc_api_start_sending ##
+
+Start sending msg from the msg queue to kafka for a topic.
+| `<response-code> <topic-name>` |
+
+| parameter | description |
+| --------- | ----------- |
+| `<response-code>` | Http response code |
+| `<topic-name>` | Name of the topic |
+
+## Function: kafkapc_api_start_receiving ##
+
+Start receiving msg from a kafka topic to the msg queue in kafkapc.
+| `<response-code> <topic-name>` |
+
+| parameter | description |
+| --------- | ----------- |
+| `<response-code>` | Http response code |
+| `<topic-name>` | Name of the topic |
+
+## Function: kafkapc_api_stop_sending ##
+
+Stop sending msg from the msg queue to kafka for a topic.
+| `<response-code> <topic-name>` |
+
+| parameter | description |
+| --------- | ----------- |
+| `<response-code>` | Http response code |
+| `<topic-name>` | Name of the topic |
+
+## Function: kafkapc_api_stop_receiving ##
+
+Stop receiving msg from a kafka topic to the msg queue in kafkapc.
+| `<response-code> <topic-name>` |
+
+| parameter | description |
+| --------- | ----------- |
+| `<response-code>` | Http response code |
+| `<topic-name>` | Name of the topic |
+
+## Function: kafkapc_api_post_msg ##
+
+Send a message on a topic.
+| arg list |
+|--|
+| `<response-code> <topic> <mime-type> <msg>` |
+
+| parameter | description |
+| --------- | ----------- |
+| `<response-code>` | Http response code |
+| `<topic>` | Topic name |
+| `<mime-type>` | Mime type of the msg |
+| `<msg>` | String msg to send |
+
+## Function: kafkapc_api_get_msg ##
+
+Get a message on a topic.
+| arg list |
+|--|
+| `<response-code> <topic> ([ <mime-type> <msg> ] | NOMSG )` |
+
+| parameter | description |
+| --------- | ----------- |
+| `<response-code>` | Http response code |
+| `<topic>` | Topic name |
+| `<mime-type>` | Mime type of the msg |
+| `<msg>` | String msg to receive |
+| `NOMSG` | Indicated for no msg |
+
+## Function: kafkapc_api_post_msg_from_file ##
+
+Send a message in a file on a topic.
+| arg list |
+|--|
+| `<response-code> <topic> <mime-type> <file>` |
+
+| parameter | description |
+| --------- | ----------- |
+| `<response-code>` | Http response code |
+| `<topic>` | Topic name |
+| `<mime-type>` | Mime type of the msg |
+| `<file>` | Filepath to the string msg to send |
+
+## Function: kafkapc_api_get_msg_from_file ##
+
+Get a message on a topic.
+| arg list |
+|--|
+| `<response-code> <topic> <mime-type> <file> ` |
+
+| parameter | description |
+| --------- | ----------- |
+| `<response-code>` | Http response code |
+| `<topic>` | Topic name |
+| `<mime-type>` | Mime type of the msg |
+| `<file>` | Filepath to the string msg to receive |
+
+## Function: kafkapc_api_generate_json_payload_file ##
+
+Create json file with dummy data for payload.
+| arg list |
+|--|
+| `<size-in-kb> <filename>` |
+
+| parameter | description |
+| --------- | ----------- |
+| `<size-in-kb>` | Generated size in kb |
+| `<filename>` | Path to output file |
+
+## Function: kafkapc_api_generate_text_payload_file ##
+
+Create file with dummy text data for payload.
+| arg list |
+|--|
+| `<size-in-kb> <filename>` |
+
+| parameter | description |
+| --------- | ----------- |
+| `<size-in-kb>` | Generated size in kb |
+| `<filename>` | Path to output file |
+
+# Description of functions in keycloak_api_functions.sh #
+
+## Function: start_keycloak ##
+
+Start the KEYCLOAK app in docker or kube depending on start mode
+| arg list |
+|--|
+| None |
+
+## Function: keycloak_api_obtain_admin_token ##
+
+Get the admin token to use for subsequent rest calls to keycloak
+| arg list |
+|--|
+| None |
+
+## Function: keycloak_api_create_realm ##
+
+Create a realm
+| arg list |
+|--|
+| `<realm-name> <enabled> <token-expiry>` |
+
+| parameter | description |
+| --------- | ----------- |
+| `realm-name` | Name of the realm |
+| `enabled` | Enabled, true or false |
+| `token-expiry` | Token lifespan in seconds |
+
+## Function: keycloak_api_update_realm ##
+
+Update a realm
+| arg list |
+|--|
+| `<realm-name> <enabled> <token-expiry>` |
+
+| parameter | description |
+| --------- | ----------- |
+| `realm-name` | Name of the realm |
+| `enabled` | Enabled, true or false |
+| `token-expiry` | Token lifespan in seconds |
+
+## Function: keycloak_api_create_confidential_client ##
+
+Create a client
+| arg list |
+|--|
+| `<realm-name> <client-name>` |
+
+| parameter | description |
+| --------- | ----------- |
+| `realm-name` | Name of the realm |
+| `client-name` | Name of the client |
+
+## Function: keycloak_api_generate_client_secret ##
+
+Generate secret for client
+| arg list |
+|--|
+| `<realm-name> <client-name>` |
+
+| parameter | description |
+| --------- | ----------- |
+| `realm-name` | Name of the realm |
+| `client-name` | Name of the client |
+
+## Function: keycloak_api_get_client_secret ##
+
+Get a secret for client
+| arg list |
+|--|
+| `<realm-name> <client-name>` |
+
+| parameter | description |
+| --------- | ----------- |
+| `realm-name` | Name of the realm |
+| `client-name` | Name of the client |
+
+## Function: keycloak_api_create_client_roles ##
+
+Create client roles
+| arg list |
+|--|
+| `<realm-name> <client-name> <role>+` |
+
+| parameter | description |
+| --------- | ----------- |
+| `realm-name` | Name of the realm |
+| `client-name` | Name of the client |
+| `role` | Name of the role |
+
+## Function: keycloak_api_map_client_roles ##
+
+Map roles to a client
+| arg list |
+|--|
+| `<realm-name> <client-name> <role>+` |
+
+| parameter | description |
+| --------- | ----------- |
+| `realm-name` | Name of the realm |
+| `client-name` | Name of the client |
+| `role` | Name of the role |
+
+## Function: keycloak_api_get_client_token ##
+
+Get a client token
+| arg list |
+|--|
+| `<realm-name> <client-name>` |
+
+| parameter | description |
+| --------- | ----------- |
+| `realm-name` | Name of the realm |
+| `client-name` | Name of the client |
+
+## Function: keycloak_api_read_client_token ##
+
+Read a client token
+| arg list |
+|--|
+| `<realm-name> <client-name>` |
+
+| parameter | description |
+| --------- | ----------- |
+| `realm-name` | Name of the realm |
+| `client-name` | Name of the client |
+
+## Function: keycloak_api_read_client_secret ##
+
+Read the secret for client
+| arg list |
+|--|
+| `<realm-name> <client-name>` |
+
+| parameter | description |
+| --------- | ----------- |
+| `realm-name` | Name of the realm |
+| `client-name` | Name of the client |
+
+# Description of functions in kubeproxy_api_functions.sh #
+
+## Function: use_kube_proxy_http ##
+
+Use http for all proxy requests. Note that this only applicable to the actual proxy request, the proxied protocol can still be http and https.
+| arg list |
+|--|
+| None |
+
+## Function: use_kube_proxy_https ##
+
+Use https for all proxy requests. Note that this only applicable to the actual proxy request, the proxied protocol can still be http and https.
+| arg list |
+|--|
+| None |
+
+## Function: start_kube_proxy ##
+
+Start the kube proxy container in kube. This proxy enabled the test env to access all services and pods in a kube cluster.
+No proxy is started if the function is called in docker mode.
+| arg list |
+|--|
+| None |
+
+# Description of functions in localhelm_api_functions.sh #
+
+## Function: localhelm_create_test_chart ##
+
+Create a dummy chart using helm
+| arg list |
+|--|
+| `chart-name` |
+
+| parameter | description |
+| --------- | ----------- |
+| `chart-name` | Name of the chart |
+
+## Function: localhelm_package_test_chart ##
+
+Package a dummy chart using helm
+| arg list |
+|--|
+| `chart-name` |
+
+| parameter | description |
+| --------- | ----------- |
+| `chart-name` | Name of the chart |
+
+## Function: localhelm_installed_chart_release ##
+
+Check if a chart is installed or not using helm
+| arg list |
+|--|
+| `INSTALLED|NOTINSTALLED <release-name> <name-space> |
+
+| parameter | description |
+| --------- | ----------- |
+| `INSTALLED` | Expecting installed chart |
+| `NOTINSTALLED` | Expecting a not installed chart |
+| `release-name` | Name of the release |
+| `name-space` | Expected namespace |
+
+# Description of functions in mr_api_functions.sh #
+
+## Function: use_mr_http ##
+
+Use http for all Dmaap calls to the MR. This is the default. The admin API is not affected.
+
+| arg list |
+|--|
+| None |
+
+## Function: use_mr_https ##
+
+Use https for all Dmaap call to the MR. The admin API is not affected. Note that this function shall be called before preparing the config for Consul.
+| arg list |
+|--|
+| None |
+
+## Function: start_mr ##
+
+Start the Message Router stub interface container in docker or kube depending on start mode
+| arg list |
+|--|
+| None |
+
+## Function: dmaap_api_print_topics ##
+
+Prints the current list of topics in DMAAP MR
+
+| arg list |
+|--|
+| None |
+
+## Function: mr_equal ##
+
+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 |
+|--|
+| `<variable-name> <target-value> [ <timeout-in-sec> ]` |
+
+| parameter | description |
+| --------- | ----------- |
+| `<variable-name>` | Variable name in the MR |
+| `<target-value>` | Target value for the variable |
+| `<timeout-in-sec>` | Max time to wait for the variable to reach the target value |
+
+## Function: mr_greater ##
+
+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 |
+|--|
+| `<variable-name> <target-value> [ <timeout-in-sec> ]` |
+
+| parameter | description |
+| --------- | ----------- |
+| `<variable-name>` | Variable name in the MR |
+| `<target-value>` | Target value for the variable |
+| `<timeout-in-sec>` | Max time to wait for the variable to become grater than the target value |
+
+## Function: mr_read ##
+
+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 |
+|--|
+| `<variable-name>` |
+
+| parameter | description |
+| --------- | ----------- |
+| `<variable-name>` | Variable name in the MR |
+
+## Function: mr_print ##
+
+Prints the value of a variable in the Message Router (MR) simulator.
+See the 'mrstub' dir for more details.
+| arg list |
+|--|
+| `<variable-name>` |
+
+| parameter | description |
+| --------- | ----------- |
+| `<variable-name>` | Variable name in the MR |
+
+## Function: mr_api_send_json ##
+
+Send json to topic in mr-stub.
+| arg list |
+|--|
+| `<topic-url> <json-msg>` |
+
+| parameter | description |
+| --------- | ----------- |
+| `<topic-url>` | Topic url |
+| `<json-msg>` | Json msg as string |
+
+## Function: mr_api_send_text ##
+
+Send text to topic in mr-stub.
+| arg list |
+|--|
+| `<topic-url> <text-msg>` |
+
+| parameter | description |
+| --------- | ----------- |
+| `<topic-url>` | Topic url |
+| `<text-msg>` | Text (string) msg |
+
+
+
+## Function: mr_api_send_json_file ##
+
+Send json to topic in mr-stub.
+| arg list |
+|--|
+| `<topic-url> <json-file>` |
+
+| parameter | description |
+| --------- | ----------- |
+| `<topic-url>` | Topic url |
+| `<json-file>` | Path to file with json msg as string |
+
+## Function: mr_api_send_text_file ##
+
+Send text to topic in mr-stub.
+| arg list |
+|--|
+| `<topic-url> <text-file>` |
+
+| parameter | description |
+| --------- | ----------- |
+| `<topic-url>` | Topic url |
+| `<text-file>` | Path to file with text msg as string |
+
+## Function: mr_api_generate_json_payload_file ##
+
+Create json file with dummy data for payload.
+| arg list |
+|--|
+| `<size-in-kb> <filename>` |
+
+| parameter | description |
+| --------- | ----------- |
+| `<size-in-kb>` | Generated size in kb |
+| `<filename>` | Path to output file |
+
+## Function: mr_api_generate_text_payload_file ##
+
+Create file with dummy text data for payload.
+| arg list |
+|--|
+| `<size-in-kb> <filename>` |
+
+| parameter | description |
+| --------- | ----------- |
+| `<size-in-kb>` | Generated size in kb |
+| `<filename>` | Path to output file |
+
+# Description of functions in ngw_api_functions.sh #
+
+## Function: use_gateway_http ##
+
+Use http for all calls to the gateway. This is set by default.
+| arg list |
+|--|
+| None |
+
+## Function: use_gateway_https ##
+
+Use https for all calls to the gateway.
+| arg list |
+|--|
+| None |
+
+## Function: set_gateway_debug ##
+
+Set debug level logging in the gateway
+| arg list |
+|--|
+| None |
+
+## Function: set_gateway_trace ##
+
+Set debug level logging in the trace
+| arg list |
+|--|
+| None |
+
+## Function: start_gateway ##
+
+Start the the gateway container in docker or kube depending on start mode
+| arg list |
+|--|
+| None |
+
+## Function: gateway_a1pms_get_status ##
+
+Sample test of a1pms api (status)
+Only response code tested - not payload
+| arg list |
+|--|
+| `<response-code>` |
+
+| parameter | description |
+| --------- | ----------- |
+| `<response-code>` | Expected http response code |
+
+## Function: gateway_ics_get_types ##
+
+Sample test of ics api (get types)
+Only response code tested - not payload
+| arg list |
+|--|
+| `<response-code>` |
+
+| parameter | description |
+| --------- | ----------- |
+| `<response-code>` | Expected http response code |
+
+
+# Description of functions in prodstub_api_functions.sh #
+
+## Function: use_prod_stub_http ##
+
+Use http for the API. The admin API is not affected. This is the default protocol.
+| arg list |
+|--|
+| None |
+
+## Function: use_prod_stub_https ##
+
+Use https for the API. The admin API is not affected.
+| arg list |
+|--|
+| None |
+
+## Function: start_prod_stub ##
+
+Start the Producer stub container in docker or kube depending on start mode
+| arg list |
+|--|
+| None |
+
+## Function: prodstub_arm_producer ##
+
+Preconfigure the prodstub with a producer. The producer supervision response code is optional, if not given the response code will be set to 200.
+
+| arg list |
+|--|
+| `<response-code> <producer-id> [<forced_response_code>]` |
+
+| parameter | description |
+| --------- | ----------- |
+| `<response-code>` | Expected http response code |
+| `<producer-id>` | Id of the producer |
+| `<forced_response_code>` | Forced response code for the producer callback url |
+
+## Function: prodstub_arm_job_create ##
+
+Preconfigure the prodstub with a job or update an existing job. Optional create/update job response code, if not given the response code will be set to 200/201 depending on if the job has been previously created or not.
+
+| arg list |
+|--|
+| `<response-code> <job-id> [<forced_response_code>]` |
+
+| parameter | description |
+| --------- | ----------- |
+| `<response-code>` | Expected http response code |
+| `<job-id>` | Id of the job |
+| `<forced_response_code>` | Forced response code for the create callback url |
+
+## Function: prodstub_arm_job_delete ##
+
+Preconfigure the prodstub with a job. Optional delete job response code, if not given the response code will be set to 204/404 depending on if the job exists or not.
+
+| arg list |
+|--|
+| `<response-code> <job-id> [<forced_response_code>]` |
+
+| parameter | description |
+| --------- | ----------- |
+| `<response-code>` | Expected http response code |
+| `<job-id>` | Id of the job |
+| `<forced_response_code>` | Forced response code for the delete callback url |
+
+## Function: prodstub_arm_type ##
+
+Preconfigure the prodstub with a type for a producer. Can be called multiple times to add more types.
+
+| arg list |
+|--|
+| `<response-code> <producer-id> <type-id>` |
+
+| parameter | description |
+| --------- | ----------- |
+| `<response-code>` | Expected http response code |
+| `<producer-id>` | Id of the producer |
+| `<type-id>` | Id of the type |
+
+## Function: prodstub_disarm_type ##
+
+Remove a type for the producer in the rodstub. Can be called multiple times to remove more types.
+
+| arg list |
+|--|
+| `<response-code> <producer-id> <type-id>` |
+
+| parameter | description |
+| --------- | ----------- |
+| `<response-code>` | Expected http response code |
+| `<producer-id>` | Id of the producer |
+| `<type-id>` | Id of the type |
+
+## Function: prodstub_check_jobdata ##
+
+Check a job in the prodstub towards the list of provided parameters.
+
+| arg list |
+|--|
+| `<response-code> <producer-id> <job-id> <type-id> <target-url> <job-owner> <template-job-file>` |
+
+| parameter | description |
+| --------- | ----------- |
+| `<response-code>` | Expected http response code |
+| `<producer-id>` | Id of the producer |
+| `<job-id>` | Id of the job |
+| `<type-id>` | Id of the type |
+| `<target-url>` | Target url for data delivery |
+| `<job-owner>` | Id of the job owner |
+| `<template-job-file>` | Path to a job template file |
+
+## Function: prodstub_check_jobdata_2 ##
+
+Check a job in the prodstub towards the list of provided parameters.
+
+| arg list |
+|--|
+| `<response-code> <producer-id> <job-id> <type-id> <target-url> <job-owner> <template-job-file>` |
+
+| parameter | description |
+| --------- | ----------- |
+| `<response-code>` | Expected http response code |
+| `<producer-id>` | Id of the producer |
+| `<job-id>` | Id of the job |
+| `<type-id>` | Id of the type |
+| `<target-url>` | Target url for data delivery |
+| `<job-owner>` | Id of the job owner |
+| `<template-job-file>` | Path to a job template file |
+
+## Function: prodstub_check_jobdata_3 ##
+
+Check a job in the prodstub towards the list of provided parameters.
+
+| arg list |
+|--|
+| `<response-code> <producer-id> <job-id> <type-id> <target-url> <job-owner> <template-job-file>` |
+
+| parameter | description |
+| --------- | ----------- |
+| `<response-code>` | Expected http response code |
+| `<producer-id>` | Id of the producer |
+| `<job-id>` | Id of the job |
+| `<type-id>` | Id of the type |
+| `<target-url>` | Target url for data delivery |
+| `<job-owner>` | Id of the job owner |
+| `<template-job-file>` | Path to a job template file |
+
+## Function: prodstub_delete_jobdata ##
+
+Delete the job parameters, job data, for a job.
+
+| arg list |
+|--|
+| `<response-code> <producer-id> <job-id>` |
+
+| parameter | description |
+| --------- | ----------- |
+| `<response-code>` | Expected http response code |
+| `<producer-id>` | Id of the producer |
+| `<job-id>` | Id of the job |
+
+## Function: prodstub_equal ##
+
+Tests if a variable value in the prodstub 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.
+
+| arg list |
+|--|
+| `<variable-name> <target-value> [ <timeout-in-sec> ]` |
+
+| parameter | description |
+| --------- | ----------- |
+| `<variable-name>` | Variable name in the prostub |
+| `<target-value>` | Target value for the variable |
+| `<timeout-in-sec>` | Max time to wait for the variable to reach the target value |
+
+# Description of functions in rc_api_function.sh #
+
+## Function: use_rapp_catalogue_http ##
+
+Use http for the API. This is the default protocol.
+| arg list |
+|--|
+| None |
+
+## Function: use_rapp_catalogue_https ##
+
+Use https for the API.
+| arg list |
+|--|
+| None |
+
+## Function: start_rapp_catalogue ##
+
+Start the rapp catalogue container in docker or kube depending on start mode
+| arg list |
+|--|
+| None |
+
+## Function: rc_equal ##
+
+Tests if a variable value in the RAPP Catalogue 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 |
+|--|
+| `<variable-name> <target-value> [ <timeout-in-sec> ]` |
+
+| parameter | description |
+| --------- | ----------- |
+| `<variable-name>` | Variable name in the RC |
+| `<target-value>` | Target value for the variable |
+| `<timeout-in-sec>` | Max time to wait for the variable to reach the target value |
+
+## Function: rapp_cat_api_get_services ##
+
+Check all registered services.
+
+| arg list |
+|--|
+| `<response-code> [(<service-id> <version> <display-name> <description>)+ \| EMPTY ]` |
+
+| parameter | description |
+| --------- | ----------- |
+| `<response-code>` | Expected http response code |
+| `<service-id>` | Id of the service |
+| `<version>` | Version of the service |
+| `<display-name>` | Dislay name of the service |
+| `<description>` | Description of the service |
+| `EMPTY` | Indicator for an empty list |
+
+## Function: rapp_cat_api_put_service ##
+
+Register a services.
+
+| arg list |
+|--|
+| `<response-code> <service-id> <version> <display-name> <description>` |
+
+| parameter | description |
+| --------- | ----------- |
+| `<response-code>` | Expected http response code |
+| `<service-id>` | Id of the service |
+| `<version>` | Version of the service |
+| `<display-name>` | Dislay name of the service |
+| `<description>` | Description of the service |
+
+## Function: rapp_cat_api_get_service ##
+
+Check a registered service.
+
+| arg list |
+|--|
+| `<response-code> <service-id> <version> <display-name> <description>` |
+
+| parameter | description |
+| --------- | ----------- |
+| `<response-code>` | Expected http response code |
+| `<service-id>` | Id of the service |
+| `<version>` | Version of the service |
+| `<display-name>` | Dislay name of the service |
+| `<description>` | Description of the service |
+
+## Function: rapp_cat_api_delete_service ##
+
+Check a registered service.
+
+| arg list |
+|--|
+| `<response-code> <service-id>` |
+
+| parameter | description |
+| --------- | ----------- |
+| `<response-code>` | Expected http response code |
+| `<service-id>` | Id of the service |
+
+
+# Description of functions in ricmediatorsim_api_functions.sh #
+
+The functions below only use the admin interface of the ricmediator, no usage of the A1 interface.
+
+## Function: use_ricmediator_simulator_http ##
+
+Use http for all API calls (A1) toward the simulator. This is the default. Admin API calls to the simulator are not affected. Note that this function shall be called before preparing the config for A1PMS.
+| arg list |
+|--|
+| None |
+
+## Function: use_ricmediator_simulator_https ##
+
+Use https for all API calls (A1) toward the simulator. Admin API calls to the simulator are not affected. Note that this function shall be called before preparing the config for A1PMS.
+| arg list |
+|--|
+| None |
+
+## Function: start_ricmediator_simulators ##
+
+Start a group of simulator where a group may contain 1 more simulators. Started in docker or kube depending on start mode
+| arg list |
+|--|
+| `ricsim_g1\|ricsim_g2\|ricsim_g3 <count> <interface-id>` |
+
+| parameter | description |
+| --------- | ----------- |
+| `ricsim_g1\|ricsim_g2\|ricsim_g3` | Base name of the simulator. Each instance will have an postfix instance id added, starting on '1'. For examplle 'ricsim_g1_1', 'ricsim_g1_2' etc |
+|`<count>`| And integer, 1 or greater. Specifies the number of simulators to start|
+|`<interface-id>`| Shall be the interface id of the simulator. See the repo 'a1-interface' for the available ids. |
+
+## Function: get_kube_ricmediatorsim_host ##
+
+Translate ric name to kube host name.
+| arg list |
+|--|
+| `<ric-name>` |
+
+| parameter | description |
+| --------- | ----------- |
+| `<ric-name>` | The name of the ric to translate into a host name (ip) |
+
+## Function: nearsim_generate_policy_uuid ##
+
+Geneate a UUID prefix to use along with the policy instance number when creating/deleting policies. Sets the env var UUID.
+UUID is then automatically added to the policy id in GET/PUT/DELETE.
+| arg list |
+|--|
+| None |
+
+
+## Function: ricmediatorsim_put_policy_type ##
+
+Loads a policy type to the simulator
+
+| arg list |
+|--|
+| `<response-code> <ric-id> <policy-type-id> <policy-type-file>` |
+
+| parameter | description |
+| --------- | ----------- |
+| `<response-code>` | Expected http response code |
+| `<ric-id>` | Id of the ric |
+| `<policy-type-id>` | Id of the policy type |
+| `<policy-type-file>` | Path to the schema file of the policy type |
+
+## Function: ricmediatorsim_delete_policy_type ##
+
+Deletes a policy type from the simulator
+
+| arg list |
+|--|
+| `<response-code> <ric-id> <policy_type_id>` |
+
+| parameter | description |
+| --------- | ----------- |
+| `<response-code>` | Expected http response code |
+| `<ric-id>` | Id of the ric |
+| `<policy-type-id>` | Id of the policy type |
+
+
+# Description of functions in ricsim_api_functions.sh #
+
+The functions below only use the admin interface of the simulator, no usage of the A1 interface.
+
+## Function: use_simulator_http ##
+
+Use http for all API calls (A1) toward the simulator. This is the default. Admin API calls to the simulator are not affected. Note that this function shall be called before preparing the config for A1PMS.
+| arg list |
+|--|
+| None |
+
+## Function: use_simulator_https ##
+
+Use https for all API calls (A1) toward the simulator. Admin API calls to the simulator are not affected. Note that this function shall be called before preparing the config for A1PMS.
+| arg list |
+|--|
+| None |
+
+## Function: start_ric_simulators ##
+
+Start a group of simulator where a group may contain 1 more simulators. Started in docker or kube depending on start mode
+| arg list |
+|--|
+| `ricsim_g1\|ricsim_g2\|ricsim_g3 <count> <interface-id>` |
+
+| parameter | description |
+| --------- | ----------- |
+| `ricsim_g1\|ricsim_g2\|ricsim_g3` | Base name of the simulator. Each instance will have an postfix instance id added, starting on '1'. For examplle 'ricsim_g1_1', 'ricsim_g1_2' etc |
+|`<count>`| And integer, 1 or greater. Specifies the number of simulators to start|
+|`<interface-id>`| Shall be the interface id of the simulator. See the repo 'a1-interface' for the available ids. |
+
+## Function: get_kube_sim_host ##
+
+Translate ric name to kube host name.
+| arg list |
+|--|
+| `<ric-name>` |
+
+| parameter | description |
+| --------- | ----------- |
+| `<ric-name>` | The name of the ric to translate into a host name (ip) |
+
+## Function: sim_generate_policy_uuid ##
+
+Geneate a UUID prefix to use along with the policy instance number when creating/deleting policies. Sets the env var UUID.
+UUID is then automatically added to the policy id in GET/PUT/DELETE.
+| arg list |
+|--|
+| None |
+
+## 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 |
+|--|
+| `<variable-name> <target-value> [ <timeout-in-sec> ]` |
+
+| parameter | description |
+| --------- | ----------- |
+| `<variable-name>` | Variable name in the ric simulator |
+| `<target-value>` | Target value for the variable |
+| `<timeout-in-sec>` | 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 |
+|--|
+| `<variable-name>` |
+
+| parameter | description |
+| --------- | ----------- |
+| `<variable-name>` | 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 |
+|--|
+| `<variable-name> <target-value> [ <timeout-in-sec> ]` |
+
+| parameter | description |
+| --------- | ----------- |
+| `<variable-name>` | Variable name in the ric simulator |
+| `<target-value>` | Target substring for the variable |
+| `<timeout-in-sec>` | 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 |
+|--|
+| `<response-code> <ric-id> <policy-type-id> <policy-type-file>` |
+
+| parameter | description |
+| --------- | ----------- |
+| `<response-code>` | Expected http response code |
+| `<ric-id>` | Id of the ric |
+| `<policy-type-id>` | Id of the policy type |
+| `<policy-type-file>` | Path to the schema file of the policy type |
+
+## Function: sim_delete_policy_type ##
+
+Deletes a policy type from the simulator
+
+| arg list |
+|--|
+| `<response-code> <ric-id> <policy_type_id>` |
+
+| parameter | description |
+| --------- | ----------- |
+| `<response-code>` | Expected http response code |
+| `<ric-id>` | Id of the ric |
+| `<policy-type-id>` | Id of the policy type |
+
+## Function: sim_post_delete_instances ##
+
+Deletes all instances (and status), for one ric
+
+| arg list |
+|--|
+| `<response-code> <ric-id>` |
+
+| parameter | description |
+| --------- | ----------- |
+| `<response-code>` | Expected http response code |
+| `<ric-id>` | Id of the ric |
+
+## Function: sim_post_delete_all ##
+
+Deletes all types, instances (and status), for one ric
+
+| arg list |
+|--|
+| `<response-code> <ric-id>` |
+
+| parameter | description |
+| --------- | ----------- |
+| `<response-code>` | Expected http response code |
+| `<ric-id>` | 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 |
+|--|
+| `<response-code> <ric-id> [<forced_response_code>]`|
+
+| parameter | description |
+| --------- | ----------- |
+| `<response-code>` | Expected http response code |
+| `<ric-id>` | Id of the ric |
+| `<forced_response_code>` | 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 |
+|--|
+| `<response-code> <ric-id> [<delay-in-seconds>]`|
+
+| parameter | description |
+| --------- | ----------- |
+| `<response-code>` | Expected http response code |
+| `<ric-id>` | Id of the ric |
+| `<delay-in-seconds>` | Delay in seconds. If omitted, the delay is removed |
+
+# Description of functions in sdnc_api_functions.sh #
+
+The file contains a selection of the possible API tests towards the SDNC (a1-controller)
+
+## Function: use_sdnc_http ##
+
+Use http for all API calls towards the SDNC A1 Controller. This is the default. Note that this function shall be called before preparing the config for A1PMS.
+| arg list |
+|--|
+| None |
+
+## Function: use_sdnc_https ##
+
+Use https for all API calls towards the SDNC A1 Controller. Note that this function shall be called before preparing the config for A1PMS.
+| arg list |
+|--|
+| None |
+
+## Function: start_sdnc ##
+
+Start the SDNC A1 Controller container and its database container
+| arg list |
+|--|
+| None |
+
+## Function: stop_sdnc ##
+
+Stop the SDNC A1 Controller container and its database container
+| arg list |
+|--|
+| None |
+
+## Function: start_stopped_sdnc ##
+
+Start a previously stopped SDNC
+| arg list |
+|--|
+| None |
+
+## Function: check_sdnc_logs ##
+
+Check the SDNC log for any warnings and errors and print the count of each.
+| arg list |
+|--|
+| None |
+
+## 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 |
+|--|
+| `<response-code> (OSC <ric-id> <policy-type-id> [ <policy-id> [<policy-id>]* ]) \| ( STD <ric-id> [ <policy-id> [<policy-id>]* ]` |
+
+| parameter | description |
+| --------- | ----------- |
+| `<response-code>` | Expected http response code |
+| `OSC` | Indicator of status of Non-Standarized OSC A1 |
+| `<ric-id>` | Id of the ric |
+| `policy-type-id>` | Id of the policy type |
+| `<policy-id>` | 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 |
+|--|
+| `<response-code> OSC <ric-id> <policy-type-id> [<policy-type-file>]` |
+
+| parameter | description |
+| --------- | ----------- |
+| `<response-code>` | Expected http response code |
+| `OSC` | Indicator of status of Non-Standarized OSC A1 |
+| `<ric-id>` | 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 <ric-id> <policy-id>) \| (OSC <ric-id> <policy-type-id> <policy-id>)` |
+
+| parameter | description |
+| --------- | ----------- |
+| `<response-code>` | Expected http response code |
+| `STD` | Indicator of status of Standarized A1 |
+| `<ric-id>` | Id of the ric |
+| `<policy-id>` | 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 |
+|--|
+| `<response-code> (STD <ric-id> <policy-id> <template-file> ) \| (OSC <ric-id> <policy-type-id> <policy-id> <template-file>)` |
+
+| parameter | description |
+| --------- | ----------- |
+| `<response-code>` | Expected http response code |
+| `STD` | Indicator of status of Standarized A1 |
+| `<ric-id>` | Id of the ric |
+| `<policy-id>` | Id of the policy |
+| `<template-file>` | Path to the template file of the policy|
+| `OSC` | Indicator of status of Non-Standarized OSC A1 |
+| `<policy-type-id>` | Id of the policy type |
+
+## Function: controller_api_get_A1_policy_status ##
+
+Checks the status of a policy
+
+ arg list |
+|--|
+| `<response-code> (STD <ric-id> <policy-id> <enforce-status> [<reason>]) \| (OSC <ric-id> <policy-type-id> <policy-id> <instance-status> <has-been-deleted>)` |
+
+| parameter | description |
+| --------- | ----------- |
+| `<response-code>` | Expected http response code |
+| `STD` | Indicator of status of Standarized A1 |
+| `<ric-id>` | Id of the ric |
+| `<policy-id>` | Id of the policy |
+| `<enforce-status>` | Enforcement status |
+| `<reason>` | Optional reason |
+| `OSC` | Indicator of status of Non-Standarized OSC A1 |
+| `<policy-type-id>` | Id of the policy type |
+| `<instance-status>` | Instance status |
+| `<has-been-deleted>` | Deleted status, true or false |