Updated function test environment
Added interface stub for MR
Added simulator monitor
Added function test and test cases
Added a server for catching callbacks from the agent
Added test cases for SNDC A1-Controller NB
README files are generally not updated. Will be made in later commits.
Change-Id: Ibf35f70b3e6f2d3f9c117aaf26ecdb03f80158f8
Issue-ID: NONRTRIC-154
Signed-off-by: BjornMagnussonXA <bjorn.magnusson@est.tech>
diff --git a/near-rt-ric-simulator/auto-test/.gitignore b/near-rt-ric-simulator/auto-test/.gitignore
index 1c5ae4e..6215d91 100644
--- a/near-rt-ric-simulator/auto-test/.gitignore
+++ b/near-rt-ric-simulator/auto-test/.gitignore
@@ -1,2 +1,10 @@
logs
-.tmp_*
\ No newline at end of file
+.tmp_*
+.http*
+.p.json
+.tmp.json
+.docker-images-table
+.image-list
+.tmp.curl.json
+.consul*
+.ext.consul*
diff --git a/near-rt-ric-simulator/auto-test/Dockerize_test.sh b/near-rt-ric-simulator/auto-test/Dockerize_test.sh
index 34532c9..dec3217 100755
--- a/near-rt-ric-simulator/auto-test/Dockerize_test.sh
+++ b/near-rt-ric-simulator/auto-test/Dockerize_test.sh
@@ -16,7 +16,7 @@
consul_config_app "../simulator-group/consul_cbs/config.json"
-start_dashboard
+start_control_panel
start_sdnc
diff --git a/near-rt-ric-simulator/auto-test/FTC1.sh b/near-rt-ric-simulator/auto-test/FTC1.sh
deleted file mode 100755
index 7c614a4..0000000
--- a/near-rt-ric-simulator/auto-test/FTC1.sh
+++ /dev/null
@@ -1,22 +0,0 @@
-#!/usr/bin/env bash
-
-TC_ONELINE_DESCR="Auto test for Policy Agent refreshing configurations from consul/cbs"
-
-. ../common/testcase_common.sh $1
-
-#### TEST BEGIN ####
-
-clean_containers
-
-start_simulators
-
-consul_config_app "../simulator-group/consul_cbs/config.json"
-
-start_policy_agent
-
-check_policy_agent_logs
-
-#### TEST COMPLETE ####
-
-store_logs END
-
diff --git a/near-rt-ric-simulator/auto-test/FTC10.sh b/near-rt-ric-simulator/auto-test/FTC10.sh
new file mode 100755
index 0000000..8808895
--- /dev/null
+++ b/near-rt-ric-simulator/auto-test/FTC10.sh
@@ -0,0 +1,170 @@
+#!/usr/bin/env bash
+
+# ============LICENSE_START===============================================
+# Copyright (C) 2020 Nordix Foundation. All rights reserved.
+# ========================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=================================================
+#
+
+TC_ONELINE_DESCR="Basic use case, register rapp, create/update policy, delete policy, de-register rapp using both STD and OSC interface over REST and Dmaap"
+
+. ../common/testcase_common.sh $@
+. ../common/agent_api_functions.sh
+
+
+#### TEST BEGIN ####
+
+#Local vars in test script
+##########################
+# Path to callback receiver
+CR_PATH="http://$CR_APP_NAME:$CR_EXTERNAL_PORT/callbacks"
+
+clean_containers
+
+start_ric_simulators ricsim_g1 3 OSC_2.1.0
+
+start_ric_simulators ricsim_g2 5 STD_1.1.3
+
+start_mr
+
+start_cr
+
+start_consul_cbs
+
+prepare_consul_config NOSDNC ".consul_config.json"
+consul_config_app ".consul_config.json"
+
+start_control_panel
+
+#start_sdnc
+
+start_policy_agent
+
+use_agent_rest
+
+api_get_status 200
+
+sim_print ricsim_g1_1 interface
+
+sim_print ricsim_g2_1 interface
+
+sim_put_policy_type 201 ricsim_g1_1 1 testdata/OSC/sim_1.json
+
+api_equal json:policy_types 2 60
+
+
+# Create policies
+use_agent_rest
+
+api_put_service 201 "rapp1" 3600 "$CR_PATH/callbacks/1"
+
+api_put_policy 201 "rapp1" ricsim_g1_1 1 2000 testdata/OSC/pi1_template.json 1
+
+sim_equal ricsim_g1_1 num_instances 1
+
+
+use_agent_dmaap
+
+api_put_policy 201 "rapp1" ricsim_g1_1 1 3000 testdata/OSC/pi1_template.json 1
+
+sim_equal ricsim_g1_1 num_instances 2
+
+
+use_agent_rest
+
+api_put_policy 201 "rapp1" ricsim_g2_1 NOTYPE 2100 testdata/STD/pi1_template.json 1
+
+sim_equal ricsim_g2_1 num_instances 1
+
+
+use_agent_dmaap
+
+api_put_policy 201 "rapp1" ricsim_g2_1 NOTYPE 3100 testdata/STD/pi1_template.json 1
+
+sim_equal ricsim_g2_1 num_instances 2
+
+
+#Update policies
+use_agent_rest
+
+api_put_service 200 "rapp1" 3600 "$CR_PATH/callbacks/1"
+
+api_put_policy 200 "rapp1" ricsim_g1_1 1 2000 testdata/OSC/pi1_template.json 1
+
+sim_equal ricsim_g1_1 num_instances 2
+
+
+use_agent_dmaap
+
+api_put_policy 200 "rapp1" ricsim_g1_1 1 3000 testdata/OSC/pi1_template.json 1
+
+sim_equal ricsim_g1_1 num_instances 2
+
+
+use_agent_rest
+
+
+api_put_policy 200 "rapp1" ricsim_g2_1 NOTYPE 2100 testdata/STD/pi1_template.json 1
+
+sim_equal ricsim_g2_1 num_instances 2
+
+
+use_agent_dmaap
+
+api_put_policy 200 "rapp1" ricsim_g2_1 NOTYPE 3100 testdata/STD/pi1_template.json 1
+
+sim_equal ricsim_g2_1 num_instances 2
+
+# Check policies
+api_get_policy 200 2000 testdata/OSC/pi1_template.json
+api_get_policy 200 3000 testdata/OSC/pi1_template.json
+api_get_policy 200 2100 testdata/STD/pi1_template.json
+api_get_policy 200 3100 testdata/STD/pi1_template.json
+
+# Remove policies
+
+use_agent_dmaap
+api_delete_policy 204 2000
+use_agent_rest
+api_delete_policy 204 3000
+use_agent_dmaap
+api_delete_policy 204 2100
+use_agent_rest
+api_delete_policy 204 3100
+
+sim_equal ricsim_g1_1 num_instances 0
+sim_equal ricsim_g2_1 num_instances 0
+
+# Check policy removal
+use_agent_rest
+api_get_policy 404 2000
+api_get_policy 404 3000
+api_get_policy 404 2100
+api_get_policy 404 3100
+
+# Remove the service
+use_agent_dmaap
+api_delete_services 204 "rapp1"
+
+api_get_services 404 "rapp1"
+
+
+
+check_policy_agent_logs
+
+#### TEST COMPLETE ####
+
+store_logs END
+
+print_result
\ No newline at end of file
diff --git a/near-rt-ric-simulator/auto-test/FTC100.sh b/near-rt-ric-simulator/auto-test/FTC100.sh
new file mode 100755
index 0000000..79fdd49
--- /dev/null
+++ b/near-rt-ric-simulator/auto-test/FTC100.sh
@@ -0,0 +1,324 @@
+#!/usr/bin/env bash
+
+# ============LICENSE_START===============================================
+# Copyright (C) 2020 Nordix Foundation. All rights reserved.
+# ========================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=================================================
+#
+
+
+TC_ONELINE_DESCR="Full agent API walk through using agent REST/DMAAP and with/without SDNC A1 Controller"
+
+. ../common/testcase_common.sh $@
+. ../common/agent_api_functions.sh
+. ../common/ricsimulator_api_functions.sh
+. ../common/controller_api_functions.sh
+
+#### TEST BEGIN ####
+
+#Local vars in test script
+##########################
+
+# Path to callback receiver
+CR_PATH="http://$CR_APP_NAME:$CR_EXTERNAL_PORT/callbacks"
+
+# Tested variants of REST/DMAAP/SDNC config
+TESTED_VARIANTS="REST DMAAP REST+SDNC DMAAP+SDNC"
+
+
+for interface in $TESTED_VARIANTS ; do
+
+ echo "#####################################################################"
+ echo "#####################################################################"
+ echo "### Testing agent: "$interface
+ echo "#####################################################################"
+ echo "#####################################################################"
+
+
+ # Clean container and start all needed containers #
+ clean_containers
+
+ start_ric_simulators ricsim_g1 1 OSC_2.1.0
+ start_ric_simulators ricsim_g2 1 STD_1.1.3
+
+ start_mr
+
+ start_cr
+
+ start_consul_cbs
+
+ if [ $interface == "SDNC" ] || [ $interface == "DMAAP+SDNC" ]; then
+ prepare_consul_config SDNC ".consul_config.json"
+ else
+ prepare_consul_config NOSDNC ".consul_config.json"
+ fi
+
+ consul_config_app ".consul_config.json"
+
+ start_control_panel
+
+ if [ $interface == "SDNC" ] || [ $interface == "DMAAP+SDNC" ]; then
+ start_sdnc
+ fi
+
+ start_policy_agent
+
+ if [ $interface == "DMAAP" ] || [ $interface == "DMAAP+SDNC" ]; then
+ use_agent_dmaap
+ else
+ use_agent_rest
+ fi
+
+
+ cr_equal received_callbacks 0
+ mr_equal requests_submitted 0
+
+ sim_put_policy_type 201 ricsim_g1_1 1 testdata/OSC/sim_1.json
+ sim_put_policy_type 201 ricsim_g1_1 2 testdata/OSC/sim_2.json
+
+ api_equal json:rics 2 60
+
+ api_equal json:policy_schemas 3 120
+
+ api_equal json:policy_types 3
+
+ api_equal json:policies 0
+
+ api_equal json:policy_ids 0
+
+
+
+
+ echo "############################################"
+ echo "############## Health check ################"
+ echo "############################################"
+
+ api_get_status 200
+
+ echo "############################################"
+ echo "##### Service registry and supervision #####"
+ echo "############################################"
+
+ api_get_services 404 "rapp1"
+
+ api_put_service 201 "rapp1" 1000 "$CR_PATH/1"
+
+ api_put_service 200 "rapp1" 2000 "$CR_PATH/1"
+
+
+ api_put_service 400 "rapp2" -1 "$CR_PATH/2"
+
+ api_put_service 400 "rapp2" "wrong" "$CR_PATH/2"
+
+ api_put_service 400 "rapp2" 100 "/test"
+
+ api_put_service 400 "rapp2" 100 "test-path"
+
+ api_put_service 201 "rapp2" 300 "ftp://localhost:80/test"
+
+ api_get_services 200 "rapp1" "rapp1" 2000 "$CR_PATH/1"
+
+ api_get_service_ids 200 "rapp1" "rapp2"
+
+
+ api_put_service 201 "rapp3" 5000 "$CR_PATH/3"
+
+
+ api_get_service_ids 200 "rapp1" "rapp2" "rapp3"
+
+
+ api_get_services 200 "rapp1" "rapp1" 2000 "$CR_PATH/1"
+
+ api_get_services 200 NOSERVICE "rapp1" 2000 "$CR_PATH/1" "rapp2" 300 "ftp://localhost:80/test" "rapp3" 5000 "$CR_PATH/3"
+
+ api_get_services 200
+
+ echo -e $YELLOW"TR2"$EYELLOW
+ api_put_services_keepalive 201 "rapp1"
+ echo -e $YELLOW"TR2"$EYELLOW
+ api_put_services_keepalive 201 "rapp3"
+
+ api_put_services_keepalive 200 "rapp1"
+
+ api_put_services_keepalive 200 "rapp3"
+
+ api_put_services_keepalive 404 "rapp5"
+
+ api_get_service_ids 200 "rapp1" "rapp2" "rapp3"
+
+ api_delete_services 204 "rapp1"
+
+ api_get_service_ids 200 "rapp2" "rapp3"
+
+
+ api_put_service 201 "rapp1" 50 "$CR_PATH/1"
+
+ api_get_service_ids 200 "rapp1" "rapp2" "rapp3"
+
+
+ api_delete_services 204 "rapp1"
+ api_delete_services 204 "rapp3"
+
+ api_equal json:services 1
+
+ api_delete_services 204 "rapp2"
+
+ api_equal json:services 0
+
+
+ echo "############################################"
+ echo "############## RIC Repository ##############"
+ echo "############################################"
+
+ api_get_rics 200 NOTYPE "ricsim_g1_1:me1_ricsim_g1_1,me2_ricsim_g1_1:1,2:AVAILABLE ricsim_g2_1:me1_ricsim_g2_1,me2_ricsim_g2_1:EMPTYTYPE:AVAILABLE"
+
+ api_get_rics 200 1 "ricsim_g1_1:me1_ricsim_g1_1,me2_ricsim_g1_1:1,2:AVAILABLE"
+
+ api_get_rics 404 47
+
+ api_get_rics 404 "test"
+
+
+ api_get_ric 200 me1_ricsim_g1_1 ricsim_g1_1
+
+ api_get_ric 200 me2_ricsim_g1_1 ricsim_g1_1
+
+ api_get_ric 200 me1_ricsim_g2_1 ricsim_g2_1
+
+ api_get_ric 200 me2_ricsim_g2_1 ricsim_g2_1
+
+ api_get_ric 404 test
+
+
+ echo "############################################"
+ echo "########### A1 Policy Management ###########"
+ echo "############################################"
+ echo -e $YELLOW"TR9"$EYELLOW
+ api_get_policy_schema 200 1 testdata/OSC/1.json
+ echo -e $YELLOW"TR9"$EYELLOW
+ api_get_policy_schema 200 2 testdata/OSC/2.json
+
+ api_get_policy_schema 404 3
+ echo -e $YELLOW"TR9"$EYELLOW
+ api_get_policy_schemas 200 NORIC testdata/OSC/1.json testdata/OSC/2.json NOFILE
+ echo -e $YELLOW"TR9"$EYELLOW
+ api_get_policy_schemas 200 ricsim_g1_1 testdata/OSC/1.json testdata/OSC/2.json
+
+ api_get_policy_schemas 200 ricsim_g2_1 NOFILE
+
+ api_get_policy_schemas 404 test
+
+
+
+ api_get_policy_types 200 NORIC 1 2 EMPTY
+
+ api_get_policy_types 200 ricsim_g1_1 1 2
+
+ api_get_policy_types 200 ricsim_g2_1 EMPTY
+
+ api_get_policy_types 404 dummy-ric
+
+
+
+ api_put_service 201 "rapp10" 3600 "$CR_PATH/1"
+ echo -e $YELLOW"TR10"$EYELLOW
+ api_put_policy 400 "unregistered-r-app" ricsim_g1_1 1 2000 testdata/OSC/pi1_template.json
+
+ api_put_policy 201 "rapp10" ricsim_g1_1 1 5000 testdata/OSC/pi1_template.json
+ api_put_policy 200 "rapp10" ricsim_g1_1 1 5000 testdata/OSC/pi1_template.json
+
+ api_put_policy 201 "rapp10" ricsim_g2_1 NOTYPE 5100 testdata/STD/pi1_template.json
+ api_put_policy 200 "rapp10" ricsim_g2_1 NOTYPE 5100 testdata/STD/pi1_template.json
+
+ VAL='NOT IN EFFECT'
+ api_get_policy_status 200 5000 OSC "$VAL" "false"
+ api_get_policy_status 200 5100 STD "UNDEFINED"
+
+
+ echo -e $YELLOW"TR10"$EYELLOW
+ api_equal json:policies 2
+ echo -e $YELLOW"TR10"$EYELLOW
+ api_equal json:policy_ids 2
+ echo -e $YELLOW"TR10"$EYELLOW
+ api_get_policy_ids 200 NORIC NOSERVICE NOTYPE 5000 5100
+ echo -e $YELLOW"TR10"$EYELLOW
+ api_get_policy_ids 200 ricsim_g1_1 NOSERVICE NOTYPE 5000
+
+ api_get_policy_ids 200 ricsim_g2_1 NOSERVICE NOTYPE 5100
+
+
+ api_get_policy_ids 200 NORIC "rapp10" NOTYPE 5000 5100
+ echo -e $YELLOW"TR10"$EYELLOW
+ api_get_policy_ids 200 NORIC NOSERVICE 1 5000
+
+ api_get_policy_ids 200 NORIC NOSERVICE 2 NOID
+
+ api_get_policy_ids 200 ricsim_g2_1 NOSERVICE 1 NOID
+
+
+ api_get_policy 200 5000 testdata/OSC/pi1_template.json
+
+ api_get_policy 200 5100 testdata/STD/pi1_template.json
+
+
+
+ api_get_policies 200 ricsim_g1_1 "rapp10" 1 5000 ricsim_g1_1 "rapp10" 1 testdata/OSC/pi1_template.json
+
+
+
+
+ echo -e $YELLOW"TR10"$EYELLOW
+ api_delete_policy 404 2000
+
+ api_delete_policy 404 1500
+
+ api_delete_policy 204 5000
+
+ api_equal json:policies 1
+
+ api_equal json:policy_ids 1
+
+ api_delete_policy 204 5100
+
+ api_equal json:policies 0
+
+ api_equal json:policy_ids 0
+
+ cr_equal received_callbacks 0
+
+ if [ $interface == "DMAAP" ] || [ $interface == "DMAAP+SDNC" ]; then
+ mr_greater requests_submitted 0
+ VAL=$(mr_read requests_submitted)
+ mr_equal requests_fetched $VAL
+ mr_equal responses_submitted $VAL
+ mr_equal responses_fetched $VAL
+ mr_equal current_requests 0
+ mr_equal current_responses 0
+ else
+ mr_equal requests_submitted 0
+ fi
+
+ check_policy_agent_logs
+ check_control_panel_logs
+
+ store_logs $interface
+
+done
+
+#### TEST COMPLETE ####
+
+
+print_result
+
+auto_clean_containers
diff --git a/near-rt-ric-simulator/auto-test/FTC200.sh b/near-rt-ric-simulator/auto-test/FTC200.sh
new file mode 100755
index 0000000..2f62c56
--- /dev/null
+++ b/near-rt-ric-simulator/auto-test/FTC200.sh
@@ -0,0 +1,158 @@
+#!/usr/bin/env bash
+
+# ============LICENSE_START===============================================
+# Copyright (C) 2020 Nordix Foundation. All rights reserved.
+# ========================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=================================================
+#
+
+
+TC_ONELINE_DESCR="Testing of service registration timeouts and keepalive"
+
+. ../common/testcase_common.sh $@
+. ../common/agent_api_functions.sh
+. ../common/ricsimulator_api_functions.sh
+
+
+#Local vars in test script
+##########################
+# Path to callback receiver
+CR_PATH="http://$CR_APP_NAME:$CR_EXTERNAL_PORT/callbacks"
+
+
+#### TEST BEGIN ####
+
+clean_containers
+
+start_ric_simulators ricsim_g1 1 OSC_2.1.0
+
+start_mr
+
+start_cr
+
+start_consul_cbs
+
+prepare_consul_config NOSDNC ".consul_config.json"
+consul_config_app ".consul_config.json"
+
+start_control_panel
+
+#start_sdnc
+
+start_policy_agent
+
+use_agent_rest
+
+#Verify no callbacks or dmaap messages has been sent
+cr_equal received_callbacks 0
+mr_equal requests_submitted 0
+
+#Check agent alive
+api_get_status 200
+
+#Print simulator interface version
+sim_print ricsim_g1_1 interface
+
+api_put_service 201 "rapp1" 15 "$CR_PATH/rapp1"
+
+api_get_services 200 "rapp1" 15 "$CR_PATH/rapp1"
+
+api_put_service 201 "rapp2" 120 "$CR_PATH/rapp2"
+
+api_get_services 200 "rapp2" 120 "$CR_PATH/rapp2"
+
+api_put_service 200 "rapp1" 50 "$CR_PATH/rapp1"
+api_put_service 200 "rapp2" 180 "$CR_PATH/rapp2"
+
+api_get_services 200 "rapp1" 50 "$CR_PATH/rapp1"
+api_get_services 200 "rapp2" 180 "$CR_PATH/rapp2"
+
+api_get_service_ids 200 "rapp1" "rapp2"
+
+sleep_wait 30 "Waiting for keep alive timeout"
+
+api_get_services 200 "rapp1" 50 "$CR_PATH/rapp1"
+api_get_services 200 "rapp2" 180 "$CR_PATH/rapp2"
+
+sleep_wait 100 "Waiting for keep alive timeout"
+
+api_get_services 404 "rapp1"
+api_get_services 200 "rapp2" 180 "$CR_PATH/rapp2"
+
+api_delete_services 204 "rapp2"
+
+api_get_services 404 "rapp1"
+api_get_services 404 "rapp2"
+
+api_put_service 201 "rapp3" 60 "$CR_PATH/rapp3"
+
+api_get_services 200 "rapp3" 60 "$CR_PATH/rapp3"
+
+sleep_wait 30 "Waiting for keep alive timeout"
+
+api_put_service 200 "rapp3" 60 "$CR_PATH/rapp3"
+
+sleep_wait 100 "Waiting for keep alive timeout"
+
+api_get_services 404 "rapp3"
+
+api_put_service 201 "rapp4" 120 "$CR_PATH/rapp4"
+
+sleep_wait 60 "Waiting for keep alive timeout"
+
+api_get_services 200 "rapp4" 120 "$CR_PATH/rapp4"
+
+api_put_services_keepalive 200 "rapp4"
+
+sleep_wait 90 "Waiting for keep alive timeout"
+
+api_get_services 200 "rapp4" 120 "$CR_PATH/rapp4"
+
+api_delete_services 204 "rapp4"
+
+api_get_services 404 "rapp4"
+
+api_get_services 404 "rapp1"
+api_get_services 404 "rapp2"
+api_get_services 404 "rapp3"
+
+api_get_service_ids 200
+
+api_delete_services 404 "rapp1"
+api_delete_services 404 "rapp2"
+api_delete_services 404 "rapp3"
+api_delete_services 404 "rapp4"
+
+api_put_services_keepalive 404 "rapp1"
+api_put_services_keepalive 404 "rapp2"
+api_put_services_keepalive 404 "rapp3"
+api_put_services_keepalive 404 "rapp4"
+
+api_get_service_ids 200
+
+
+
+cr_equal received_callbacks 0
+mr_equal requests_submitted 0
+
+check_policy_agent_logs
+check_control_panel_logs
+
+#### TEST COMPLETE ####
+
+store_logs END
+
+print_result
+
+auto_clean_containers
\ No newline at end of file
diff --git a/near-rt-ric-simulator/auto-test/FTC300.sh b/near-rt-ric-simulator/auto-test/FTC300.sh
new file mode 100755
index 0000000..3b07f60
--- /dev/null
+++ b/near-rt-ric-simulator/auto-test/FTC300.sh
@@ -0,0 +1,90 @@
+#!/usr/bin/env bash
+
+# ============LICENSE_START===============================================
+# Copyright (C) 2020 Nordix Foundation. All rights reserved.
+# ========================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=================================================
+#
+
+TC_ONELINE_DESCR="Resync 10000 policies using OSC interface over REST"
+
+. ../common/testcase_common.sh $@
+. ../common/agent_api_functions.sh
+. ../common/ricsimulator_api_functions.sh
+
+#### TEST BEGIN ####
+
+#Local vars in test script
+##########################
+# Path to callback receiver
+CR_PATH="http://$CR_APP_NAME:$CR_EXTERNAL_PORT/callbacks"
+
+clean_containers
+
+start_ric_simulators ricsim_g1 4 OSC_2.1.0
+
+start_mr
+
+start_cr
+
+start_consul_cbs
+
+prepare_consul_config NOSDNC ".consul_config.json"
+consul_config_app ".consul_config.json"
+
+start_control_panel
+
+
+start_policy_agent
+
+use_agent_rest
+
+api_get_status 200
+
+sim_print ricsim_g1_1 interface
+
+sim_put_policy_type 201 ricsim_g1_1 1 testdata/OSC/sim_1.json
+
+api_equal json:policy_types 1 120 #Wait for the agent to refresh types from the simulator
+
+api_put_service 201 "rapp1" 3600 "$CR_PATH/callbacks/1"
+
+api_put_policy 201 "rapp1" ricsim_g1_1 1 2000 testdata/OSC/pi1_template.json 10000
+
+sim_equal ricsim_g1_1 num_instances 10000
+
+sim_post_delete_instances 200 ricsim_g1_1
+
+sim_equal ricsim_g1_1 num_instances 0
+
+sim_equal ricsim_g1_1 num_instances 10000 300
+
+api_delete_policy 204 2435
+
+api_delete_policy 204 8693
+
+sim_post_delete_instances 200 ricsim_g1_1
+
+sim_post_delete_instances 200 ricsim_g1_1
+
+sim_equal ricsim_g1_1 num_instances 9998 300
+
+
+check_policy_agent_logs
+
+#### TEST COMPLETE ####
+
+store_logs END
+
+print_result
\ No newline at end of file
diff --git a/near-rt-ric-simulator/auto-test/FTC310.sh b/near-rt-ric-simulator/auto-test/FTC310.sh
new file mode 100755
index 0000000..0edd82e
--- /dev/null
+++ b/near-rt-ric-simulator/auto-test/FTC310.sh
@@ -0,0 +1,172 @@
+#!/usr/bin/env bash
+
+# ============LICENSE_START===============================================
+# Copyright (C) 2020 Nordix Foundation. All rights reserved.
+# ========================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=================================================
+#
+
+TC_ONELINE_DESCR="Repeatedly create and delete 10000 policies in each RICs for 24h. Via agent REST"
+
+. ../common/testcase_common.sh $@
+. ../common/agent_api_functions.sh
+. ../common/ricsimulator_api_functions.sh
+
+#### TEST BEGIN ####
+
+#Local vars in test script
+##########################
+# Path to callback receiver
+CR_PATH="http://$CR_APP_NAME:$CR_EXTERNAL_PORT/callbacks"
+# Number of RICs per interface type (OSC and STD)
+NUM_RICS=4
+# Number of policy instances per RIC
+NUM_INSTANCES=10000
+
+clean_containers
+
+start_ric_simulators ricsim_g1 4 OSC_2.1.0
+
+start_ric_simulators ricsim_g2 4 STD_1.1.3
+
+start_mr
+
+start_cr
+
+start_consul_cbs
+
+prepare_consul_config NOSDNC ".consul_config.json"
+consul_config_app ".consul_config.json"
+
+start_control_panel
+
+start_policy_agent
+
+use_agent_rest
+
+api_get_status 200
+
+echo "Print the interface for group 1 simulators, shall be OSC"
+for ((i=1; i<=$NUM_RICS; i++))
+do
+ sim_print ricsim_g1_$i interface
+done
+
+echo "Print the interface for group 2 simulators, shall be STD"
+for ((i=1; i<=$NUM_RICS; i++))
+do
+ sim_print ricsim_g2_$i interface
+done
+
+echo "Load policy type in group 1 simulators"
+for ((i=1; i<=$NUM_RICS; i++))
+do
+ sim_put_policy_type 201 ricsim_g1_$i 1 testdata/OSC/sim_1.json
+done
+
+echo "Check the number of instances in group 1 simulators, shall be 0"
+for ((i=1; i<=$NUM_RICS; i++))
+do
+ sim_equal ricsim_g1_$i num_instances 0
+done
+
+echo "Check the number of instances in group 2 simulators, shall be 0"
+for ((i=1; i<=$NUM_RICS; i++))
+do
+ sim_equal ricsim_g2_$i num_instances 0
+done
+
+echo "Wait for the agent to refresh types from the simulator"
+api_equal json:policy_types 2 120
+
+echo "Check the number of types in the agent for each ric is 1"
+for ((i=1; i<=$NUM_RICS; i++))
+do
+ api_equal json:policy_types?ric=ricsim_g1_$i 1 120
+done
+
+echo "Register a service"
+api_put_service 201 "rapp1" 0 "$CR_PATH/1"
+
+TEST_DURATION=$((24*3600))
+TEST_START=$SECONDS
+
+while [ $(($SECONDS-$TEST_START)) -lt $TEST_DURATION ]; do
+
+ echo ""
+ echo "#########################################################################################################"
+ echo -e $BOLD"INFO: Test executed for: "$(($SECONDS-$TEST_START)) "seconds. Target is: "$TEST_DURATION" seconds (24h)."$EBOLD
+ echo "#########################################################################################################"
+ echo ""
+
+
+ echo "Create 10000 instances in each OSC RIC"
+ INSTANCE_ID=200000
+ INSTANCES=0
+ for ((i=1; i<=$NUM_RICS; i++))
+ do
+ api_put_policy 201 "rapp1" ricsim_g1_$i 1 $INSTANCE_ID testdata/OSC/pi1_template.json $NUM_INSTANCES
+ sim_equal ricsim_g1_$i num_instances $NUM_INSTANCES
+ INSTANCE_ID=$(($INSTANCE_ID+$NUM_INSTANCES))
+ INSTANCES=$(($INSTANCES+$NUM_INSTANCES))
+ done
+
+ api_equal json:policy_ids $INSTANCES
+
+ echo "Create 10000 instances in each OSC RIC"
+ for ((i=1; i<=$NUM_RICS; i++))
+ do
+ api_put_policy 201 "rapp1" ricsim_g2_$i NOTYPE $INSTANCE_ID testdata/STD/pi1_template.json $NUM_INSTANCES
+ sim_equal ricsim_g2_$i num_instances $NUM_INSTANCES
+ INSTANCE_ID=$(($INSTANCE_ID+$NUM_INSTANCES))
+ INSTANCES=$(($INSTANCES+$NUM_INSTANCES))
+ done
+
+ api_equal json:policy_ids $INSTANCES
+
+
+ echo "Delete all instances in each OSC RIC"
+
+ INSTANCE_ID=200000
+ for ((i=1; i<=$NUM_RICS; i++))
+ do
+ api_delete_policy 204 $INSTANCE_ID $NUM_INSTANCES
+ INSTANCES=$(($INSTANCES-$NUM_INSTANCES))
+ sim_equal ricsim_g1_$i num_instances $NUM_INSTANCES
+ INSTANCE_ID=$(($INSTANCE_ID+$NUM_INSTANCES))
+ done
+
+ api_equal json:policy_ids $INSTANCES
+
+ echo "Delete all instances in each STD RIC"
+ INSTANCE_ID=200000
+ for ((i=1; i<=$NUM_RICS; i++))
+ do
+ api_delete_policy 204 $INSTANCE_ID $NUM_INSTANCES
+ INSTANCES=$(($INSTANCES-$NUM_INSTANCES))
+ sim_equal ricsim_g2_$i num_instances $NUM_INSTANCES
+ INSTANCE_ID=$(($INSTANCE_ID+$NUM_INSTANCES))
+ done
+
+ api_equal json:policy_ids 0
+done
+
+
+check_policy_agent_logs
+
+#### TEST COMPLETE ####
+
+store_logs END
+
+print_result
\ No newline at end of file
diff --git a/near-rt-ric-simulator/auto-test/FTC320.sh b/near-rt-ric-simulator/auto-test/FTC320.sh
new file mode 100755
index 0000000..2b1b96a
--- /dev/null
+++ b/near-rt-ric-simulator/auto-test/FTC320.sh
@@ -0,0 +1,202 @@
+#!/usr/bin/env bash
+
+# ============LICENSE_START===============================================
+# Copyright (C) 2020 Nordix Foundation. All rights reserved.
+# ========================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=================================================
+#
+
+TC_ONELINE_DESCR="Create and delete 50 policies in each 50 RICs, 25 STD version, 25 OSC version. Via agent REST"
+
+. ../common/testcase_common.sh $@
+. ../common/agent_api_functions.sh
+. ../common/ricsimulator_api_functions.sh
+
+#### TEST BEGIN ####
+
+#Local vars in test script
+##########################
+# Path to callback receiver
+CR_PATH="http://$CR_APP_NAME:$CR_EXTERNAL_PORT/callbacks"
+# Number of RICs
+NUM_RICS=25
+# Number of instances per RIC
+NUM_INST=50
+
+# Clean and start all containers
+clean_containers
+
+start_ric_simulators ricsim_g1 $NUM_RICS OSC_2.1.0
+
+start_ric_simulators ricsim_g2 $NUM_RICS STD_1.1.3
+
+start_mr
+
+start_cr
+
+start_consul_cbs
+
+prepare_consul_config NOSDNC ".consul_config.json"
+consul_config_app ".consul_config.json"
+
+start_control_panel
+
+start_policy_agent
+
+use_agent_rest
+
+set_agent_debug
+
+# Main tests
+
+echo "Checking agent is alive"
+api_get_status 200
+
+
+echo "Print the interface for group 1 simulators, shall be OSC"
+for ((i=1; i<=$NUM_RICS; i++))
+do
+ sim_print ricsim_g1_$i interface
+done
+
+echo "Print the interface for group 2 simulators, shall be STD"
+for ((i=1; i<=$NUM_RICS; i++))
+do
+ sim_print ricsim_g2_$i interface
+done
+
+echo "Checking the number of policy instances in each group 1 simulator, shall be 0"
+for ((i=1; i<=$NUM_RICS; i++))
+do
+ sim_equal ricsim_g1_$i num_instances 0
+done
+
+echo "Checking the number of policy instances in each group 2 simulator, shall be 0"
+for ((i=1; i<=$NUM_RICS; i++))
+do
+ sim_equal ricsim_g1_$i num_instances 0
+done
+
+echo "Load policy type 1 in each group 1 simulator"
+for ((i=1; i<=$NUM_RICS; i++))
+do
+ sim_put_policy_type 201 ricsim_g1_$i 1 testdata/OSC/sim_1.json
+done
+
+echo "Checking the number of policy types in each group 1 simulator, shall be 1"
+for ((i=1; i<=$NUM_RICS; i++))
+do
+ sim_equal ricsim_g1_$i num_types 1
+done
+
+echo "Checking the number of policy types in each group 2 simulator, shall be 0"
+for ((i=1; i<=$NUM_RICS; i++))
+do
+ sim_equal ricsim_g2_$i num_types 0
+done
+
+echo "Check the number of rics, shall be the configured number: ""$(($NUM_RICS*2))"
+api_equal json:rics "$(($NUM_RICS*2))" 120
+
+api_equal json:policy_types 2 120 #Wait for the agent to refresh types from the simulator
+
+sleep_wait 120 "Wait for the agent to refresh the types from all rics"
+
+echo "Check the number of types in the agent for each group 1 rics, shall be 1"
+for ((i=1; i<=$NUM_RICS; i++))
+do
+ api_equal json:policy_types?ric=ricsim_g1_$i 1
+done
+
+echo "Check the number of types in the agent for each group 2 rics, shall be 1"
+for ((i=1; i<=$NUM_RICS; i++))
+do
+ api_equal json:policy_types?ric=ricsim_g2_$i 1
+done
+
+echo "Register the service"
+api_put_service 201 "rapp1" 0 "$CR_PATH/1"
+
+echo "Loading "$NUM_INST" policies in each group 1 ric"
+for ((i=1; i<=$NUM_RICS; i++))
+do
+ inst=$((1000000+$i*$NUM_INST))
+ api_put_policy 201 "rapp1" ricsim_g1_$i 1 $inst testdata/OSC/pi1_template.json $NUM_INST
+done
+
+echo "Loading "$NUM_INST" policies in each group 2 ric"
+for ((i=1; i<=$NUM_RICS; i++))
+do
+ inst=$((2000000+$i*$NUM_INST))
+ api_put_policy 201 "rapp1" ricsim_g2_$i NOTYPE $inst testdata/STD/pi1_template.json $NUM_INST
+done
+
+echo "Check the number of types in the agent for each group 1 rics, shall be 1"
+for ((i=1; i<=$NUM_RICS; i++))
+do
+ api_equal json:policy_types?ric=ricsim_g1_$i 1
+done
+
+echo "Check the number of types in the agent for each group 2 rics, shall be 1"
+for ((i=1; i<=$NUM_RICS; i++))
+do
+ api_equal json:policy_types?ric=ricsim_g2_$i 1
+done
+
+echo "Checking the number of policy instances in each group 1 simulator, shall be "$NUM_INST
+for ((i=1; i<=$NUM_RICS; i++))
+do
+ sim_equal ricsim_g1_$i num_instances 50
+done
+
+echo "Checking the number of policy instances in each group 2 simulator, shall be "$NUM_INST
+for ((i=1; i<=$NUM_RICS; i++))
+do
+ sim_equal ricsim_g2_$i num_instances 50
+done
+
+echo "Deleting "$NUM_INST" policies in each group 1 ric"
+for ((i=1; i<=$NUM_RICS; i++))
+do
+ inst=$((1000000+$i*$NUM_INST))
+ api_delete_policy 201 $NUM_INST
+done
+
+echo "Deleting "$NUM_INST" policies in each group 2 ric"
+for ((i=1; i<=$NUM_RICS; i++))
+do
+ inst=$((2000000+$i*$NUM_INST))
+ api_delete_policy 201 $NUM_INST
+done
+
+echo "Checking the number of policy instances in each group 1 simulator, shall be 0"
+for ((i=1; i<=$NUM_RICS; i++))
+do
+ sim_equal ricsim_g1_$i num_instances 50
+done
+
+echo "Checking the number of policy instances in each group 1 simulator, shall be 0"
+for ((i=1; i<=$NUM_RICS; i++))
+do
+ sim_equal ricsim_g2_$i num_instances 50
+done
+
+
+check_policy_agent_logs
+
+#### TEST COMPLETE ####
+
+store_logs END
+
+print_result
\ No newline at end of file
diff --git a/near-rt-ric-simulator/auto-test/FTC500.sh b/near-rt-ric-simulator/auto-test/FTC500.sh
new file mode 100755
index 0000000..41c0824
--- /dev/null
+++ b/near-rt-ric-simulator/auto-test/FTC500.sh
@@ -0,0 +1,74 @@
+#!/usr/bin/env bash
+
+# ============LICENSE_START===============================================
+# Copyright (C) 2020 Nordix Foundation. All rights reserved.
+# ========================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=================================================
+#
+
+
+TC_ONELINE_DESCR="Sample tests of the SDNC A1 controller restconf API"
+
+. ../common/testcase_common.sh $@
+. ../common/controller_api_functions.sh
+. ../common/ricsimulator_api_functions.sh
+
+#### TEST BEGIN ####
+
+# Clean container and start all needed containers #
+clean_containers
+
+start_ric_simulators ricsim_g1 1 OSC_2.1.0
+start_ric_simulators ricsim_g2 1 STD_1.1.3
+
+start_sdnc
+
+# API tests
+echo -e $YELLOW"TR13"$EYELLOW
+controller_api_get_A1_policy_type 404 OSC ricsim_g1_1 1
+
+sim_put_policy_type 201 ricsim_g1_1 1 testdata/OSC/sim_1.json
+
+
+controller_api_get_A1_policy_ids 200 OSC ricsim_g1_1 1
+controller_api_get_A1_policy_ids 200 STD ricsim_g2_1
+
+controller_api_get_A1_policy_type 200 OSC ricsim_g1_1 1
+controller_api_get_A1_policy_type 200 OSC ricsim_g1_1 1 testdata/OSC/sim_1.json
+
+controller_api_put_A1_policy 202 OSC ricsim_g1_1 1 4000 testdata/OSC/pi1_template.json
+controller_api_put_A1_policy 201 STD ricsim_g2_1 5000 testdata/STD/pi1_template.json
+
+controller_api_get_A1_policy_ids 200 OSC ricsim_g1_1 1 4000
+controller_api_get_A1_policy_ids 200 STD ricsim_g2_1 5000
+
+controller_api_get_A1_policy_status 200 OSC ricsim_g1_1 1 4000
+controller_api_get_A1_policy_status 200 STD ricsim_g2_1 5000
+
+VAL='NOT IN EFFECT'
+controller_api_get_A1_policy_status 200 OSC ricsim_g1_1 1 4000 "$VAL" "false"
+controller_api_get_A1_policy_status 200 STD ricsim_g2_1 5000 "UNDEFINED"
+
+controller_api_delete_A1_policy 202 OSC ricsim_g1_1 1 4000
+controller_api_delete_A1_policy 204 STD ricsim_g2_1 5000
+
+
+
+store_logs END
+
+#### TEST COMPLETE ####
+
+print_result
+
+auto_clean_containers
\ No newline at end of file
diff --git a/near-rt-ric-simulator/auto-test/FTC_SDNC.sh b/near-rt-ric-simulator/auto-test/FTC_SDNC.sh
new file mode 100755
index 0000000..0a8dce5
--- /dev/null
+++ b/near-rt-ric-simulator/auto-test/FTC_SDNC.sh
@@ -0,0 +1,94 @@
+#!/usr/bin/env bash
+
+# ============LICENSE_START===============================================
+# Copyright (C) 2020 Nordix Foundation. All rights reserved.
+# ========================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=================================================
+#
+
+TC_ONELINE_DESCR="Create 1 policy with SDNC and 1 policy without SDNC over agent REST"
+
+. ../common/testcase_common.sh $@
+. ../common/agent_api_functions.sh
+
+#### TEST BEGIN ####
+
+VARIANTS="NOSDNC SDNC"
+
+for TEST in $VARIANTS ; do
+
+
+ clean_containers
+
+ start_ric_simulators ricsim_g1 1 OSC_2.1.0
+ start_ric_simulators ricsim_g2 1 STD_1.1.3
+
+ start_mr
+
+ start_cr
+
+ start_consul_cbs
+
+ prepare_consul_config $TEST ".consul_config.json"
+ consul_config_app ".consul_config.json"
+
+ start_control_panel
+
+ if [ $TEST == "SDNC" ]; then
+ start_sdnc
+ fi
+
+ start_policy_agent
+
+
+ set_agent_debug
+
+ use_agent_rest
+
+ echo "Using: "$TEST
+
+ api_get_status 200
+
+ sim_print ricsim_g1_1 interface
+ sim_print ricsim_g2_1 interface
+
+ sim_put_policy_type 201 ricsim_g1_1 1 testdata/OSC/sim_1.json
+
+ api_equal json:policy_types 2 120 #Wait for the agent to refresh types from the simulator
+
+ api_put_service 201 "rapp1" 3600 "http://callback-receiver:8090/callbacks/1"
+
+ api_put_policy 201 "rapp1" ricsim_g1_1 1 2000 testdata/OSC/pi1_template.json 10
+
+ api_put_policy 201 "rapp1" ricsim_g2_1 NOTYPE 3000 testdata/STD/pi1_template.json 10
+
+ sim_equal ricsim_g1_1 num_instances 10
+ sim_equal ricsim_g2_1 num_instances 10
+
+
+ check_policy_agent_logs
+ check_control_panel_logs
+
+ store_logs $TEST
+
+ echo ""
+ echo -e $BOLD"Test complete for variant: "$TEST $EBOLD
+ echo ""
+
+done
+
+#### TEST COMPLETE ####
+
+print_result
+
diff --git a/near-rt-ric-simulator/auto-test/Suite-interfaces.sh b/near-rt-ric-simulator/auto-test/Suite-interfaces.sh
new file mode 100755
index 0000000..38eb83a
--- /dev/null
+++ b/near-rt-ric-simulator/auto-test/Suite-interfaces.sh
@@ -0,0 +1,16 @@
+#!/bin/bash
+
+TS_ONELINE_DESCR="Test suite - interface testing. Agent REST and SNDC controller resconf"
+
+. ../common/testsuite_common.sh
+
+suite_setup
+
+############# TEST CASES #################
+
+./FTC10.sh $1
+./FTC500.sh $1
+
+##########################################
+
+suite_complete
\ No newline at end of file
diff --git a/near-rt-ric-simulator/auto-test/testdata/OSC/1.json b/near-rt-ric-simulator/auto-test/testdata/OSC/1.json
new file mode 100644
index 0000000..5fe68ce
--- /dev/null
+++ b/near-rt-ric-simulator/auto-test/testdata/OSC/1.json
@@ -0,0 +1,40 @@
+{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "title": "OSC_Type1_1.0.0",
+ "description": "Type 1 policy type",
+ "type": "object",
+ "properties": {
+ "scope": {
+ "type": "object",
+ "properties": {
+ "ueId": {
+ "type": "string"
+ },
+ "qosId": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "ueId",
+ "qosId"
+ ]
+ },
+ "qosObjective": {
+ "type": "object",
+ "properties": {
+ "priorityLevel": {
+ "type": "number"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "priorityLevel"
+ ]
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "scope", "qosObjective"
+ ]
+}
diff --git a/near-rt-ric-simulator/auto-test/testdata/OSC/2.json b/near-rt-ric-simulator/auto-test/testdata/OSC/2.json
new file mode 100644
index 0000000..9f8a4d4
--- /dev/null
+++ b/near-rt-ric-simulator/auto-test/testdata/OSC/2.json
@@ -0,0 +1,36 @@
+{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "title": "OSC_Type2_1.0.0",
+ "description": "Type 2 policy type",
+ "type": "object",
+ "properties": {
+ "scope": {
+ "type": "object",
+ "properties": {
+ "sliceId": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "sliceId"
+ ]
+ },
+ "qoeObjectives": {
+ "type": "object",
+ "properties": {
+ "qoeScore": {
+ "type": "number"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "qoeScore"
+ ]
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "scope", "qoeObjectives"
+ ]
+}
diff --git a/near-rt-ric-simulator/auto-test/testdata/OSC/pi1_template.json b/near-rt-ric-simulator/auto-test/testdata/OSC/pi1_template.json
new file mode 100644
index 0000000..7795808
--- /dev/null
+++ b/near-rt-ric-simulator/auto-test/testdata/OSC/pi1_template.json
@@ -0,0 +1,9 @@
+{
+ "scope": {
+ "ueId": "ueXXX",
+ "qosId": "qosXXX"
+ },
+ "qosObjective": {
+ "priorityLevel": XXX
+ }
+ }
\ No newline at end of file
diff --git a/near-rt-ric-simulator/auto-test/testdata/OSC/pi2_template.json b/near-rt-ric-simulator/auto-test/testdata/OSC/pi2_template.json
new file mode 100644
index 0000000..c8ac887
--- /dev/null
+++ b/near-rt-ric-simulator/auto-test/testdata/OSC/pi2_template.json
@@ -0,0 +1,8 @@
+{
+ "scope": {
+ "sliceId": "sliceXXX"
+ },
+ "qoeObjectives": {
+ "qoeScore": XXX
+ }
+ }
\ No newline at end of file
diff --git a/near-rt-ric-simulator/auto-test/testdata/OSC/sim_1.json b/near-rt-ric-simulator/auto-test/testdata/OSC/sim_1.json
new file mode 100644
index 0000000..537d86f
--- /dev/null
+++ b/near-rt-ric-simulator/auto-test/testdata/OSC/sim_1.json
@@ -0,0 +1,45 @@
+{
+ "name": "pt1",
+ "description": "pt1 policy type",
+ "policy_type_id": 1,
+ "create_schema": {
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "title": "OSC_Type1_1.0.0",
+ "description": "Type 1 policy type",
+ "type": "object",
+ "properties": {
+ "scope": {
+ "type": "object",
+ "properties": {
+ "ueId": {
+ "type": "string"
+ },
+ "qosId": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "ueId",
+ "qosId"
+ ]
+ },
+ "qosObjective": {
+ "type": "object",
+ "properties": {
+ "priorityLevel": {
+ "type": "number"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "priorityLevel"
+ ]
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "scope", "qosObjective"
+ ]
+ }
+}
diff --git a/near-rt-ric-simulator/auto-test/testdata/OSC/sim_2.json b/near-rt-ric-simulator/auto-test/testdata/OSC/sim_2.json
new file mode 100644
index 0000000..a9eb8f3
--- /dev/null
+++ b/near-rt-ric-simulator/auto-test/testdata/OSC/sim_2.json
@@ -0,0 +1,41 @@
+{
+ "name": "pt2",
+ "description": "Pt2 policy type",
+ "policy_type_id": 1,
+ "create_schema": {
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "title": "OSC_Type2_1.0.0",
+ "description": "Type 2 policy type",
+ "type": "object",
+ "properties": {
+ "scope": {
+ "type": "object",
+ "properties": {
+ "sliceId": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "sliceId"
+ ]
+ },
+ "qoeObjectives": {
+ "type": "object",
+ "properties": {
+ "qoeScore": {
+ "type": "number"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "qoeScore"
+ ]
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "scope", "qoeObjectives"
+ ]
+ }
+}
diff --git a/near-rt-ric-simulator/auto-test/testdata/STD/EMPTYTYPE.json b/near-rt-ric-simulator/auto-test/testdata/STD/EMPTYTYPE.json
new file mode 100644
index 0000000..9e26dfe
--- /dev/null
+++ b/near-rt-ric-simulator/auto-test/testdata/STD/EMPTYTYPE.json
@@ -0,0 +1 @@
+{}
\ No newline at end of file
diff --git a/near-rt-ric-simulator/auto-test/testdata/STD/pi1_template.json b/near-rt-ric-simulator/auto-test/testdata/STD/pi1_template.json
new file mode 100644
index 0000000..2a87513
--- /dev/null
+++ b/near-rt-ric-simulator/auto-test/testdata/STD/pi1_template.json
@@ -0,0 +1,9 @@
+{
+ "scope": {
+ "ueId": "ueXXX",
+ "qosId": "qosXXX"
+ },
+ "qosObjective": {
+ "priorityLevel": XXX
+ }
+}
\ No newline at end of file
diff --git a/near-rt-ric-simulator/auto-test/utils/pa-logviewer.sh b/near-rt-ric-simulator/auto-test/utils/pa-logviewer.sh
new file mode 100755
index 0000000..562bbea
--- /dev/null
+++ b/near-rt-ric-simulator/auto-test/utils/pa-logviewer.sh
@@ -0,0 +1,24 @@
+#!/usr/bin/env bash
+
+# ============LICENSE_START===============================================
+# Copyright (C) 2020 Nordix Foundation. All rights reserved.
+# ========================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=================================================
+#
+
+#Setup trace on
+
+curl http://localhost:8081/actuator/loggers/org.oransc.policyagent.clients.AsyncRestClient -X POST -H 'Content-Type: application/json' -d '{"configuredLevel":"debug"}'
+
+docker logs -f policy-agent-container
\ No newline at end of file