From: rohithrajneesh Date: Mon, 26 Feb 2024 13:57:15 +0000 (+0000) Subject: Aligning FTC's for Mediator with Custom Adapter X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=commitdiff_plain;h=53ebb953e0e18e695fd0e807c2f1282ef54ceeee;p=nonrtric.git Aligning FTC's for Mediator with Custom Adapter Issue ID: NONRTRIC-939 Change-Id: I317c96571706dc5914e0fdf60306a335356dfc33 Signed-off-by: rohithrajneesh --- diff --git a/test/auto-test/FTC1_A1PMS_ADAPTER.sh b/test/auto-test/FTC1_A1PMS_ADAPTER.sh index c4e299a4..d5723f0d 100755 --- a/test/auto-test/FTC1_A1PMS_ADAPTER.sh +++ b/test/auto-test/FTC1_A1PMS_ADAPTER.sh @@ -2,7 +2,7 @@ # ============LICENSE_START=============================================== # Copyright (C) 2020-2023 Nordix Foundation. All rights reserved. -# Copyright (C) 2023 OpenInfra Foundation Europe. All rights reserved. +# Copyright (C) 2023-2024 OpenInfra Foundation Europe. 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. @@ -141,7 +141,7 @@ for __httpx in $TESTED_PROTOCOLS ; do fi sim_put_policy_type 201 ricsim_g1_1 STD_QOS_0_2_0 testdata/STD2/sim_qos.json - sim_put_policy_type 201 ricsim_g2_1 $A1PMS_ADAPTER_POLICY_NAME testdata/STD2/sim_qos.json + sim_put_policy_type 201 ricsim_g2_1 $A1PMS_ADAPTER_POLICY_TYPE testdata/STD2/sim_qos.json a1pms_equal json:rics 2 300 @@ -177,7 +177,7 @@ for __httpx in $TESTED_PROTOCOLS ; do echo "############## RIC Repository ##############" echo "############################################" - a1pms_api_get_rics 200 NOTYPE "ricsim_g1_1:me1_ricsim_g1_1,me2_ricsim_g1_1:STD_QOS_0_2_0:AVAILABLE ricsim_g2_1:me1_ricsim_g2_1,me2_ricsim_g2_1:$A1PMS_ADAPTER_POLICY_NAME:AVAILABLE" + a1pms_api_get_rics 200 NOTYPE "ricsim_g1_1:me1_ricsim_g1_1,me2_ricsim_g1_1:STD_QOS_0_2_0:AVAILABLE ricsim_g2_1:me1_ricsim_g2_1,me2_ricsim_g2_1:$A1PMS_ADAPTER_POLICY_TYPE:AVAILABLE" echo "############################################" echo "########### A1 Policy Management ###########" @@ -188,8 +188,8 @@ for __httpx in $TESTED_PROTOCOLS ; do a1pms_api_put_policy 201 "serv1" ricsim_g1_1 STD_QOS_0_2_0 5000 true $notificationurl testdata/STD2/pi_qos_template.json a1pms_api_put_policy 200 "serv1" ricsim_g1_1 STD_QOS_0_2_0 5000 true $notificationurl testdata/STD2/pi_qos_template.json - a1pms_api_put_policy 201 "serv1" ricsim_g2_1 $A1PMS_ADAPTER_POLICY_NAME 5100 true $notificationurl testdata/STD2/pi_qos_template.json - a1pms_api_put_policy 200 "serv1" ricsim_g2_1 $A1PMS_ADAPTER_POLICY_NAME 5100 true $notificationurl testdata/STD2/pi_qos_template.json + a1pms_api_put_policy 201 "serv1" ricsim_g2_1 $A1PMS_ADAPTER_POLICY_TYPE 5100 true $notificationurl testdata/STD2/pi_qos_template.json + a1pms_api_put_policy 200 "serv1" ricsim_g2_1 $A1PMS_ADAPTER_POLICY_TYPE 5100 true $notificationurl testdata/STD2/pi_qos_template.json a1pms_equal json:policies 2 diff --git a/test/auto-test/FTC1_MEDIATOR_ADAPTER.sh b/test/auto-test/FTC1_MEDIATOR_ADAPTER.sh new file mode 100644 index 00000000..6428b673 --- /dev/null +++ b/test/auto-test/FTC1_MEDIATOR_ADAPTER.sh @@ -0,0 +1,147 @@ +#!/bin/bash +# ============LICENSE_START=============================================== +# Copyright (C) 2024 OpenInfra Foundation Europe. 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="Sanity test, create service and then create, update and delete a policy using http and A1PMS REST and REST+SDNC" + +# App names to include in the test when running docker, space separated list +DOCKER_INCLUDED_IMAGES="CP CR A1PMS RICSIM RICMEDIATORSIM NGW KUBEPROXY SDNC" + +# App names to include in the test when running kubernetes, space separated list +KUBE_INCLUDED_IMAGES="CP CR A1PMS RICSIM RICMEDIATORSIM NGW KUBEPROXY SDNC" +# Pre-started app (not started by script) to include in the test when running kubernetes, space separated list +KUBE_PRESTARTED_IMAGES="" +# Ignore image in DOCKER_INCLUDED_IMAGES, KUBE_INCLUDED_IMAGES if the image is not configured in the supplied env_file +# Used for images not applicable to all supported profile +CONDITIONALLY_IGNORED_IMAGES="NGW " + +# Supported test environment profiles +SUPPORTED_PROFILES="ORAN-I-RELEASE" +# Supported run modes +SUPPORTED_RUNMODES="DOCKER KUBE" + +. ../common/testcase_common.sh $@ +setup_testenvironment + +#### TEST BEGIN #### +sim_generate_policy_uuid + +# Tested variants of REST config +TESTED_VARIANTS="REST REST+SDNC" + +# Test a1pms and mediator protocol versions +TESTED_PROTOCOLS="HTTP" + +for __httpx in $TESTED_PROTOCOLS ; do + for interface in $TESTED_VARIANTS ; do + echo "#####################################################################" + echo "#####################################################################" + echo "### Testing a1pms: $interface using $__httpx" + echo "#####################################################################" + echo "#####################################################################" + + clean_environment + + start_kube_proxy + + use_a1pms_rest_http + use_ricmediator_simulator_http + + start_a1pms NORPOXY $SIM_GROUP/$A1PMS_COMPOSE_DIR/$A1PMS_CONFIG_FILE + set_a1pms_trace + + a1pms_api_put_service 201 "ric-registration" 0 "$CR_SERVICE_APP_PATH_0/ric-registration" + + use_cr_http + use_ricmediator_simulator_http + if [[ $interface = *"SDNC"* ]]; then + use_sdnc_http + fi + use_a1pms_rest_http + + start_ricmediator_simulators ricsim_g4 1 NONE + start_cr 1 + start_control_panel $SIM_GROUP/$CONTROL_PANEL_COMPOSE_DIR/$CONTROL_PANEL_CONFIG_FILE + + if [ ! -z "$NRT_GATEWAY_APP_NAME" ]; then + start_gateway $SIM_GROUP/$NRT_GATEWAY_COMPOSE_DIR/$NRT_GATEWAY_CONFIG_FILE + fi + + if [ -z "$A1PMS_SDNC_ADAPTER_CLASS" ] || [ -z "$A1PMS_NOSDNC_ADAPTER_CLASS" ]; then + echo -e $RED"Env vars A1PMS_SDNC_ADAPTER_CLASS and A1PMS_NOSDNC_ADAPTER_CLASS must be set with override file"$ERED + exit 1 + fi + + if [[ $interface = *"SDNC"* ]]; then + start_sdnc + prepare_a1pms_config SDNC ".a1pms_config.json" ricsim-g4 $A1PMS_SDNC_ADAPTER_CLASS + else + prepare_a1pms_config NOSDNC ".a1pms_config.json" ricsim-g4 $A1PMS_NOSDNC_ADAPTER_CLASS + fi + + if [ $RUNMODE == "KUBE" ]; then + a1pms_load_config ".a1pms_config.json" + else + a1pms_api_put_configuration 200 ".a1pms_config.json" + fi + + ricmediatorsim_put_policy_type 201 ricsim_g4_1 $A1PMS_ADAPTER_POLICY_TYPE testdata/OSC/sim_1.json + + a1pms_equal json:rics 1 300 + a1pms_equal json:policy-types 1 120 + a1pms_equal json:policies 0 + a1pms_equal json:policy-instances 0 + cr_equal 0 received_callbacks 1 120 + cr_api_check_all_sync_events 200 0 ric-registration ricsim_g4_1 + + echo "############################################" + echo "############## Health check ################" + echo "############################################" + sleep_wait 120 "Let A1PMS configuration take effect" + a1pms_api_get_status 200 + + echo "############################################" + echo "##### Service registry and supervision #####" + echo "############################################" + a1pms_api_put_service 201 "serv1" 1000 "$CR_SERVICE_APP_PATH_0/1" + a1pms_api_get_service_ids 200 "serv1" "ric-registration" + a1pms_api_put_services_keepalive 200 "serv1" + + echo "############################################" + echo "############## RIC Repository ##############" + echo "############################################" + a1pms_api_get_rics 200 NOTYPE "ricsim_g4_1:me1_ricsim_g4_1,me2_ricsim_g4_1:$A1PMS_ADAPTER_POLICY_TYPE:AVAILABLE" + + echo "############################################" + echo "########### A1 Policy Management ###########" + echo "############################################" + notificationurl=$CR_SERVICE_APP_PATH_0"/test" + a1pms_api_put_policy 201 "serv1" ricsim_g4_1 $A1PMS_ADAPTER_POLICY_TYPE 5300 NOTRANSIENT $notificationurl testdata/OSC/pi1_template.json + a1pms_api_put_policy 200 "serv1" ricsim_g4_1 $A1PMS_ADAPTER_POLICY_TYPE 5300 NOTRANSIENT $notificationurl testdata/OSC/pi1_template.json + + a1pms_equal json:policies 1 + a1pms_api_delete_policy 204 5300 + a1pms_equal json:policies 0 + a1pms_equal json:policy-instances 0 + cr_equal 0 received_callbacks 1 + + check_a1pms_logs + done +done + +#### TEST COMPLETE #### +print_result +auto_clean_environment \ No newline at end of file diff --git a/test/auto-test/mediator-override-adapter.sh b/test/auto-test/mediator-override-adapter.sh new file mode 100644 index 00000000..1b455a79 --- /dev/null +++ b/test/auto-test/mediator-override-adapter.sh @@ -0,0 +1,19 @@ +#!/bin/bash +################################################################################ +# Copyright (C) 2024 OpenInfra Foundation Europe. 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. # +################################################################################ + +A1PMS_NOSDNC_ADAPTER_CLASS="org.onap.ccsdk.oran.a1policymanagementservice.clients.A1MediatorAdapterI" # Adapter Java class +A1PMS_SDNC_ADAPTER_CLASS="org.onap.ccsdk.oran.a1policymanagementservice.clients.A1MediatorAdapterICCSDK" # Adapter Java class +A1PMS_ADAPTER_POLICY_TYPE="1" # Policy type for adapter \ No newline at end of file diff --git a/test/auto-test/override-adapter.sh b/test/auto-test/override-adapter.sh index faef149b..b020c491 100644 --- a/test/auto-test/override-adapter.sh +++ b/test/auto-test/override-adapter.sh @@ -1,7 +1,7 @@ #!/bin/bash ################################################################################ # Copyright (c) 2023 Nordix Foundation. # -# # +# Copyright (C) 2024 OpenInfra Foundation Europe. 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 # @@ -14,6 +14,5 @@ # See the License for the specific language governing permissions and # # limitations under the License. # ################################################################################ - -A1PMS_ADAPTER_CLASS="" # adapter java class -A1PMS_ADAPTER_POLICY_NAME="" # policy type for adapter +A1PMS_ADAPTER_CLASS="" # Adapter Java class +A1PMS_ADAPTER_POLICY_TYPE="" # Policy type for adapter \ No newline at end of file diff --git a/test/common/test_env-oran-h-release.sh b/test/common/test_env-oran-h-release.sh index 097f25cf..dc8ee229 100755 --- a/test/common/test_env-oran-h-release.sh +++ b/test/common/test_env-oran-h-release.sh @@ -2,6 +2,7 @@ # ============LICENSE_START=============================================== # Copyright (C) 2020-2023 Nordix Foundation. All rights reserved. +# Copyright (C) 2023-2024 OpenInfra Foundation Europe. 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. @@ -288,7 +289,7 @@ A1PMS_DATA_FILE="application_configuration.json" # Container data file A1PMS_CONTAINER_MNT_DIR="/var/policy-management-service" # Mounted dir in the container A1PMS_FEATURE_LEVEL="NO-DMAAP ADAPTER-CLASS" # Space separated list of features A1PMS_ADAPTER_CLASS="" # Class name set by override file -A1PMS_ADAPTER_POLICY_NAME="" # Policy name set by override file +A1PMS_ADAPTER_POLICY_TYPE="" # Policy type set by override file ICS_APP_NAME="informationservice" # Name for ICS container ICS_DISPLAY_NAME="Information Coordinator Service" # Display name for ICS container diff --git a/test/common/test_env-oran-i-release.sh b/test/common/test_env-oran-i-release.sh index 57402e4a..d35ea1e3 100644 --- a/test/common/test_env-oran-i-release.sh +++ b/test/common/test_env-oran-i-release.sh @@ -2,7 +2,7 @@ # ============LICENSE_START=============================================== # Copyright (C) 2020-2023 Nordix Foundation. All rights reserved. -# Copyright (C) 2023 OpenInfra Foundation Europe. All rights reserved. +# Copyright (C) 2023-2024 OpenInfra Foundation Europe. 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. @@ -289,7 +289,9 @@ A1PMS_DATA_FILE="application_configuration.json" # Container data file A1PMS_CONTAINER_MNT_DIR="/var/policy-management-service" # Mounted dir in the container A1PMS_FEATURE_LEVEL="NO-DMAAP ADAPTER-CLASS" # Space separated list of features A1PMS_ADAPTER_CLASS="" # Class name set by override file -A1PMS_ADAPTER_POLICY_NAME="" # Policy name set by override file +A1PMS_ADAPTER_POLICY_TYPE="" # Policy type set by override file +A1PMS_NOSDNC_ADAPTER_CLASS="" # Class name set by override file +A1PMS_SDNC_ADAPTER_CLASS="" # Class name set by override file ICS_APP_NAME="informationservice" # Name for ICS container ICS_DISPLAY_NAME="Information Coordinator Service" # Display name for ICS container @@ -410,7 +412,7 @@ SDNC_PWD="admin" # SNDC PWD SDNC_PWD="Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U" # SNDC PWD #SDNC_API_URL="/rests/operations/A1-ADAPTER-API:" # Base url path for SNDC API (for upgraded sdnc) SDNC_API_URL="/restconf/operations/A1-ADAPTER-API:" # Base url path for SNDC API -SDNC_ALIVE_URL="/apidoc/explorer/" # Base url path for SNDC API docs (for alive check) +SDNC_ALIVE_URL="/apidoc/explorer/index.html" # Base url path for SNDC API docs (for alive check) SDNC_COMPOSE_DIR="sdnc" SDNC_COMPOSE_FILE="docker-compose-2.yml" SDNC_KUBE_APP_FILE="app2.yaml"