From 81fddf01a0168c124775b38920e1532aed13fdfe Mon Sep 17 00:00:00 2001 From: rohithrajneesh Date: Wed, 1 Nov 2023 19:05:56 +0000 Subject: [PATCH] Creating an FTC for RICMEDIATOR Issue-ID: NONRTRIC-939 Change-Id: Ib522707366baf49e1c54c7dd8c94712914520008 Signed-off-by: rohithrajneesh --- test/auto-test/FTC1_RICMEDIATORONLY.sh | 136 +++++++++++++++++++++++++++++++++ test/common/a1pms_api_functions.sh | 17 +++-- 2 files changed, 146 insertions(+), 7 deletions(-) create mode 100644 test/auto-test/FTC1_RICMEDIATORONLY.sh diff --git a/test/auto-test/FTC1_RICMEDIATORONLY.sh b/test/auto-test/FTC1_RICMEDIATORONLY.sh new file mode 100644 index 00000000..6b80bb7e --- /dev/null +++ b/test/auto-test/FTC1_RICMEDIATORONLY.sh @@ -0,0 +1,136 @@ +#!/bin/bash +# ============LICENSE_START=============================================== +# Copyright (C) 2023 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="Sanity test, create service and then create, update and delete a policy using http and A1PMS REST" + +# App names to include in the test when running docker, space separated list +DOCKER_INCLUDED_IMAGES="CP CR A1PMS RICSIM RICMEDIATORSIM NGW KUBEPROXY" + +# App names to include in the test when running kubernetes, space separated list +KUBE_INCLUDED_IMAGES="CP CR A1PMS RICSIM RICMEDIATORSIM NGW KUBEPROXY " +# 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-H-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" + +# 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 + 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 + + prepare_a1pms_config NOSDNC ".a1pms_config.json" + + 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 1 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:1:AVAILABLE" + + echo "############################################" + echo "########### A1 Policy Management ###########" + echo "############################################" + notificationurl=$CR_SERVICE_APP_PATH_0"/test" + a1pms_api_put_policy 201 "serv1" ricsim_g4_1 1 5300 NOTRANSIENT $notificationurl testdata/OSC/pi1_template.json + a1pms_api_put_policy 200 "serv1" ricsim_g4_1 1 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/common/a1pms_api_functions.sh b/test/common/a1pms_api_functions.sh index bdf363e7..9da4db54 100644 --- a/test/common/a1pms_api_functions.sh +++ b/test/common/a1pms_api_functions.sh @@ -543,18 +543,21 @@ prepare_a1pms_config() { echo $YELLOW"Warning: No rics found for the configuration"$EYELLOW fi else - rics=$(docker ps --filter "name=$RIC_SIM_PREFIX" --filter "network=$DOCKER_SIM_NWNAME" --filter "label=a1sim" --filter "status=running" --format {{.Names}}) - if [ $? -ne 0 ] || [ -z "$rics" ]; then - echo -e $RED" FAIL - the names of the running RIC Simulator cannot be retrieved." $ERED - ((RES_CONF_FAIL++)) - return 1 - fi oranrics=$(docker ps --filter "name=$RIC_SIM_PREFIX" --filter "network=$DOCKER_SIM_NWNAME" --filter "label=orana1sim" --filter "status=running" --format {{.Names}}) - if [ $? -ne 0 ] || [ -z "$rics" ]; then + if [ $? -ne 0 ] || [ -z "$oranrics" ]; then echo -e $RED" FAIL - the names of the running RIC Simulator cannot be retrieved." $ERED ((RES_CONF_FAIL++)) return 1 fi + + rics=$(docker ps --filter "name=$RIC_SIM_PREFIX" --filter "network=$DOCKER_SIM_NWNAME" --filter "label=a1sim" --filter "status=running" --format {{.Names}}) + if [[ "$oranrics" == "" ]]; then + if [ $? -ne 0 ] || [ -z "$rics" ]; then + echo -e $RED" FAIL - the names of the running RIC Simulator cannot be retrieved." $ERED + ((RES_CONF_FAIL++)) + return 1 + fi + fi rics="$rics $oranrics" fi cntr=0 -- 2.16.6