.image-list
.tmp.curl.json
.consul*
+.a1pms*
.ext.consul*
.dockererr
.output.*
#!/bin/bash
# ============LICENSE_START===============================================
-# Copyright (C) 2020 Nordix Foundation. All rights reserved.
+# Copyright (C) 2020-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.
#
-TC_ONELINE_DESCR="Sanity test, create service and then create,update and delete a policy using http/https and A1PMS REST/DMAAP with/without SDNC controller"
+TC_ONELINE_DESCR="Sanity test, create service and then create,update and delete a policy using http/https and A1PMS REST with/without SDNC controller"
#App names to include in the test when running docker, space separated list
DOCKER_INCLUDED_IMAGES="CP CR MR DMAAPMR A1PMS RICSIM SDNC NGW KUBEPROXY"
#### TEST BEGIN ####
-generate_policy_uuid
+sim_generate_policy_uuid
# Tested variants of REST/DMAAP/SDNC config
TESTED_VARIANTS="REST DMAAP REST+SDNC DMAAP+SDNC"
use_cr_https
use_simulator_https
if [[ $interface = *"SDNC"* ]]; then
- use_sdnc_https
+ if [[ "$SDNC_FEATURE_LEVEL" == *"NO_NB_HTTPS"* ]]; then
+ deviation "SDNC does not support NB https"
+ use_sdnc_http
+ else
+ use_sdnc_https
+ fi
fi
if [[ $interface = *"DMAAP"* ]]; then
use_a1pms_dmaap_https
if [[ $interface = *"SDNC"* ]]; then
start_sdnc
+ controller_api_wait_for_status_ok 200 ricsim_g1_1
prepare_a1pms_config SDNC ".a1pms_config.json"
else
prepare_a1pms_config NOSDNC ".a1pms_config.json"
#!/bin/bash
# ============LICENSE_START===============================================
-# Copyright (C) 2020 Nordix Foundation. All rights reserved.
+# Copyright (C) 2020-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.
# ============LICENSE_END=================================================
#
-TC_ONELINE_DESCR="Basic use case, register service, create/update policy, delete policy, de-register service using both STD and OSC interface while mixing REST and Dmaap"
+TC_ONELINE_DESCR="Basic use case, register service, create/update policy, delete policy, de-register service using both STD and OSC interface while mixing REST"
#App names to include in the test when running docker, space separated list
DOCKER_INCLUDED_IMAGES="CP CR MR A1PMS RICSIM NGW KUBEPROXY"
#### TEST BEGIN ####
-generate_policy_uuid
+sim_generate_policy_uuid
use_simulator_http
use_mr_http
start_ric_simulators ricsim_g3 1 STD_2.0.0
-start_mr
+if [[ "$A1PMS_FEATURE_LEVEL" == *"NO-DMAAP"* ]]; then
+ :
+else
+ start_mr
+fi
start_cr 1
sim_equal ricsim_g1_1 num_instances 1
-
-use_a1pms_dmaap_http
+if [[ "$A1PMS_FEATURE_LEVEL" == *"NO-DMAAP"* ]]; then
+ use_a1pms_rest_http
+else
+ use_a1pms_dmaap_http
+fi
a1pms_api_put_policy 201 "service1" ricsim_g1_1 1 3000 NOTRANSIENT $notificationurl testdata/OSC/pi1_template.json 1
sim_equal ricsim_g2_1 num_instances 1
-use_a1pms_dmaap_http
+if [[ "$A1PMS_FEATURE_LEVEL" == *"NO-DMAAP"* ]]; then
+ use_a1pms_rest_http
+else
+ use_a1pms_dmaap_http
+fi
a1pms_api_put_policy 201 "service1" ricsim_g2_1 NOTYPE 3100 NOTRANSIENT $notificationurl testdata/STD/pi1_template.json 1
sim_equal ricsim_g3_1 num_instances 1
-use_a1pms_dmaap_http
+if [[ "$A1PMS_FEATURE_LEVEL" == *"NO-DMAAP"* ]]; then
+ use_a1pms_rest_http
+else
+ use_a1pms_dmaap_http
+fi
a1pms_api_put_policy 201 "service1" ricsim_g3_1 STD_QOS_0_2_0 3200 NOTRANSIENT $notificationurl testdata/STD2/pi_qos_template.json 1
sim_equal ricsim_g1_1 num_instances 2
-use_a1pms_dmaap_http
+if [[ "$A1PMS_FEATURE_LEVEL" == *"NO-DMAAP"* ]]; then
+ use_a1pms_rest_http
+else
+ use_a1pms_dmaap_http
+fi
a1pms_api_put_policy 200 "service1" ricsim_g1_1 1 3000 NOTRANSIENT $notificationurl testdata/OSC/pi1_template.json 1
sim_equal ricsim_g2_1 num_instances 2
-use_a1pms_dmaap_http
+if [[ "$A1PMS_FEATURE_LEVEL" == *"NO-DMAAP"* ]]; then
+ use_a1pms_rest_http
+else
+ use_a1pms_dmaap_http
+fi
a1pms_api_put_policy 200 "service1" ricsim_g2_1 NOTYPE 3100 NOTRANSIENT $notificationurl testdata/STD/pi1_template.json 1
sim_equal ricsim_g3_1 num_instances 2
-use_a1pms_dmaap_http
+if [[ "$A1PMS_FEATURE_LEVEL" == *"NO-DMAAP"* ]]; then
+ use_a1pms_rest_http
+else
+ use_a1pms_dmaap_http
+fi
a1pms_api_put_policy 200 "service1" ricsim_g3_1 STD_QOS_0_2_0 3200 true $notificationurl testdata/STD2/pi_qos_template.json 1
# Remove policies
-use_a1pms_dmaap_http
+if [[ "$A1PMS_FEATURE_LEVEL" == *"NO-DMAAP"* ]]; then
+ use_a1pms_rest_http
+else
+ use_a1pms_dmaap_http
+fi
a1pms_api_delete_policy 204 2000
use_a1pms_rest_http
a1pms_api_delete_policy 204 3000
-use_a1pms_dmaap_http
+if [[ "$A1PMS_FEATURE_LEVEL" == *"NO-DMAAP"* ]]; then
+ use_a1pms_rest_http
+else
+ use_a1pms_dmaap_http
+fi
a1pms_api_delete_policy 204 2100
use_a1pms_rest_http
a1pms_api_delete_policy 204 3100
-use_a1pms_dmaap_http
+if [[ "$A1PMS_FEATURE_LEVEL" == *"NO-DMAAP"* ]]; then
+ use_a1pms_rest_http
+else
+ use_a1pms_dmaap_http
+fi
a1pms_api_delete_policy 204 2200
use_a1pms_rest_http
a1pms_api_delete_policy 204 3200
a1pms_api_get_policy 404 3200
# Remove the service
-use_a1pms_dmaap_http
+if [[ "$A1PMS_FEATURE_LEVEL" == *"NO-DMAAP"* ]]; then
+ use_a1pms_rest_http
+else
+ use_a1pms_dmaap_http
+fi
a1pms_api_delete_services 204 "service1"
a1pms_api_get_services 404 "service1"
#!/bin/bash
# ============LICENSE_START===============================================
-# Copyright (C) 2020 Nordix Foundation. All rights reserved.
+# Copyright (C) 2020-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.
#
-TC_ONELINE_DESCR="Full a1pms API walkthrough using a1pms REST/DMAAP and with/without SDNC A1 Controller"
+TC_ONELINE_DESCR="Full a1pms API walkthrough using a1pms REST and with/without SDNC A1 Controller"
USE_ISTIO=0
#### TEST BEGIN ####
-generate_policy_uuid
+sim_generate_policy_uuid
if [ $USE_ISTIO -eq 0 ]; then
# Tested variants of REST/DMAAP/SDNC config
- TESTED_VARIANTS="REST DMAAP REST+SDNC DMAAP+SDNC"
+ if [[ "$A1PMS_FEATURE_LEVEL" == *"NO-DMAAP"* ]]; then
+ TESTED_VARIANTS="REST REST+SDNC"
+ else
+ TESTED_VARIANTS="REST DMAAP REST+SDNC DMAAP+SDNC"
+ fi
#Test a1pms and simulator protocol versions (others are http only)
TESTED_PROTOCOLS="HTTP HTTPS"
echo -e $RED"#########################################"$ERED
fi
# Tested variants of REST/DMAAP/SDNC config
- TESTED_VARIANTS="REST DMAAP"
+ if [[ "$A1PMS_FEATURE_LEVEL" == *"NO-DMAAP"* ]]; then
+ TESTED_VARIANTS="REST DMAAP"
+ else
+ TESTED_VARIANTS="REST"
+ fi
#Test a1pms and simulator protocol versions (others are http only)
TESTED_PROTOCOLS="HTTP"
use_simulator_https
use_mr_https
if [[ $interface = *"SDNC"* ]]; then
- use_sdnc_https
+ if [[ "$SDNC_FEATURE_LEVEL" == *"NO_NB_HTTPS"* ]]; then
+ deviation "SDNC does not support NB https"
+ use_sdnc_http
+ else
+ use_sdnc_https
+ fi
fi
if [[ $interface = *"DMAAP"* ]]; then
use_a1pms_dmaap_https
sim_put_policy_type 201 ricsim_g3_1 STD_QOS_0_2_0 testdata/STD2/sim_qos.json
sim_put_policy_type 201 ricsim_g3_1 STD_QOS2_0.1.0 testdata/STD2/sim_qos2.json
- start_mr
+ if [[ "$A1PMS_FEATURE_LEVEL" == *"NO-DMAAP"* ]]; then
+ :
+ else
+ start_mr
+ fi
start_cr 1
if [[ $interface = *"SDNC"* ]]; then
start_sdnc
+ controller_api_wait_for_status_ok 200 ricsim_g1_1
prepare_a1pms_config SDNC ".a1pms_config.json"
else
prepare_a1pms_config NOSDNC ".a1pms_config.json"
cr_equal 0 received_callbacks 3 120
cr_api_check_all_sync_events 200 0 ric-registration ricsim_g1_1 ricsim_g2_1 ricsim_g3_1
- mr_equal requests_submitted 0
+ if [[ "$A1PMS_FEATURE_LEVEL" == *"NO-DMAAP"* ]]; then
+ :
+ else
+ mr_equal requests_submitted 0
+ fi
echo "############################################"
mr_equal current_requests 0
mr_equal current_responses 0
else
- mr_equal requests_submitted 0
+ if [[ "$A1PMS_FEATURE_LEVEL" == *"NO-DMAAP"* ]]; then
+ :
+ else
+ mr_equal requests_submitted 0
+ fi
fi
if [ $USE_ISTIO -eq 0 ]; then
if [[ $interface = *"SDNC"* ]]; then
#!/bin/bash
# ============LICENSE_START===============================================
-# Copyright (C) 2020 Nordix Foundation. All rights reserved.
+# Copyright (C) 2020-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.
#### TEST BEGIN ####
-generate_policy_uuid
+sim_generate_policy_uuid
use_cr_http
use_simulator_http
start_ric_simulators ricsim_g2 1 STD_1.1.3
start_ric_simulators ricsim_g3 1 STD_2.0.0
-start_mr
+if [[ "$A1PMS_FEATURE_LEVEL" == *"NO-DMAAP"* ]]; then
+ :
+else
+ start_mr
+fi
start_cr 1
set_a1pms_debug
-mr_equal requests_submitted 0
+if [[ "$A1PMS_FEATURE_LEVEL" == *"NO-DMAAP"* ]]; then
+ :
+else
+ mr_equal requests_submitted 0
+fi
sleep_wait 120 "Let A1PMS cofiguration take effect"
a1pms_api_get_service_ids 200
-mr_equal requests_submitted 0
+if [[ "$A1PMS_FEATURE_LEVEL" == *"NO-DMAAP"* ]]; then
+ :
+else
+ mr_equal requests_submitted 0
+fi
check_a1pms_logs
#!/bin/bash
# ============LICENSE_START===============================================
-# Copyright (C) 2020 Nordix Foundation. All rights reserved.
+# Copyright (C) 2020-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.
#### TEST BEGIN ####
-FLAT_A1_EI="1"
-
clean_environment
if [ $RUNMODE != "KUBE" ]; then
ics_api_a1_get_type 404 test-type
ics_api_edp_get_type_ids 200 EMPTY
-if [ $ICS_VERSION == "V1-1" ]; then
- ics_api_edp_get_type 404 test-type
-else
- ics_api_edp_get_type_2 404 test-type
-fi
+ics_api_edp_get_type_2 404 test-type
+
+ics_api_edp_get_producer_ids_2 200 NOTYPE EMPTY
+ics_api_edp_get_producer_2 404 test-prod
-if [ $ICS_VERSION == "V1-1" ]; then
- ics_api_edp_get_producer_ids 200 EMPTY
- ics_api_edp_get_producer 404 test-prod
-else
- ics_api_edp_get_producer_ids_2 200 NOTYPE EMPTY
- ics_api_edp_get_producer_2 404 test-prod
-fi
ics_api_edp_get_producer_status 404 test-prod
ics_api_edp_delete_producer 404 test-prod
-if [ -z "$FLAT_A1_EI" ]; then
- ics_api_a1_get_job_ids 404 test-type NOWNER
- ics_api_a1_get_job_ids 404 test-type test-owner
+ics_api_a1_get_job_ids 200 test-type NOWNER EMPTY
+ics_api_a1_get_job_ids 200 test-type test-owner EMPTY
- ics_api_a1_get_job 404 test-type test-job
+ics_api_a1_get_job 404 test-job
- ics_api_a1_get_job_status 404 test-type test-job
-else
- ics_api_a1_get_job_ids 200 test-type NOWNER EMPTY
- ics_api_a1_get_job_ids 200 test-type test-owner EMPTY
-
- ics_api_a1_get_job 404 test-job
-
- ics_api_a1_get_job_status 404 test-job
-fi
+ics_api_a1_get_job_status 404 test-job
-if [ -z "$FLAT_A1_EI" ]; then
- ics_api_a1_delete_job 404 test-type test-job
-else
- ics_api_a1_delete_job 404 test-job
-fi
+ics_api_a1_delete_job 404 test-job
-if [ $ICS_VERSION == "V1-1" ]; then
- ics_api_edp_get_producer_jobs 404 test-prod
-else
- ics_api_edp_get_producer_jobs_2 404 test-prod
-fi
+ics_api_edp_get_producer_ids_2 200 NOTYPE EMPTY
+ics_api_edp_get_producer_2 404 test-prod
-if [ $ICS_VERSION == "V1-2" ]; then
- ics_api_edp_get_type_2 404 test-type
- ics_api_edp_delete_type_2 404 test-type
-fi
+ics_api_edp_get_type_2 404 test-type
+ics_api_edp_delete_type_2 404 test-type
### Setup of producer/job and testing apis ###
## Setup prod-a
-if [ $ICS_VERSION == "V1-1" ]; then
- ics_api_edp_put_producer 201 prod-a $CB_JOB/prod-a $CB_SV/prod-a type1 testdata/ics/ei-type-1.json
- ics_api_edp_put_producer 200 prod-a $CB_JOB/prod-a $CB_SV/prod-a type1 testdata/ics/ei-type-1.json
-else
- #V1-2
- ics_api_edp_get_type_ids 200 EMPTY
- ics_api_edp_get_type_2 404 type1
- ics_api_edp_put_producer_2 404 prod-a $CB_JOB/prod-a $CB_SV/prod-a type1
+ics_api_edp_get_type_ids 200 EMPTY
+ics_api_edp_get_type_2 404 type1
+ics_api_edp_put_producer_2 404 prod-a $CB_JOB/prod-a $CB_SV/prod-a type1
- # Create type, delete and create again
+# Create type, delete and create again
+ics_api_edp_put_type_2 201 type1 testdata/ics/ei-type-1.json
+ics_api_edp_get_type_2 200 type1
+ics_api_edp_get_type_ids 200 type1
+ics_api_edp_delete_type_2 204 type1
+ics_api_edp_get_type_2 404 type1
+ics_api_edp_get_type_ids 200 EMPTY
+if [[ "$ICS_FEATURE_LEVEL" == *"INFO-TYPE-INFO"* ]]; then
+ ics_api_edp_put_type_2 201 type1 testdata/ics/ei-type-1.json testdata/ics/info-type-info.json
+else
ics_api_edp_put_type_2 201 type1 testdata/ics/ei-type-1.json
- ics_api_edp_get_type_2 200 type1
- ics_api_edp_get_type_ids 200 type1
- ics_api_edp_delete_type_2 204 type1
- ics_api_edp_get_type_2 404 type1
- ics_api_edp_get_type_ids 200 EMPTY
- if [[ "$ICS_FEATURE_LEVEL" == *"INFO-TYPE-INFO"* ]]; then
- ics_api_edp_put_type_2 201 type1 testdata/ics/ei-type-1.json testdata/ics/info-type-info.json
- else
- ics_api_edp_put_type_2 201 type1 testdata/ics/ei-type-1.json
- fi
- ics_api_edp_get_type_ids 200 type1
- if [[ "$ICS_FEATURE_LEVEL" == *"INFO-TYPE-INFO"* ]]; then
- ics_api_edp_get_type_2 200 type1 testdata/ics/ei-type-1.json testdata/ics/info-type-info.json
- else
- ics_api_edp_get_type_2 200 type1 testdata/ics/ei-type-1.json
- fi
-
- ics_api_edp_put_producer_2 201 prod-a $CB_JOB/prod-a $CB_SV/prod-a type1
- ics_api_edp_put_producer_2 200 prod-a $CB_JOB/prod-a $CB_SV/prod-a type1
-
- if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
- cr_equal 0 received_callbacks 3 30
- cr_equal 0 received_callbacks?id=type-status1 3
- cr_api_check_all_ics_subscription_events 200 0 type-status1 type1 testdata/ics/ei-type-1.json REGISTERED type1 testdata/ics/ei-type-1.json DEREGISTERED type1 testdata/ics/ei-type-1.json REGISTERED
- else
- cr_equal 0 received_callbacks 0
- fi
+fi
+ics_api_edp_get_type_ids 200 type1
+if [[ "$ICS_FEATURE_LEVEL" == *"INFO-TYPE-INFO"* ]]; then
+ ics_api_edp_get_type_2 200 type1 testdata/ics/ei-type-1.json testdata/ics/info-type-info.json
+else
+ ics_api_edp_get_type_2 200 type1 testdata/ics/ei-type-1.json
fi
+ics_api_edp_put_producer_2 201 prod-a $CB_JOB/prod-a $CB_SV/prod-a type1
+ics_api_edp_put_producer_2 200 prod-a $CB_JOB/prod-a $CB_SV/prod-a type1
-ics_api_a1_get_type_ids 200 type1
-if [ -z "$FLAT_A1_EI" ]; then
- ics_api_a1_get_type 200 type1 testdata/ics/ei-type-1.json
+if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
+ cr_equal 0 received_callbacks 3 30
+ cr_equal 0 received_callbacks?id=type-status1 3
+ cr_api_check_all_ics_subscription_events 200 0 type-status1 type1 testdata/ics/ei-type-1.json REGISTERED type1 testdata/ics/ei-type-1.json DEREGISTERED type1 testdata/ics/ei-type-1.json REGISTERED
else
- ics_api_a1_get_type 200 type1 testdata/ics/empty-type.json
+ cr_equal 0 received_callbacks 0
fi
+ics_api_a1_get_type_ids 200 type1
+ics_api_a1_get_type 200 type1 testdata/ics/empty-type.json
+
ics_api_edp_get_type_ids 200 type1
-if [ $ICS_VERSION == "V1-1" ]; then
- ics_api_edp_get_type 200 type1 testdata/ics/ei-type-1.json prod-a
+if [[ "$ICS_FEATURE_LEVEL" == *"INFO-TYPE-INFO"* ]]; then
+ ics_api_edp_get_type_2 200 type1 testdata/ics/ei-type-1.json testdata/ics/info-type-info.json
else
- if [[ "$ICS_FEATURE_LEVEL" == *"INFO-TYPE-INFO"* ]]; then
- ics_api_edp_get_type_2 200 type1 testdata/ics/ei-type-1.json testdata/ics/info-type-info.json
- else
- ics_api_edp_get_type_2 200 type1 testdata/ics/ei-type-1.json
- fi
+ ics_api_edp_get_type_2 200 type1 testdata/ics/ei-type-1.json
fi
-if [ $ICS_VERSION == "V1-1" ]; then
- ics_api_edp_get_producer_ids 200 prod-a
-else
- ics_api_edp_get_producer_ids_2 200 NOTYPE prod-a
- ics_api_edp_get_producer_ids_2 200 type1 prod-a
- ics_api_edp_get_producer_ids_2 200 type2 EMPTY
-fi
+ics_api_edp_get_producer_ids_2 200 NOTYPE prod-a
+ics_api_edp_get_producer_ids_2 200 type1 prod-a
+ics_api_edp_get_producer_ids_2 200 type2 EMPTY
-if [ $ICS_VERSION == "V1-1" ]; then
- ics_api_edp_get_producer 200 prod-a $CB_JOB/prod-a $CB_SV/prod-a type1 testdata/ics/ei-type-1.json
-else
- ics_api_edp_get_producer_2 200 prod-a $CB_JOB/prod-a $CB_SV/prod-a type1
-fi
+ics_api_edp_get_producer_2 200 prod-a $CB_JOB/prod-a $CB_SV/prod-a type1
ics_api_edp_get_producer_status 200 prod-a ENABLED
ics_api_a1_get_job_ids 200 type1 NOWNER EMPTY
ics_api_a1_get_job_ids 200 type1 test-owner EMPTY
-if [ -z "$FLAT_A1_EI" ]; then
- ics_api_a1_get_job 404 type1 test-job
+ics_api_a1_get_job 404 test-job
- ics_api_a1_get_job_status 404 type1 test-job
-else
- ics_api_a1_get_job 404 test-job
+ics_api_a1_get_job_status 404 test-job
- ics_api_a1_get_job_status 404 test-job
-fi
-if [ $ICS_VERSION == "V1-1" ]; then
- ics_api_edp_get_producer_jobs 200 prod-a EMPTY
-else
- ics_api_edp_get_producer_jobs_2 200 prod-a EMPTY
-fi
+ics_api_edp_get_producer_jobs_2 200 prod-a EMPTY
## Create a job for prod-a
## job1 - prod-a
-if [ -z "$FLAT_A1_EI" ]; then
- ics_api_a1_put_job 201 type1 job1 $TARGET1 ricsim_g3_1 testdata/ics/job-template.json
-else
- ics_api_a1_put_job 201 job1 type1 $TARGET1 ricsim_g3_1 $STATUS1 testdata/ics/job-template.json
-fi
+ics_api_a1_put_job 201 job1 type1 $TARGET1 ricsim_g3_1 $STATUS1 testdata/ics/job-template.json
# Check the job data in the producer
-if [ $ICS_VERSION == "V1-1" ]; then
- prodstub_check_jobdata 200 prod-a job1 type1 $TARGET1 ricsim_g3_1 testdata/ics/job-template.json
-else
- if [[ "$ICS_FEATURE_LEVEL" != *"INFO-TYPES"* ]]; then
- prodstub_check_jobdata_2 200 prod-a job1 type1 $TARGET1 ricsim_g3_1 testdata/ics/job-template.json
- else
- prodstub_check_jobdata_3 200 prod-a job1 type1 $TARGET1 ricsim_g3_1 testdata/ics/job-template.json
- fi
-fi
+prodstub_check_jobdata_3 200 prod-a job1 type1 $TARGET1 ricsim_g3_1 testdata/ics/job-template.json
ics_api_a1_get_job_ids 200 type1 NOWNER job1
ics_api_a1_get_job_ids 200 type1 ricsim_g3_1 job1
-if [ ! -z "$FLAT_A1_EI" ]; then
- ics_api_a1_get_job_ids 200 NOTYPE NOWNER job1
-fi
+ics_api_a1_get_job_ids 200 NOTYPE NOWNER job1
-if [ -z "$FLAT_A1_EI" ]; then
- ics_api_a1_get_job 200 type1 job1 $TARGET1 ricsim_g3_1 testdata/ics/job-template.json
+ics_api_a1_get_job 200 job1 type1 $TARGET1 ricsim_g3_1 $STATUS1 testdata/ics/job-template.json
- ics_api_a1_get_job_status 200 type1 job1 ENABLED
-else
- ics_api_a1_get_job 200 job1 type1 $TARGET1 ricsim_g3_1 $STATUS1 testdata/ics/job-template.json
-
- ics_api_a1_get_job_status 200 job1 ENABLED
-fi
+ics_api_a1_get_job_status 200 job1 ENABLED
prodstub_equal create/prod-a/job1 1
-if [ $ICS_VERSION == "V1-1" ]; then
- ics_api_edp_get_producer_jobs 200 prod-a job1 type1 $TARGET1 ricsim_g3_1 testdata/ics/job-template.json
-else
- ics_api_edp_get_producer_jobs_2 200 prod-a job1 type1 $TARGET1 ricsim_g3_1 testdata/ics/job-template.json
-fi
+ics_api_edp_get_producer_jobs_2 200 prod-a job1 type1 $TARGET1 ricsim_g3_1 testdata/ics/job-template.json
+
## Create a second job for prod-a
## job2 - prod-a
-if [ -z "$FLAT_A1_EI" ]; then
- ics_api_a1_put_job 201 type1 job2 $TARGET2 ricsim_g3_2 testdata/ics/job-template.json
-else
- ics_api_a1_put_job 201 job2 type1 $TARGET2 ricsim_g3_2 $STATUS2 testdata/ics/job-template.json
-fi
+ics_api_a1_put_job 201 job2 type1 $TARGET2 ricsim_g3_2 $STATUS2 testdata/ics/job-template.json
# Check the job data in the producer
-if [ $ICS_VERSION == "V1-1" ]; then
- prodstub_check_jobdata 200 prod-a job2 type1 $TARGET2 ricsim_g3_2 testdata/ics/job-template.json
-else
- if [[ "$ICS_FEATURE_LEVEL" != *"INFO-TYPES"* ]]; then
- prodstub_check_jobdata_2 200 prod-a job2 type1 $TARGET2 ricsim_g3_2 testdata/ics/job-template.json
- else
- prodstub_check_jobdata_3 200 prod-a job2 type1 $TARGET2 ricsim_g3_2 testdata/ics/job-template.json
- fi
-fi
+prodstub_check_jobdata_3 200 prod-a job2 type1 $TARGET2 ricsim_g3_2 testdata/ics/job-template.json
ics_api_a1_get_job_ids 200 type1 NOWNER job1 job2
ics_api_a1_get_job_ids 200 type1 ricsim_g3_1 job1
ics_api_a1_get_job_ids 200 type1 ricsim_g3_2 job2
-if [ ! -z "$FLAT_A1_EI" ]; then
- ics_api_a1_get_job_ids 200 NOTYPE NOWNER job1 job2
-fi
-
-if [ -z "$FLAT_A1_EI" ]; then
- ics_api_a1_get_job 200 type1 job2 $TARGET2 ricsim_g3_2 testdata/ics/job-template.json
+ics_api_a1_get_job_ids 200 NOTYPE NOWNER job1 job2
- ics_api_a1_get_job_status 200 type1 job2 ENABLED
-else
- ics_api_a1_get_job 200 job2 type1 $TARGET2 ricsim_g3_2 $STATUS2 testdata/ics/job-template.json
+ics_api_a1_get_job 200 job2 type1 $TARGET2 ricsim_g3_2 $STATUS2 testdata/ics/job-template.json
- ics_api_a1_get_job_status 200 job2 ENABLED
-fi
+ics_api_a1_get_job_status 200 job2 ENABLED
prodstub_equal create/prod-a/job2 1
-if [ $ICS_VERSION == "V1-1" ]; then
- ics_api_edp_get_producer_jobs 200 prod-a job1 type1 $TARGET1 ricsim_g3_1 testdata/ics/job-template.json job2 type1 $TARGET2 ricsim_g3_2 testdata/ics/job-template.json
-else
- ics_api_edp_get_producer_jobs_2 200 prod-a job1 type1 $TARGET1 ricsim_g3_1 testdata/ics/job-template.json job2 type1 $TARGET2 ricsim_g3_2 testdata/ics/job-template.json
-fi
+ics_api_edp_get_producer_jobs_2 200 prod-a job1 type1 $TARGET1 ricsim_g3_1 testdata/ics/job-template.json job2 type1 $TARGET2 ricsim_g3_2 testdata/ics/job-template.json
## Setup prod-b
-if [ $ICS_VERSION == "V1-1" ]; then
- ics_api_edp_put_producer 201 prod-b $CB_JOB/prod-b $CB_SV/prod-b type2 testdata/ics/ei-type-2.json
+ics_api_edp_put_type_2 201 type2 testdata/ics/ei-type-2.json
+ics_api_edp_put_producer_2 201 prod-b $CB_JOB/prod-b $CB_SV/prod-b type2
+if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
+ cr_equal 0 received_callbacks 4 30
+ cr_equal 0 received_callbacks?id=type-status1 4
+ cr_api_check_all_ics_subscription_events 200 0 type-status1 type2 testdata/ics/ei-type-2.json REGISTERED
else
- ics_api_edp_put_type_2 201 type2 testdata/ics/ei-type-2.json
- ics_api_edp_put_producer_2 201 prod-b $CB_JOB/prod-b $CB_SV/prod-b type2
- if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
- cr_equal 0 received_callbacks 4 30
- cr_equal 0 received_callbacks?id=type-status1 4
- cr_api_check_all_ics_subscription_events 200 0 type-status1 type2 testdata/ics/ei-type-2.json REGISTERED
- else
- cr_equal 0 received_callbacks 0
- fi
+ cr_equal 0 received_callbacks 0
fi
ics_api_a1_get_type_ids 200 type1 type2
-if [ -z "$FLAT_A1_EI" ]; then
- ics_api_a1_get_type 200 type1 testdata/ics/ei-type-1.json
- ics_api_a1_get_type 200 type2 testdata/ics/ei-type-2.json
-else
- ics_api_a1_get_type 200 type1 testdata/ics/empty-type.json
- ics_api_a1_get_type 200 type2 testdata/ics/empty-type.json
-fi
+
+ics_api_a1_get_type 200 type1 testdata/ics/empty-type.json
+ics_api_a1_get_type 200 type2 testdata/ics/empty-type.json
ics_api_edp_get_type_ids 200 type1 type2
-if [ $ICS_VERSION == "V1-1" ]; then
- ics_api_edp_get_type 200 type1 testdata/ics/ei-type-1.json prod-a
- ics_api_edp_get_type 200 type2 testdata/ics/ei-type-2.json prod-b
+if [[ "$ICS_FEATURE_LEVEL" == *"INFO-TYPE-INFO"* ]]; then
+ ics_api_edp_get_type_2 200 type1 testdata/ics/ei-type-1.json testdata/ics/info-type-info.json
else
- if [[ "$ICS_FEATURE_LEVEL" == *"INFO-TYPE-INFO"* ]]; then
- ics_api_edp_get_type_2 200 type1 testdata/ics/ei-type-1.json testdata/ics/info-type-info.json
- else
- ics_api_edp_get_type_2 200 type1 testdata/ics/ei-type-1.json
- fi
- ics_api_edp_get_type_2 200 type2 testdata/ics/ei-type-2.json
+ ics_api_edp_get_type_2 200 type1 testdata/ics/ei-type-1.json
fi
+ics_api_edp_get_type_2 200 type2 testdata/ics/ei-type-2.json
-if [ $ICS_VERSION == "V1-1" ]; then
- ics_api_edp_get_producer_ids 200 prod-a prod-b
-else
- ics_api_edp_get_producer_ids_2 200 NOTYPE prod-a prod-b
-fi
+ics_api_edp_get_producer_ids_2 200 NOTYPE prod-a prod-b
-if [ $ICS_VERSION == "V1-1" ]; then
- ics_api_edp_get_producer 200 prod-a $CB_JOB/prod-a $CB_SV/prod-a type1 testdata/ics/ei-type-1.json
- ics_api_edp_get_producer 200 prod-b $CB_JOB/prod-b $CB_SV/prod-b type2 testdata/ics/ei-type-2.json
-else
- ics_api_edp_get_producer_2 200 prod-a $CB_JOB/prod-a $CB_SV/prod-a type1
- ics_api_edp_get_producer_2 200 prod-b $CB_JOB/prod-b $CB_SV/prod-b type2
-fi
+ics_api_edp_get_producer_2 200 prod-a $CB_JOB/prod-a $CB_SV/prod-a type1
+ics_api_edp_get_producer_2 200 prod-b $CB_JOB/prod-b $CB_SV/prod-b type2
ics_api_edp_get_producer_status 200 prod-b ENABLED
## Create job for prod-b
## job3 - prod-b
-if [ -z "$FLAT_A1_EI" ]; then
- ics_api_a1_put_job 201 type2 job3 $TARGET3 ricsim_g3_3 testdata/ics/job-template.json
-else
- ics_api_a1_put_job 201 job3 type2 $TARGET3 ricsim_g3_3 $STATUS3 testdata/ics/job-template.json
-fi
+ics_api_a1_put_job 201 job3 type2 $TARGET3 ricsim_g3_3 $STATUS3 testdata/ics/job-template.json
prodstub_equal create/prod-b/job3 1
# Check the job data in the producer
-if [ $ICS_VERSION == "V1-1" ]; then
- prodstub_check_jobdata 200 prod-b job3 type2 $TARGET3 ricsim_g3_3 testdata/ics/job-template.json
-else
- if [[ "$ICS_FEATURE_LEVEL" != *"INFO-TYPES"* ]]; then
- prodstub_check_jobdata_2 200 prod-b job3 type2 $TARGET3 ricsim_g3_3 testdata/ics/job-template.json
- else
- prodstub_check_jobdata_3 200 prod-b job3 type2 $TARGET3 ricsim_g3_3 testdata/ics/job-template.json
- fi
-fi
+prodstub_check_jobdata_3 200 prod-b job3 type2 $TARGET3 ricsim_g3_3 testdata/ics/job-template.json
ics_api_a1_get_job_ids 200 type1 NOWNER job1 job2
ics_api_a1_get_job_ids 200 type2 NOWNER job3
ics_api_a1_get_job_ids 200 type1 ricsim_g3_2 job2
ics_api_a1_get_job_ids 200 type2 ricsim_g3_3 job3
-if [ -z "$FLAT_A1_EI" ]; then
- ics_api_a1_get_job 200 type2 job3 $TARGET3 ricsim_g3_3 testdata/ics/job-template.json
+ics_api_a1_get_job 200 job3 type2 $TARGET3 ricsim_g3_3 $STATUS3 testdata/ics/job-template.json
- ics_api_a1_get_job_status 200 type2 job3 ENABLED
-else
- ics_api_a1_get_job 200 job3 type2 $TARGET3 ricsim_g3_3 $STATUS3 testdata/ics/job-template.json
+ics_api_a1_get_job_status 200 job3 ENABLED
- ics_api_a1_get_job_status 200 job3 ENABLED
-fi
+ics_api_edp_get_producer_jobs_2 200 prod-a job1 type1 $TARGET1 ricsim_g3_1 testdata/ics/job-template.json job2 type1 $TARGET2 ricsim_g3_2 testdata/ics/job-template.json
+ics_api_edp_get_producer_jobs_2 200 prod-b job3 type2 $TARGET3 ricsim_g3_3 testdata/ics/job-template.json
-if [ $ICS_VERSION == "V1-1" ]; then
- ics_api_edp_get_producer_jobs 200 prod-a job1 type1 $TARGET1 ricsim_g3_1 testdata/ics/job-template.json job2 type1 $TARGET2 ricsim_g3_2 testdata/ics/job-template.json
- ics_api_edp_get_producer_jobs 200 prod-b job3 type2 $TARGET3 ricsim_g3_3 testdata/ics/job-template.json
-else
- ics_api_edp_get_producer_jobs_2 200 prod-a job1 type1 $TARGET1 ricsim_g3_1 testdata/ics/job-template.json job2 type1 $TARGET2 ricsim_g3_2 testdata/ics/job-template.json
- ics_api_edp_get_producer_jobs_2 200 prod-b job3 type2 $TARGET3 ricsim_g3_3 testdata/ics/job-template.json
-fi
## Setup prod-c (no types)
-if [ $ICS_VERSION == "V1-1" ]; then
- ics_api_edp_put_producer 201 prod-c $CB_JOB/prod-c $CB_SV/prod-c NOTYPE
-else
- ics_api_edp_put_producer_2 201 prod-c $CB_JOB/prod-c $CB_SV/prod-c NOTYPE
-fi
+ics_api_edp_put_producer_2 201 prod-c $CB_JOB/prod-c $CB_SV/prod-c NOTYPE
-if [ $ICS_VERSION == "V1-1" ]; then
- ics_api_edp_get_producer_ids 200 prod-a prod-b prod-c
-else
- ics_api_edp_get_producer_ids_2 200 NOTYPE prod-a prod-b prod-c
-fi
+ics_api_edp_get_producer_ids_2 200 NOTYPE prod-a prod-b prod-c
-if [ $ICS_VERSION == "V1-1" ]; then
- ics_api_edp_get_producer 200 prod-a $CB_JOB/prod-a $CB_SV/prod-a type1 testdata/ics/ei-type-1.json
- ics_api_edp_get_producer 200 prod-b $CB_JOB/prod-b $CB_SV/prod-b type2 testdata/ics/ei-type-2.json
- ics_api_edp_get_producer 200 prod-c $CB_JOB/prod-c $CB_SV/prod-c EMPTY
-else
- ics_api_edp_get_producer_2 200 prod-a $CB_JOB/prod-a $CB_SV/prod-a type1
- ics_api_edp_get_producer_2 200 prod-b $CB_JOB/prod-b $CB_SV/prod-b type2
- ics_api_edp_get_producer_2 200 prod-c $CB_JOB/prod-c $CB_SV/prod-c EMPTY
-fi
+ics_api_edp_get_producer_2 200 prod-a $CB_JOB/prod-a $CB_SV/prod-a type1
+ics_api_edp_get_producer_2 200 prod-b $CB_JOB/prod-b $CB_SV/prod-b type2
+ics_api_edp_get_producer_2 200 prod-c $CB_JOB/prod-c $CB_SV/prod-c EMPTY
ics_api_edp_get_producer_status 200 prod-c ENABLED
# Delete job then producer
ics_api_a1_get_job_ids 200 NOTYPE NOWNER job1 job2 job3
-if [ $ICS_VERSION == "V1-1" ]; then
- ics_api_edp_get_producer_ids 200 prod-a prod-b prod-c
-else
- ics_api_edp_get_producer_ids_2 200 NOTYPE prod-a prod-b prod-c
-fi
+ics_api_edp_get_producer_ids_2 200 NOTYPE prod-a prod-b prod-c
-if [ -z "$FLAT_A1_EI" ]; then
- ics_api_a1_delete_job 204 type2 job3
-else
- ics_api_a1_delete_job 204 job3
-fi
+ics_api_a1_delete_job 204 job3
ics_api_a1_get_job_ids 200 NOTYPE NOWNER job1 job2
-if [ $ICS_VERSION == "V1-1" ]; then
- ics_api_edp_get_producer_ids 200 prod-a prod-b prod-c
-else
- ics_api_edp_get_producer_ids_2 200 NOTYPE prod-a prod-b prod-c
-fi
+ics_api_edp_get_producer_ids_2 200 NOTYPE prod-a prod-b prod-c
ics_api_edp_delete_producer 204 prod-b
ics_api_edp_get_producer_status 404 prod-b
ics_api_a1_get_job_ids 200 NOTYPE NOWNER job1 job2
-if [ $ICS_VERSION == "V1-1" ]; then
- ics_api_edp_get_producer_ids 200 prod-a prod-c
-else
- ics_api_edp_get_producer_ids_2 200 NOTYPE prod-a prod-c
-fi
+ics_api_edp_get_producer_ids_2 200 NOTYPE prod-a prod-c
prodstub_equal delete/prod-b/job3 1
-if [ -z "$FLAT_A1_EI" ]; then
- ics_api_a1_put_job 404 type2 job3 $TARGET3 ricsim_g3_3 testdata/ics/job-template.json
-else
- if [ $ICS_VERSION == "V1-1" ]; then
- ics_api_a1_put_job 404 job3 type2 $TARGET3 ricsim_g3_3 $STATUS3 testdata/ics/job-template.json
- else
- ics_api_a1_put_job 201 job3 type2 $TARGET3 ricsim_g3_3 $STATUS3 testdata/ics/job-template.json
- ics_api_a1_get_job_status 200 job3 DISABLED
- fi
-fi
+ics_api_a1_put_job 201 job3 type2 $TARGET3 ricsim_g3_3 $STATUS3 testdata/ics/job-template.json
+ics_api_a1_get_job_status 200 job3 DISABLED
# Put producer then job
-if [ $ICS_VERSION == "V1-1" ]; then
- ics_api_edp_put_producer 201 prod-b $CB_JOB/prod-b $CB_SV/prod-b type2 testdata/ics/ei-type-2.json
-else
- ics_api_edp_put_producer_2 201 prod-b $CB_JOB/prod-b $CB_SV/prod-b type2
-fi
+ics_api_edp_put_producer_2 201 prod-b $CB_JOB/prod-b $CB_SV/prod-b type2
ics_api_edp_get_producer_status 200 prod-b ENABLED
-if [ -z "$FLAT_A1_EI" ]; then
- ics_api_a1_put_job 201 type2 job3 $TARGET3 ricsim_g3_3 testdata/ics/job-template2.json
- ics_api_a1_get_job_status 200 type2 job3 ENABLED
-else
- if [ $ICS_VERSION == "V1-1" ]; then
- ics_api_a1_put_job 201 job3 type2 $TARGET3 ricsim_g3_3 $STATUS3 testdata/ics/job-template2.json
- else
- ics_api_a1_put_job 200 job3 type2 $TARGET3 ricsim_g3_3 $STATUS3 testdata/ics/job-template2.json
- fi
- ics_api_a1_get_job_status 200 job3 ENABLED
-fi
+ ics_api_a1_put_job 200 job3 type2 $TARGET3 ricsim_g3_3 $STATUS3 testdata/ics/job-template2.json
-if [ $ICS_VERSION == "V1-1" ]; then
- prodstub_check_jobdata 200 prod-b job3 type2 $TARGET3 ricsim_g3_3 testdata/ics/job-template2.json
-else
- if [[ "$ICS_FEATURE_LEVEL" != *"INFO-TYPES"* ]]; then
- prodstub_check_jobdata_2 200 prod-b job3 type2 $TARGET3 ricsim_g3_3 testdata/ics/job-template2.json
- else
- prodstub_check_jobdata_3 200 prod-b job3 type2 $TARGET3 ricsim_g3_3 testdata/ics/job-template2.json
- fi
-fi
+ics_api_a1_get_job_status 200 job3 ENABLED
+
+prodstub_check_jobdata_3 200 prod-b job3 type2 $TARGET3 ricsim_g3_3 testdata/ics/job-template2.json
ics_api_a1_get_job_ids 200 NOTYPE NOWNER job1 job2 job3
-if [ $ICS_VERSION == "V1-1" ]; then
- ics_api_edp_get_producer_ids 200 prod-a prod-b prod-c
-else
- ics_api_edp_get_producer_ids_2 200 NOTYPE prod-a prod-b prod-c
-fi
+ics_api_edp_get_producer_ids_2 200 NOTYPE prod-a prod-b prod-c
-if [ $ICS_VERSION == "V1-1" ]; then
- prodstub_equal create/prod-b/job3 2
-else
- prodstub_equal create/prod-b/job3 3
-fi
+prodstub_equal create/prod-b/job3 3
prodstub_equal delete/prod-b/job3 1
# Delete only the producer
ics_api_edp_get_producer_status 404 prod-b
ics_api_a1_get_job_ids 200 NOTYPE NOWNER job1 job2 job3
-if [ $ICS_VERSION == "V1-1" ]; then
- ics_api_edp_get_producer_ids 200 prod-a prod-c
-else
- ics_api_edp_get_producer_ids_2 200 NOTYPE prod-a prod-c
-fi
+ics_api_edp_get_producer_ids_2 200 NOTYPE prod-a prod-c
-if [ -z "$FLAT_A1_EI" ]; then
- ics_api_a1_get_job_status 200 type2 job3 DISABLED
-else
- ics_api_a1_get_job_status 200 job3 DISABLED
-fi
+ics_api_a1_get_job_status 200 job3 DISABLED
if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
cr_equal 0 received_callbacks 5 30
fi
# Re-create the producer
-if [ $ICS_VERSION == "V1-1" ]; then
- ics_api_edp_put_producer 201 prod-b $CB_JOB/prod-b $CB_SV/prod-b type2 testdata/ics/ei-type-2.json
-else
- ics_api_edp_put_producer_2 201 prod-b $CB_JOB/prod-b $CB_SV/prod-b type2
-fi
+ics_api_edp_put_producer_2 201 prod-b $CB_JOB/prod-b $CB_SV/prod-b type2
ics_api_edp_get_producer_status 200 prod-b ENABLED
-if [ -z "$FLAT_A1_EI" ]; then
- ics_api_a1_get_job_status 200 type2 job3 ENABLED
-else
- ics_api_a1_get_job_status 200 job3 ENABLED
-fi
+ics_api_a1_get_job_status 200 job3 ENABLED
if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
cr_equal 0 received_callbacks 6 30
cr_api_check_all_ics_events 200 0 job3-status ENABLED
fi
-if [ $ICS_VERSION == "V1-1" ]; then
- prodstub_check_jobdata 200 prod-b job3 type2 $TARGET3 ricsim_g3_3 testdata/ics/job-template2.json
-else
- if [[ "$ICS_FEATURE_LEVEL" != *"INFO-TYPES"* ]]; then
- prodstub_check_jobdata_2 200 prod-b job3 type2 $TARGET3 ricsim_g3_3 testdata/ics/job-template2.json
- else
- prodstub_check_jobdata_3 200 prod-b job3 type2 $TARGET3 ricsim_g3_3 testdata/ics/job-template2.json
- fi
-fi
+prodstub_check_jobdata_3 200 prod-b job3 type2 $TARGET3 ricsim_g3_3 testdata/ics/job-template2.json
## Setup prod-d
-if [ $ICS_VERSION == "V1-1" ]; then
- ics_api_edp_put_producer 201 prod-d $CB_JOB/prod-d $CB_SV/prod-d type4 testdata/ics/ei-type-4.json
-else
- ics_api_edp_put_type_2 201 type4 testdata/ics/ei-type-4.json
- ics_api_edp_put_producer_2 201 prod-d $CB_JOB/prod-d $CB_SV/prod-d type4
-fi
+ics_api_edp_put_type_2 201 type4 testdata/ics/ei-type-4.json
+ics_api_edp_put_producer_2 201 prod-d $CB_JOB/prod-d $CB_SV/prod-d type4
if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
cr_equal 0 received_callbacks 7 30
ics_api_a1_get_job_ids 200 type4 NOWNER EMPTY
-if [ -z "$FLAT_A1_EI" ]; then
- ics_api_a1_put_job 201 type4 job8 $TARGET8 ricsim_g3_4 testdata/ics/job-template.json
-else
- ics_api_a1_put_job 201 job8 type4 $TARGET8 ricsim_g3_4 $STATUS8 testdata/ics/job-template.json
-fi
+ics_api_a1_put_job 201 job8 type4 $TARGET8 ricsim_g3_4 $STATUS8 testdata/ics/job-template.json
-if [ $ICS_VERSION == "V1-1" ]; then
- prodstub_check_jobdata 200 prod-d job8 type4 $TARGET8 ricsim_g3_4 testdata/ics/job-template.json
-else
- if [[ "$ICS_FEATURE_LEVEL" != *"INFO-TYPES"* ]]; then
- prodstub_check_jobdata_2 200 prod-d job8 type4 $TARGET8 ricsim_g3_4 testdata/ics/job-template.json
- else
- prodstub_check_jobdata_3 200 prod-d job8 type4 $TARGET8 ricsim_g3_4 testdata/ics/job-template.json
- fi
-fi
+prodstub_check_jobdata_3 200 prod-d job8 type4 $TARGET8 ricsim_g3_4 testdata/ics/job-template.json
prodstub_equal create/prod-d/job8 1
prodstub_equal delete/prod-d/job8 0
ics_api_a1_get_job_ids 200 type4 NOWNER job8
-if [ -z "$FLAT_A1_EI" ]; then
- ics_api_a1_get_job_status 200 type4 job8 ENABLED
-else
- ics_api_a1_get_job_status 200 job8 ENABLED
-fi
+ics_api_a1_get_job_status 200 job8 ENABLED
# Re-PUT the producer with zero types
-if [ $ICS_VERSION == "V1-1" ]; then
- ics_api_edp_put_producer 200 prod-d $CB_JOB/prod-d $CB_SV/prod-d NOTYPE
-else
- ics_api_edp_put_producer_2 200 prod-d $CB_JOB/prod-d $CB_SV/prod-d NOTYPE
-fi
+ics_api_edp_put_producer_2 200 prod-d $CB_JOB/prod-d $CB_SV/prod-d NOTYPE
-if [ -z "$FLAT_A1_EI" ]; then
- ics_api_a1_get_job_ids 404 type4 NOWNER
-else
- ics_api_a1_get_job_ids 200 type4 NOWNER job8
- ics_api_a1_get_job_ids 200 NOTYPE NOWNER job1 job2 job3 job8
-fi
+ics_api_a1_get_job_ids 200 type4 NOWNER job8
+ics_api_a1_get_job_ids 200 NOTYPE NOWNER job1 job2 job3 job8
-if [ -z "$FLAT_A1_EI" ]; then
- ics_api_a1_get_job_status 200 type4 job8 DISABLED
-else
- ics_api_a1_get_job_status 200 job8 DISABLED
-fi
+ics_api_a1_get_job_status 200 job8 DISABLED
if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
cr_equal 0 received_callbacks 8 30
prodstub_equal delete/prod-d/job8 0
## Re-setup prod-d
-if [ $ICS_VERSION == "V1-1" ]; then
- ics_api_edp_put_producer 200 prod-d $CB_JOB/prod-d $CB_SV/prod-d type4 testdata/ics/ei-type-4.json
-else
- ics_api_edp_put_type_2 200 type4 testdata/ics/ei-type-4.json
- ics_api_edp_put_producer_2 200 prod-d $CB_JOB/prod-d $CB_SV/prod-d type4
-fi
+ics_api_edp_put_type_2 200 type4 testdata/ics/ei-type-4.json
+ics_api_edp_put_producer_2 200 prod-d $CB_JOB/prod-d $CB_SV/prod-d type4
-if [ -z "$FLAT_A1_EI" ]; then
- ics_api_a1_get_job_ids 404 type4 NOWNER
-else
- ics_api_a1_get_job_ids 200 type4 NOWNER job8
- ics_api_a1_get_job_ids 200 NOTYPE NOWNER job1 job2 job3 job8
-fi
+ics_api_a1_get_job_ids 200 type4 NOWNER job8
+ics_api_a1_get_job_ids 200 NOTYPE NOWNER job1 job2 job3 job8
-if [ -z "$FLAT_A1_EI" ]; then
- ics_api_a1_get_job_status 200 type4 job8 ENABLED
-else
- ics_api_a1_get_job_status 200 job8 ENABLED
-fi
+ics_api_a1_get_job_status 200 job8 ENABLED
ics_api_edp_get_producer_status 200 prod-a ENABLED
ics_api_edp_get_producer_status 200 prod-b ENABLED
prodstub_equal delete/prod-d/job8 0
## Setup prod-e
-if [ $ICS_VERSION == "V1-1" ]; then
- ics_api_edp_put_producer 201 prod-e $CB_JOB/prod-e $CB_SV/prod-e type6 testdata/ics/ei-type-6.json
-else
- ics_api_edp_put_type_2 201 type6 testdata/ics/ei-type-6.json
- ics_api_edp_put_producer_2 201 prod-e $CB_JOB/prod-e $CB_SV/prod-e type6
-fi
+ics_api_edp_put_type_2 201 type6 testdata/ics/ei-type-6.json
+ics_api_edp_put_producer_2 201 prod-e $CB_JOB/prod-e $CB_SV/prod-e type6
if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
cr_equal 0 received_callbacks 11 30
ics_api_a1_get_job_ids 200 type6 NOWNER EMPTY
-if [ -z "$FLAT_A1_EI" ]; then
- ics_api_a1_put_job 201 type6 job10 $TARGET10 ricsim_g3_4 testdata/ics/job-template.json
-else
- ics_api_a1_put_job 201 job10 type6 $TARGET10 ricsim_g3_4 $STATUS10 testdata/ics/job-template.json
-fi
+ics_api_a1_put_job 201 job10 type6 $TARGET10 ricsim_g3_4 $STATUS10 testdata/ics/job-template.json
-if [ $ICS_VERSION == "V1-1" ]; then
- prodstub_check_jobdata 200 prod-e job10 type6 $TARGET10 ricsim_g3_4 testdata/ics/job-template.json
-else
- if [[ "$ICS_FEATURE_LEVEL" != *"INFO-TYPES"* ]]; then
- prodstub_check_jobdata_2 200 prod-e job10 type6 $TARGET10 ricsim_g3_4 testdata/ics/job-template.json
- else
- prodstub_check_jobdata_3 200 prod-e job10 type6 $TARGET10 ricsim_g3_4 testdata/ics/job-template.json
- fi
-fi
+prodstub_check_jobdata_3 200 prod-e job10 type6 $TARGET10 ricsim_g3_4 testdata/ics/job-template.json
prodstub_equal create/prod-e/job10 1
prodstub_equal delete/prod-e/job10 0
ics_api_a1_get_job_ids 200 type6 NOWNER job10
-if [ -z "$FLAT_A1_EI" ]; then
- ics_api_a1_get_job_status 200 type6 job10 ENABLED
-else
- ics_api_a1_get_job_status 200 job10 ENABLED
-fi
+ics_api_a1_get_job_status 200 job10 ENABLED
## Setup prod-f
-if [ $ICS_VERSION == "V1-1" ]; then
- ics_api_edp_put_producer 201 prod-f $CB_JOB/prod-f $CB_SV/prod-f type6 testdata/ics/ei-type-6.json
-else
- ics_api_edp_put_type_2 200 type6 testdata/ics/ei-type-6.json
- ics_api_edp_put_producer_2 201 prod-f $CB_JOB/prod-f $CB_SV/prod-f type6
-fi
+ics_api_edp_put_type_2 200 type6 testdata/ics/ei-type-6.json
+ics_api_edp_put_producer_2 201 prod-f $CB_JOB/prod-f $CB_SV/prod-f type6
if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
cr_equal 0 received_callbacks 12 30
ics_api_a1_get_job_ids 200 type6 NOWNER job10
-if [ $ICS_VERSION == "V1-1" ]; then
- prodstub_check_jobdata 200 prod-f job10 type6 $TARGET10 ricsim_g3_4 testdata/ics/job-template.json
-else
- if [[ "$ICS_FEATURE_LEVEL" != *"INFO-TYPES"* ]]; then
- prodstub_check_jobdata_2 200 prod-f job10 type6 $TARGET10 ricsim_g3_4 testdata/ics/job-template.json
- else
- prodstub_check_jobdata_3 200 prod-f job10 type6 $TARGET10 ricsim_g3_4 testdata/ics/job-template.json
- fi
-fi
+prodstub_check_jobdata_3 200 prod-f job10 type6 $TARGET10 ricsim_g3_4 testdata/ics/job-template.json
prodstub_equal create/prod-f/job10 1
prodstub_equal delete/prod-f/job10 0
ics_api_a1_get_job_ids 200 type6 NOWNER job10
-if [ -z "$FLAT_A1_EI" ]; then
- ics_api_a1_get_job_status 200 type6 job10 ENABLED
-else
- ics_api_a1_get_job_status 200 job10 ENABLED
-fi
+ics_api_a1_get_job_status 200 job10 ENABLED
## Status updates prod-a and jobs
-if [ $ICS_VERSION == "V1-1" ]; then
- ics_api_edp_get_producer_ids 200 prod-a prod-b prod-c prod-d prod-e prod-f
-else
- ics_api_edp_get_producer_ids_2 200 NOTYPE prod-a prod-b prod-c prod-d prod-e prod-f
-fi
+ics_api_edp_get_producer_ids_2 200 NOTYPE prod-a prod-b prod-c prod-d prod-e prod-f
ics_api_edp_get_producer_status 200 prod-a ENABLED
ics_api_edp_get_producer_status 200 prod-b ENABLED
# Wait for producer prod-a to go disabled
ics_api_edp_get_producer_status 200 prod-a DISABLED 360
-if [ $ICS_VERSION == "V1-1" ]; then
- ics_api_edp_get_producer_ids 200 prod-a prod-b prod-c prod-d prod-e prod-f
-else
- ics_api_edp_get_producer_ids_2 200 NOTYPE prod-a prod-b prod-c prod-d prod-e prod-f
-fi
+ics_api_edp_get_producer_ids_2 200 NOTYPE prod-a prod-b prod-c prod-d prod-e prod-f
ics_api_edp_get_producer_status 200 prod-a DISABLED
ics_api_edp_get_producer_status 200 prod-b ENABLED
ics_api_edp_get_producer_status 200 prod-f ENABLED
-if [ -z "$FLAT_A1_EI" ]; then
- ics_api_a1_get_job_status 200 type1 job1 ENABLED
- ics_api_a1_get_job_status 200 type1 job2 ENABLED
- ics_api_a1_get_job_status 200 type2 job3 ENABLED
- ics_api_a1_get_job_status 200 type4 job8 ENABLED
- ics_api_a1_get_job_status 200 type6 job10 ENABLED
-else
- ics_api_a1_get_job_status 200 job1 ENABLED
- ics_api_a1_get_job_status 200 job2 ENABLED
- ics_api_a1_get_job_status 200 job3 ENABLED
- ics_api_a1_get_job_status 200 job8 ENABLED
- ics_api_a1_get_job_status 200 job10 ENABLED
-fi
+ics_api_a1_get_job_status 200 job1 ENABLED
+ics_api_a1_get_job_status 200 job2 ENABLED
+ics_api_a1_get_job_status 200 job3 ENABLED
+ics_api_a1_get_job_status 200 job8 ENABLED
+ics_api_a1_get_job_status 200 job10 ENABLED
# Arm producer prod-a for supervision
prodstub_arm_producer 200 prod-a 200
# Wait for producer prod-a to go enabled
ics_api_edp_get_producer_status 200 prod-a ENABLED 360
-if [ $ICS_VERSION == "V1-1" ]; then
- ics_api_edp_get_producer_ids 200 prod-a prod-b prod-c prod-d prod-e prod-f
-else
- ics_api_edp_get_producer_ids_2 200 NOTYPE prod-a prod-b prod-c prod-d prod-e prod-f
-fi
+ics_api_edp_get_producer_ids_2 200 NOTYPE prod-a prod-b prod-c prod-d prod-e prod-f
ics_api_edp_get_producer_status 200 prod-a ENABLED
ics_api_edp_get_producer_status 200 prod-b ENABLED
ics_api_edp_get_producer_status 200 prod-e ENABLED
ics_api_edp_get_producer_status 200 prod-f ENABLED
-if [ -z "$FLAT_A1_EI" ]; then
- ics_api_a1_get_job_status 200 type1 job1 ENABLED
- ics_api_a1_get_job_status 200 type1 job2 ENABLED
- ics_api_a1_get_job_status 200 type2 job3 ENABLED
- ics_api_a1_get_job_status 200 type4 job8 ENABLED
- ics_api_a1_get_job_status 200 type6 job10 ENABLED
-else
- ics_api_a1_get_job_status 200 job1 ENABLED
- ics_api_a1_get_job_status 200 job2 ENABLED
- ics_api_a1_get_job_status 200 job3 ENABLED
- ics_api_a1_get_job_status 200 job8 ENABLED
- ics_api_a1_get_job_status 200 job10 ENABLED
-fi
+ics_api_a1_get_job_status 200 job1 ENABLED
+ics_api_a1_get_job_status 200 job2 ENABLED
+ics_api_a1_get_job_status 200 job3 ENABLED
+ics_api_a1_get_job_status 200 job8 ENABLED
+ics_api_a1_get_job_status 200 job10 ENABLED
# Arm producer prod-a for supervision failure
prodstub_arm_producer 200 prod-a 400
# Wait for producer prod-a to go disabled
ics_api_edp_get_producer_status 200 prod-a DISABLED 360
-if [ $ICS_VERSION == "V1-1" ]; then
- ics_api_edp_get_producer_ids 200 prod-a prod-b prod-c prod-d prod-e prod-f
-else
- ics_api_edp_get_producer_ids_2 200 NOTYPE prod-a prod-b prod-c prod-d prod-e prod-f
-fi
+ics_api_edp_get_producer_ids_2 200 NOTYPE prod-a prod-b prod-c prod-d prod-e prod-f
ics_api_edp_get_producer_status 200 prod-a DISABLED
ics_api_edp_get_producer_status 200 prod-b ENABLED
ics_api_edp_get_producer_status 200 prod-e ENABLED
ics_api_edp_get_producer_status 200 prod-f ENABLED
-if [ -z "$FLAT_A1_EI" ]; then
- ics_api_a1_get_job_status 200 type1 job1 ENABLED
- ics_api_a1_get_job_status 200 type1 job2 ENABLED
- ics_api_a1_get_job_status 200 type2 job3 ENABLED
- ics_api_a1_get_job_status 200 type4 job8 ENABLED
- ics_api_a1_get_job_status 200 type6 job10 ENABLED
-else
- ics_api_a1_get_job_status 200 job1 ENABLED
- ics_api_a1_get_job_status 200 job2 ENABLED
- ics_api_a1_get_job_status 200 job3 ENABLED
- ics_api_a1_get_job_status 200 job8 ENABLED
- ics_api_a1_get_job_status 200 job10 ENABLED
-fi
+ics_api_a1_get_job_status 200 job1 ENABLED
+ics_api_a1_get_job_status 200 job2 ENABLED
+ics_api_a1_get_job_status 200 job3 ENABLED
+ics_api_a1_get_job_status 200 job8 ENABLED
+ics_api_a1_get_job_status 200 job10 ENABLED
# Wait for producer prod-a to be removed
-if [[ "$ICS_FEATURE_LEVEL" == *"INFO-TYPES"* ]]; then
- ics_equal json:data-producer/v1/info-producers 5 1000
-else
- ics_equal json:ei-producer/v1/eiproducers 5 1000
-fi
+ics_equal json:data-producer/v1/info-producers 5 1000
-if [ $ICS_VERSION == "V1-1" ]; then
- ics_api_edp_get_producer_ids 200 prod-b prod-c prod-d prod-e prod-f
-else
- ics_api_edp_get_producer_ids_2 200 NOTYPE prod-b prod-c prod-d prod-e prod-f
-fi
+ics_api_edp_get_producer_ids_2 200 NOTYPE prod-b prod-c prod-d prod-e prod-f
ics_api_edp_get_producer_status 404 prod-a
ics_api_edp_get_producer_status 200 prod-e ENABLED
ics_api_edp_get_producer_status 200 prod-f ENABLED
-if [ -z "$FLAT_A1_EI" ]; then
- ics_api_a1_get_job_status 200 type1 job1 DISABLED
- ics_api_a1_get_job_status 200 type1 job2 DISABLED
- ics_api_a1_get_job_status 200 type2 job3 ENABLED
- ics_api_a1_get_job_status 200 type4 job8 ENABLED
- ics_api_a1_get_job_status 200 type6 job10 ENABLED
-else
- ics_api_a1_get_job_status 200 job1 DISABLED
- ics_api_a1_get_job_status 200 job2 DISABLED
- ics_api_a1_get_job_status 200 job3 ENABLED
- ics_api_a1_get_job_status 200 job8 ENABLED
- ics_api_a1_get_job_status 200 job10 ENABLED
-fi
+ics_api_a1_get_job_status 200 job1 DISABLED
+ics_api_a1_get_job_status 200 job2 DISABLED
+ics_api_a1_get_job_status 200 job3 ENABLED
+ics_api_a1_get_job_status 200 job8 ENABLED
+ics_api_a1_get_job_status 200 job10 ENABLED
if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
cr_equal 0 received_callbacks 14 30
ics_api_edp_get_producer_status 200 prod-e DISABLED 1000
-if [ $ICS_VERSION == "V1-1" ]; then
- ics_api_edp_get_producer_ids 200 prod-b prod-c prod-d prod-e prod-f
-else
- ics_api_edp_get_producer_ids_2 200 NOTYPE prod-b prod-c prod-d prod-e prod-f
-fi
+ics_api_edp_get_producer_ids_2 200 NOTYPE prod-b prod-c prod-d prod-e prod-f
ics_api_edp_get_producer_status 404 prod-a
ics_api_edp_get_producer_status 200 prod-b ENABLED
ics_api_edp_get_producer_status 200 prod-e DISABLED
ics_api_edp_get_producer_status 200 prod-f ENABLED
-if [ -z "$FLAT_A1_EI" ]; then
- ics_api_a1_get_job_status 200 type1 job1 DISABLED
- ics_api_a1_get_job_status 200 type1 job2 DISABLED
- ics_api_a1_get_job_status 200 type2 job3 ENABLED
- ics_api_a1_get_job_status 200 type4 job8 ENABLED
- ics_api_a1_get_job_status 200 type6 job10 ENABLED
-else
- ics_api_a1_get_job_status 200 job1 DISABLED
- ics_api_a1_get_job_status 200 job2 DISABLED
- ics_api_a1_get_job_status 200 job3 ENABLED
- ics_api_a1_get_job_status 200 job8 ENABLED
- ics_api_a1_get_job_status 200 job10 ENABLED
-fi
+ics_api_a1_get_job_status 200 job1 DISABLED
+ics_api_a1_get_job_status 200 job2 DISABLED
+ics_api_a1_get_job_status 200 job3 ENABLED
+ics_api_a1_get_job_status 200 job8 ENABLED
+ics_api_a1_get_job_status 200 job10 ENABLED
#Disable create for job10 in prod-e
prodstub_arm_job_create 200 prod-e job10 400
#Update tjob 10 - only prod-f will be updated
-if [ -z "$FLAT_A1_EI" ]; then
- ics_api_a1_put_job 200 type6 job10 $TARGET10 ricsim_g3_4 testdata/ics/job-template2.json
-else
- ics_api_a1_put_job 200 job10 type6 $TARGET10 ricsim_g3_4 $STATUS10 testdata/ics/job-template2.json
-fi
+ics_api_a1_put_job 200 job10 type6 $TARGET10 ricsim_g3_4 $STATUS10 testdata/ics/job-template2.json
#Reset producer and job responses
prodstub_arm_producer 200 prod-e 200
prodstub_arm_job_create 200 prod-e job10 200
ics_api_edp_get_producer_status 200 prod-e ENABLED 360
-if [ $ICS_VERSION == "V1-1" ]; then
- ics_api_edp_get_producer_ids 200 prod-b prod-c prod-d prod-e prod-f
-else
- ics_api_edp_get_producer_ids_2 200 NOTYPE prod-b prod-c prod-d prod-e prod-f
-fi
+ics_api_edp_get_producer_ids_2 200 NOTYPE prod-b prod-c prod-d prod-e prod-f
#Wait for job to be updated
sleep_wait 120
-if [ $ICS_VERSION == "V1-1" ]; then
- prodstub_check_jobdata 200 prod-f job10 type6 $TARGET10 ricsim_g3_4 testdata/ics/job-template2.json
-else
- if [[ "$ICS_FEATURE_LEVEL" != *"INFO-TYPES"* ]]; then
- prodstub_check_jobdata_2 200 prod-f job10 type6 $TARGET10 ricsim_g3_4 testdata/ics/job-template2.json
- else
- prodstub_check_jobdata_3 200 prod-f job10 type6 $TARGET10 ricsim_g3_4 testdata/ics/job-template2.json
- fi
-fi
+prodstub_check_jobdata_3 200 prod-f job10 type6 $TARGET10 ricsim_g3_4 testdata/ics/job-template2.json
prodstub_arm_producer 200 prod-f 400
ics_api_edp_get_producer_status 200 prod-f DISABLED 360
-if [[ "$ICS_FEATURE_LEVEL" == *"INFO-TYPES"* ]]; then
- ics_equal json:data-producer/v1/info-producers 4 1000
-else
- ics_equal json:ei-producer/v1/eiproducers 4 1000
-fi
+ics_equal json:data-producer/v1/info-producers 4 1000
-if [ $ICS_VERSION == "V1-1" ]; then
- ics_api_edp_get_producer_ids 200 prod-b prod-c prod-d prod-e
-else
- ics_api_edp_get_producer_ids_2 200 NOTYPE prod-b prod-c prod-d prod-e
-fi
+ics_api_edp_get_producer_ids_2 200 NOTYPE prod-b prod-c prod-d prod-e
ics_api_edp_get_producer_status 404 prod-a
ics_api_edp_get_producer_status 200 prod-b ENABLED
ics_api_edp_get_producer_status 200 prod-e ENABLED
ics_api_edp_get_producer_status 404 prod-f
-if [ -z "$FLAT_A1_EI" ]; then
- ics_api_a1_get_job_status 200 type1 job1 DISABLED
- ics_api_a1_get_job_status 200 type1 job2 DISABLED
- ics_api_a1_get_job_status 200 type2 job3 ENABLED
- ics_api_a1_get_job_status 200 type4 job8 ENABLED
- ics_api_a1_get_job_status 200 type6 job10 ENABLED
-else
- ics_api_a1_get_job_status 200 job1 DISABLED
- ics_api_a1_get_job_status 200 job2 DISABLED
- ics_api_a1_get_job_status 200 job3 ENABLED
- ics_api_a1_get_job_status 200 job8 ENABLED
- ics_api_a1_get_job_status 200 job10 ENABLED
-fi
+ics_api_a1_get_job_status 200 job1 DISABLED
+ics_api_a1_get_job_status 200 job2 DISABLED
+ics_api_a1_get_job_status 200 job3 ENABLED
+ics_api_a1_get_job_status 200 job8 ENABLED
+ics_api_a1_get_job_status 200 job10 ENABLED
if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
cr_equal 0 received_callbacks 14 30
fi
-if [[ "$ICS_FEATURE_LEVEL" != *"INFO-TYPES"* ]]; then
-
- # End test if info types is not impl in tested version
- check_ics_logs
-
- store_logs END
-
- #### TEST COMPLETE ####
-
- print_result
-
- auto_clean_environment
-fi
-
-
############################################
# Test of info types
############################################
ics_api_idc_get_job_status2 200 job110 ENABLED 2 prod-ie prod-if
# Wait for producer prod-ia to be removed
-if [[ "$ICS_FEATURE_LEVEL" == *"INFO-TYPES"* ]]; then
- ics_equal json:data-producer/v1/info-producers 9 1000
-else
- ics_equal json:ei-producer/v1/eiproducers 9 1000
-fi
+ics_equal json:data-producer/v1/info-producers 9 1000
ics_api_edp_get_producer_ids_2 200 NOTYPE prod-ib prod-ic prod-id prod-ie prod-if prod-b prod-c prod-d prod-e
ics_api_edp_get_producer_status 200 prod-if DISABLED 360
-if [[ "$ICS_FEATURE_LEVEL" == *"INFO-TYPES"* ]]; then
- ics_equal json:data-producer/v1/info-producers 8 1000
-else
- ics_equal json:ei-producer/v1/eiproducers 8 1000
-fi
+ics_equal json:data-producer/v1/info-producers 8 1000
ics_api_edp_get_producer_ids_2 200 NOTYPE prod-ib prod-ic prod-id prod-ie prod-b prod-c prod-d prod-e
#!/bin/bash
# ============LICENSE_START===============================================
-# Copyright (C) 2020 Nordix Foundation. All rights reserved.
+# Copyright (C) 2020-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.
#### TEST BEGIN ####
-generate_policy_uuid
+sim_generate_policy_uuid
#Test a1pms and simulator protocol versions (others are http only)
NB_TESTED_PROTOCOLS="HTTP HTTPS"
start_ric_simulators ricsim_g2 1 STD_1.1.3
start_ric_simulators ricsim_g3 1 STD_2.0.0
- start_sdnc
if [ $__nb_httpx == "HTTPS" ]; then
# "Using secure ports towards SDNC"
- use_sdnc_https
+ if [[ "$SDNC_FEATURE_LEVEL" == *"NO_NB_HTTPS"* ]]; then
+ deviation "SDNC does not support NB https"
+ use_sdnc_http
+ else
+ use_sdnc_https
+ fi
else
#"Using non-secure ports towards SDNC"
use_sdnc_http
fi
+ start_sdnc
+ controller_api_wait_for_status_ok 200 ricsim_g1_1
+
if [ $__sb_httpx == "HTTPS" ]; then
# "Using secure ports towards SDNC"
use_simulator_https
#!/bin/bash
# ============LICENSE_START===============================================
-# Copyright (C) 2020 Nordix Foundation. All rights reserved.
+# Copyright (C) 2020-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.
#### TEST BEGIN ####
-FLAT_A1_EI="1"
-
clean_environment
start_kube_proxy
CB_SV="$PROD_STUB_SERVICE_PATH$PROD_STUB_SUPERVISION_CALLBACK"
TARGET="http://localhost:80/target" # Dummy target
-NUM_JOBS=10000
-use_info_jobs=false #Set flag if interface supporting info-types is used
-if [[ "$ICS_FEATURE_LEVEL" == *"INFO-TYPES"* ]]; then
- use_info_jobs=true
- NUM_JOBS=5000 # 5K ei jobs and 5K info jobs
-fi
+NUM_JOBS=5000 # 5K ei jobs and 5K info jobs
if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
#Type registration status callbacks
fi
done
-if [ $use_info_jobs ]; then
- prodstub_arm_producer 200 prod-a
- prodstub_arm_producer 200 prod-b
- prodstub_arm_producer 200 prod-c
- prodstub_arm_producer 200 prod-d
-
- prodstub_arm_type 200 prod-a type101
-
- prodstub_arm_type 200 prod-b type101
- prodstub_arm_type 200 prod-b type102
-
- prodstub_arm_type 200 prod-c type101
- prodstub_arm_type 200 prod-c type102
- prodstub_arm_type 200 prod-c type103
-
- prodstub_arm_type 200 prod-d type104
- prodstub_arm_type 200 prod-d type105
-
- for ((i=1; i<=$NUM_JOBS; i++))
- do
- if [ $(($i%5)) -eq 0 ]; then
- prodstub_arm_job_create 200 prod-a job$(($i+$NUM_JOBS))
- prodstub_arm_job_create 200 prod-b job$(($i+$NUM_JOBS))
- prodstub_arm_job_create 200 prod-c job$(($i+$NUM_JOBS))
- fi
- if [ $(($i%5)) -eq 1 ]; then
- prodstub_arm_job_create 200 prod-b job$(($i+$NUM_JOBS))
- prodstub_arm_job_create 200 prod-c job$(($i+$NUM_JOBS))
- fi
- if [ $(($i%5)) -eq 2 ]; then
- prodstub_arm_job_create 200 prod-c job$(($i+$NUM_JOBS))
- fi
- if [ $(($i%5)) -eq 3 ]; then
- prodstub_arm_job_create 200 prod-d job$(($i+$NUM_JOBS))
- fi
- if [ $(($i%5)) -eq 4 ]; then
- prodstub_arm_job_create 200 prod-d job$(($i+$NUM_JOBS))
- fi
- done
-fi
+prodstub_arm_producer 200 prod-a
+prodstub_arm_producer 200 prod-b
+prodstub_arm_producer 200 prod-c
+prodstub_arm_producer 200 prod-d
+prodstub_arm_type 200 prod-a type101
-if [ $ICS_VERSION == "V1-1" ]; then
+prodstub_arm_type 200 prod-b type101
+prodstub_arm_type 200 prod-b type102
- ics_api_edp_put_producer 201 prod-a $CB_JOB/prod-a $CB_SV/prod-a type1 testdata/ics/ei-type-1.json
+prodstub_arm_type 200 prod-c type101
+prodstub_arm_type 200 prod-c type102
+prodstub_arm_type 200 prod-c type103
- ics_api_edp_put_producer 201 prod-b $CB_JOB/prod-b $CB_SV/prod-b type1 testdata/ics/ei-type-1.json type2 testdata/ics/ei-type-2.json
+prodstub_arm_type 200 prod-d type104
+prodstub_arm_type 200 prod-d type105
- ics_api_edp_put_producer 201 prod-c $CB_JOB/prod-c $CB_SV/prod-c type1 testdata/ics/ei-type-1.json type2 testdata/ics/ei-type-2.json type3 testdata/ics/ei-type-3.json
+for ((i=1; i<=$NUM_JOBS; i++))
+do
+ if [ $(($i%5)) -eq 0 ]; then
+ prodstub_arm_job_create 200 prod-a job$(($i+$NUM_JOBS))
+ prodstub_arm_job_create 200 prod-b job$(($i+$NUM_JOBS))
+ prodstub_arm_job_create 200 prod-c job$(($i+$NUM_JOBS))
+ fi
+ if [ $(($i%5)) -eq 1 ]; then
+ prodstub_arm_job_create 200 prod-b job$(($i+$NUM_JOBS))
+ prodstub_arm_job_create 200 prod-c job$(($i+$NUM_JOBS))
+ fi
+ if [ $(($i%5)) -eq 2 ]; then
+ prodstub_arm_job_create 200 prod-c job$(($i+$NUM_JOBS))
+ fi
+ if [ $(($i%5)) -eq 3 ]; then
+ prodstub_arm_job_create 200 prod-d job$(($i+$NUM_JOBS))
+ fi
+ if [ $(($i%5)) -eq 4 ]; then
+ prodstub_arm_job_create 200 prod-d job$(($i+$NUM_JOBS))
+ fi
+done
- ics_api_edp_put_producer 201 prod-d $CB_JOB/prod-d $CB_SV/prod-d type4 testdata/ics/ei-type-4.json type5 testdata/ics/ei-type-5.json
-else
- ics_api_edp_put_type_2 201 type1 testdata/ics/ei-type-1.json
- ics_api_edp_put_type_2 201 type2 testdata/ics/ei-type-2.json
- ics_api_edp_put_type_2 201 type3 testdata/ics/ei-type-3.json
- ics_api_edp_put_type_2 201 type4 testdata/ics/ei-type-4.json
- ics_api_edp_put_type_2 201 type5 testdata/ics/ei-type-5.json
+ics_api_edp_put_type_2 201 type1 testdata/ics/ei-type-1.json
+ics_api_edp_put_type_2 201 type2 testdata/ics/ei-type-2.json
+ics_api_edp_put_type_2 201 type3 testdata/ics/ei-type-3.json
+ics_api_edp_put_type_2 201 type4 testdata/ics/ei-type-4.json
+ics_api_edp_put_type_2 201 type5 testdata/ics/ei-type-5.json
- ics_api_edp_put_producer_2 201 prod-a $CB_JOB/prod-a $CB_SV/prod-a type1
+ics_api_edp_put_producer_2 201 prod-a $CB_JOB/prod-a $CB_SV/prod-a type1
- ics_api_edp_put_producer_2 201 prod-b $CB_JOB/prod-b $CB_SV/prod-b type1 type2
+ics_api_edp_put_producer_2 201 prod-b $CB_JOB/prod-b $CB_SV/prod-b type1 type2
- ics_api_edp_put_producer_2 201 prod-c $CB_JOB/prod-c $CB_SV/prod-c type1 type2 type3
+ics_api_edp_put_producer_2 201 prod-c $CB_JOB/prod-c $CB_SV/prod-c type1 type2 type3
- ics_api_edp_put_producer_2 201 prod-d $CB_JOB/prod-d $CB_SV/prod-d type4 type5
+ics_api_edp_put_producer_2 201 prod-d $CB_JOB/prod-d $CB_SV/prod-d type4 type5
- if [ $use_info_jobs ]; then
- ics_api_edp_put_type_2 201 type101 testdata/ics/info-type-1.json
- ics_api_edp_put_type_2 201 type102 testdata/ics/info-type-2.json
- ics_api_edp_put_type_2 201 type103 testdata/ics/info-type-3.json
- ics_api_edp_put_type_2 201 type104 testdata/ics/info-type-4.json
- ics_api_edp_put_type_2 201 type105 testdata/ics/info-type-5.json
+ics_api_edp_put_type_2 201 type101 testdata/ics/info-type-1.json
+ics_api_edp_put_type_2 201 type102 testdata/ics/info-type-2.json
+ics_api_edp_put_type_2 201 type103 testdata/ics/info-type-3.json
+ics_api_edp_put_type_2 201 type104 testdata/ics/info-type-4.json
+ics_api_edp_put_type_2 201 type105 testdata/ics/info-type-5.json
- if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
- cr_equal 0 received_callbacks 20 30
- cr_equal 0 received_callbacks?id=type-status1 10
- cr_equal 0 received_callbacks?id=type-status2 10
+if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
+ cr_equal 0 received_callbacks 20 30
+ cr_equal 0 received_callbacks?id=type-status1 10
+ cr_equal 0 received_callbacks?id=type-status2 10
- cr_api_check_all_ics_subscription_events 200 0 type-status1 \
- type1 testdata/ics/ei-type-1.json REGISTERED \
- type2 testdata/ics/ei-type-2.json REGISTERED \
- type3 testdata/ics/ei-type-3.json REGISTERED \
- type4 testdata/ics/ei-type-4.json REGISTERED \
- type5 testdata/ics/ei-type-5.json REGISTERED \
- type101 testdata/ics/info-type-1.json REGISTERED \
- type102 testdata/ics/info-type-2.json REGISTERED \
- type103 testdata/ics/info-type-3.json REGISTERED \
- type104 testdata/ics/info-type-4.json REGISTERED \
- type105 testdata/ics/info-type-5.json REGISTERED
+ cr_api_check_all_ics_subscription_events 200 0 type-status1 \
+ type1 testdata/ics/ei-type-1.json REGISTERED \
+ type2 testdata/ics/ei-type-2.json REGISTERED \
+ type3 testdata/ics/ei-type-3.json REGISTERED \
+ type4 testdata/ics/ei-type-4.json REGISTERED \
+ type5 testdata/ics/ei-type-5.json REGISTERED \
+ type101 testdata/ics/info-type-1.json REGISTERED \
+ type102 testdata/ics/info-type-2.json REGISTERED \
+ type103 testdata/ics/info-type-3.json REGISTERED \
+ type104 testdata/ics/info-type-4.json REGISTERED \
+ type105 testdata/ics/info-type-5.json REGISTERED
+
+ cr_api_check_all_ics_subscription_events 200 0 type-status2 \
+ type1 testdata/ics/ei-type-1.json REGISTERED \
+ type2 testdata/ics/ei-type-2.json REGISTERED \
+ type3 testdata/ics/ei-type-3.json REGISTERED \
+ type4 testdata/ics/ei-type-4.json REGISTERED \
+ type5 testdata/ics/ei-type-5.json REGISTERED \
+ type101 testdata/ics/info-type-1.json REGISTERED \
+ type102 testdata/ics/info-type-2.json REGISTERED \
+ type103 testdata/ics/info-type-3.json REGISTERED \
+ type104 testdata/ics/info-type-4.json REGISTERED \
+ type105 testdata/ics/info-type-5.json REGISTERED
- cr_api_check_all_ics_subscription_events 200 0 type-status2 \
- type1 testdata/ics/ei-type-1.json REGISTERED \
- type2 testdata/ics/ei-type-2.json REGISTERED \
- type3 testdata/ics/ei-type-3.json REGISTERED \
- type4 testdata/ics/ei-type-4.json REGISTERED \
- type5 testdata/ics/ei-type-5.json REGISTERED \
- type101 testdata/ics/info-type-1.json REGISTERED \
- type102 testdata/ics/info-type-2.json REGISTERED \
- type103 testdata/ics/info-type-3.json REGISTERED \
- type104 testdata/ics/info-type-4.json REGISTERED \
- type105 testdata/ics/info-type-5.json REGISTERED
+fi
- fi
+ics_api_edp_put_producer_2 200 prod-a $CB_JOB/prod-a $CB_SV/prod-a type1 type101
- ics_api_edp_put_producer_2 200 prod-a $CB_JOB/prod-a $CB_SV/prod-a type1 type101
+ics_api_edp_put_producer_2 200 prod-b $CB_JOB/prod-b $CB_SV/prod-b type1 type2 type101 type102
- ics_api_edp_put_producer_2 200 prod-b $CB_JOB/prod-b $CB_SV/prod-b type1 type2 type101 type102
+ics_api_edp_put_producer_2 200 prod-c $CB_JOB/prod-c $CB_SV/prod-c type1 type2 type3 type101 type102 type103
- ics_api_edp_put_producer_2 200 prod-c $CB_JOB/prod-c $CB_SV/prod-c type1 type2 type3 type101 type102 type103
+ics_api_edp_put_producer_2 200 prod-d $CB_JOB/prod-d $CB_SV/prod-d type4 type5 type104 type105
- ics_api_edp_put_producer_2 200 prod-d $CB_JOB/prod-d $CB_SV/prod-d type4 type5 type104 type105
- fi
-fi
-if [ $use_info_jobs ]; then
- ics_equal json:data-producer/v1/info-producers 4
-else
- ics_equal json:ei-producer/v1/eiproducers 4
-fi
+ics_equal json:data-producer/v1/info-producers 4
ics_api_edp_get_producer_status 200 prod-a ENABLED
ics_api_edp_get_producer_status 200 prod-b ENABLED
do
if [ $(($i%5)) -eq 0 ]; then
ics_api_a1_put_job 201 job$i type1 $TARGET ric1 $CR_SERVICE_APP_PATH_0/job_status_ric1_$(($i+$NUM_JOBS)) testdata/ics/job-template.json
- if [ -z "$FLAT_A1_EI" ]; then
- ics_api_a1_get_job_status 200 type1 job$i ENABLED
- else
- ics_api_a1_get_job_status 200 job$i ENABLED 120
- fi
- if [ $use_info_jobs ]; then
- ics_api_idc_put_job 201 job$(($i+$NUM_JOBS)) type101 $TARGET info-owner $CR_SERVICE_APP_PATH_0/job_status_info-owner$(($i+$NUM_JOBS)) testdata/ics/job-template.json VALIDATE
- ics_api_idc_get_job_status2 200 job$(($i+$NUM_JOBS)) ENABLED 3 prod-a prod-b prod-c 120
- fi
+ ics_api_a1_get_job_status 200 job$i ENABLED 120
+ ics_api_idc_put_job 201 job$(($i+$NUM_JOBS)) type101 $TARGET info-owner $CR_SERVICE_APP_PATH_0/job_status_info-owner$(($i+$NUM_JOBS)) testdata/ics/job-template.json VALIDATE
+ ics_api_idc_get_job_status2 200 job$(($i+$NUM_JOBS)) ENABLED 3 prod-a prod-b prod-c 120
fi
if [ $(($i%5)) -eq 1 ]; then
ics_api_a1_put_job 201 job$i type2 $TARGET ric1 $CR_SERVICE_APP_PATH_0/job_status_ric1_$(($i+$NUM_JOBS)) testdata/ics/job-template.json
- if [ -z "$FLAT_A1_EI" ]; then
- ics_api_a1_get_job_status 200 type2 job$i ENABLED
- else
- ics_api_a1_get_job_status 200 job$i ENABLED 120
- fi
- if [ $use_info_jobs ]; then
- ics_api_idc_put_job 201 job$(($i+$NUM_JOBS)) type102 $TARGET info-owner $CR_SERVICE_APP_PATH_0/job_status_info-owner$(($i+$NUM_JOBS)) testdata/ics/job-template.json VALIDATE
- ics_api_idc_get_job_status2 200 job$(($i+$NUM_JOBS)) ENABLED 2 prod-b prod-c 120
- fi
+ ics_api_a1_get_job_status 200 job$i ENABLED 120
+ ics_api_idc_put_job 201 job$(($i+$NUM_JOBS)) type102 $TARGET info-owner $CR_SERVICE_APP_PATH_0/job_status_info-owner$(($i+$NUM_JOBS)) testdata/ics/job-template.json VALIDATE
+ ics_api_idc_get_job_status2 200 job$(($i+$NUM_JOBS)) ENABLED 2 prod-b prod-c 120
fi
if [ $(($i%5)) -eq 2 ]; then
ics_api_a1_put_job 201 job$i type3 $TARGET ric1 $CR_SERVICE_APP_PATH_0/job_status_ric1_$(($i+$NUM_JOBS)) testdata/ics/job-template.json
- if [ -z "$FLAT_A1_EI" ]; then
- ics_api_a1_get_job_status 200 type3 job$i ENABLED
- else
- ics_api_a1_get_job_status 200 job$i ENABLED 120
- fi
- if [ $use_info_jobs ]; then
- ics_api_idc_put_job 201 job$(($i+$NUM_JOBS)) type103 $TARGET info-owner $CR_SERVICE_APP_PATH_0/job_status_info-owner$(($i+$NUM_JOBS)) testdata/ics/job-template.json VALIDATE
- ics_api_idc_get_job_status2 200 job$(($i+$NUM_JOBS)) ENABLED 1 prod-c 120
- fi
+ ics_api_a1_get_job_status 200 job$i ENABLED 120
+ ics_api_idc_put_job 201 job$(($i+$NUM_JOBS)) type103 $TARGET info-owner $CR_SERVICE_APP_PATH_0/job_status_info-owner$(($i+$NUM_JOBS)) testdata/ics/job-template.json VALIDATE
+ ics_api_idc_get_job_status2 200 job$(($i+$NUM_JOBS)) ENABLED 1 prod-c 120
fi
if [ $(($i%5)) -eq 3 ]; then
ics_api_a1_put_job 201 job$i type4 $TARGET ric1 $CR_SERVICE_APP_PATH_0/job_status_ric1_$(($i+$NUM_JOBS)) testdata/ics/job-template.json
- if [ -z "$FLAT_A1_EI" ]; then
- ics_api_a1_get_job_status 200 type4 job$i ENABLED
- else
- ics_api_a1_get_job_status 200 job$i ENABLED 120
- fi
- if [ $use_info_jobs ]; then
- ics_api_idc_put_job 201 job$(($i+$NUM_JOBS)) type104 $TARGET info-owner $CR_SERVICE_APP_PATH_0/job_status_info-owner$(($i+$NUM_JOBS)) testdata/ics/job-template.json VALIDATE
- ics_api_idc_get_job_status2 200 job$(($i+$NUM_JOBS)) ENABLED 1 prod-d 120
- fi
+ ics_api_a1_get_job_status 200 job$i ENABLED 120
+ ics_api_idc_put_job 201 job$(($i+$NUM_JOBS)) type104 $TARGET info-owner $CR_SERVICE_APP_PATH_0/job_status_info-owner$(($i+$NUM_JOBS)) testdata/ics/job-template.json VALIDATE
+ ics_api_idc_get_job_status2 200 job$(($i+$NUM_JOBS)) ENABLED 1 prod-d 120
fi
if [ $(($i%5)) -eq 4 ]; then
ics_api_a1_put_job 201 job$i type5 $TARGET ric1 $CR_SERVICE_APP_PATH_0/job_status_ric1_$(($i+$NUM_JOBS)) testdata/ics/job-template.json
- if [ -z "$FLAT_A1_EI" ]; then
- ics_api_a1_get_job_status 200 type5 job$i ENABLED
- else
- ics_api_a1_get_job_status 200 job$i ENABLED 120
- fi
- if [ $use_info_jobs ]; then
- ics_api_idc_put_job 201 job$(($i+$NUM_JOBS)) type105 $TARGET info-owner $CR_SERVICE_APP_PATH_0/job_status_info-owner$(($i+$NUM_JOBS)) testdata/ics/job-template.json VALIDATE
- ics_api_idc_get_job_status2 200 job$(($i+$NUM_JOBS)) ENABLED 1 prod-d 120
- fi
+ ics_api_a1_get_job_status 200 job$i ENABLED 120
+ ics_api_idc_put_job 201 job$(($i+$NUM_JOBS)) type105 $TARGET info-owner $CR_SERVICE_APP_PATH_0/job_status_info-owner$(($i+$NUM_JOBS)) testdata/ics/job-template.json VALIDATE
+ ics_api_idc_get_job_status2 200 job$(($i+$NUM_JOBS)) ENABLED 1 prod-d 120
fi
done
-if [ -z "$FLAT_A1_EI" ]; then
- ics_equal json:A1-EI/v1/eitypes/type1/eijobs $(($NUM_JOBS/5))
- ics_equal json:A1-EI/v1/eitypes/type2/eijobs $(($NUM_JOBS/5))
- ics_equal json:A1-EI/v1/eitypes/type3/eijobs $(($NUM_JOBS/5))
- ics_equal json:A1-EI/v1/eitypes/type4/eijobs $(($NUM_JOBS/5))
- ics_equal json:A1-EI/v1/eitypes/type5/eijobs $(($NUM_JOBS/5))
-else
- ics_equal json:A1-EI/v1/eijobs?eiTypeId=type1 $(($NUM_JOBS/5))
- ics_equal json:A1-EI/v1/eijobs?eiTypeId=type2 $(($NUM_JOBS/5))
- ics_equal json:A1-EI/v1/eijobs?eiTypeId=type3 $(($NUM_JOBS/5))
- ics_equal json:A1-EI/v1/eijobs?eiTypeId=type4 $(($NUM_JOBS/5))
- ics_equal json:A1-EI/v1/eijobs?eiTypeId=type5 $(($NUM_JOBS/5))
-fi
-if [ $use_info_jobs ]; then
- ics_equal json:data-consumer/v1/info-jobs?infoTypeId=type101 $(($NUM_JOBS/5))
- ics_equal json:data-consumer/v1/info-jobs?infoTypeId=type102 $(($NUM_JOBS/5))
- ics_equal json:data-consumer/v1/info-jobs?infoTypeId=type103 $(($NUM_JOBS/5))
- ics_equal json:data-consumer/v1/info-jobs?infoTypeId=type104 $(($NUM_JOBS/5))
- ics_equal json:data-consumer/v1/info-jobs?infoTypeId=type105 $(($NUM_JOBS/5))
-fi
+ics_equal json:A1-EI/v1/eijobs?eiTypeId=type1 $(($NUM_JOBS/5))
+ics_equal json:A1-EI/v1/eijobs?eiTypeId=type2 $(($NUM_JOBS/5))
+ics_equal json:A1-EI/v1/eijobs?eiTypeId=type3 $(($NUM_JOBS/5))
+ics_equal json:A1-EI/v1/eijobs?eiTypeId=type4 $(($NUM_JOBS/5))
+ics_equal json:A1-EI/v1/eijobs?eiTypeId=type5 $(($NUM_JOBS/5))
+ics_equal json:data-consumer/v1/info-jobs?infoTypeId=type101 $(($NUM_JOBS/5))
+ics_equal json:data-consumer/v1/info-jobs?infoTypeId=type102 $(($NUM_JOBS/5))
+ics_equal json:data-consumer/v1/info-jobs?infoTypeId=type103 $(($NUM_JOBS/5))
+ics_equal json:data-consumer/v1/info-jobs?infoTypeId=type104 $(($NUM_JOBS/5))
+ics_equal json:data-consumer/v1/info-jobs?infoTypeId=type105 $(($NUM_JOBS/5))
if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
cr_equal 0 received_callbacks 20 30
ics_api_idc_get_subscription_ids 200 owner1 subscription-id-1
ics_api_idc_get_subscription_ids 200 owner2 subscription-id-2
- if [ $use_info_jobs ]; then
- ics_equal json:data-producer/v1/info-types 10 1000
- else
- ics_equal json:ei-producer/v1/eitypes 5 1000
- fi
+ ics_equal json:data-producer/v1/info-types 10 1000
fi
ics_api_idc_get_subscription_ids 200 owner1 subscription-id-1
ics_api_idc_get_subscription_ids 200 owner2 subscription-id-2
- if [ $use_info_jobs ]; then
- ics_equal json:data-producer/v1/info-types 10 1000
- else
- ics_equal json:ei-producer/v1/eitypes 5 1000
- fi
+ ics_equal json:data-producer/v1/info-types 10 1000
fi
cr_equal 0 received_callbacks 0
prodstub_delete_jobdata 204 prod-a job$i
prodstub_delete_jobdata 204 prod-b job$i
prodstub_delete_jobdata 204 prod-c job$i
- if [ $use_info_jobs ]; then
- prodstub_delete_jobdata 204 prod-a job$(($i+$NUM_JOBS))
- prodstub_delete_jobdata 204 prod-b job$(($i+$NUM_JOBS))
- prodstub_delete_jobdata 204 prod-c job$(($i+$NUM_JOBS))
- fi
+ prodstub_delete_jobdata 204 prod-a job$(($i+$NUM_JOBS))
+ prodstub_delete_jobdata 204 prod-b job$(($i+$NUM_JOBS))
+ prodstub_delete_jobdata 204 prod-c job$(($i+$NUM_JOBS))
fi
if [ $(($i%5)) -eq 1 ]; then
prodstub_delete_jobdata 204 prod-b job$i
prodstub_delete_jobdata 204 prod-c job$i
- if [ $use_info_jobs ]; then
- prodstub_delete_jobdata 204 prod-b job$(($i+$NUM_JOBS))
- prodstub_delete_jobdata 204 prod-c job$(($i+$NUM_JOBS))
- fi
+ prodstub_delete_jobdata 204 prod-b job$(($i+$NUM_JOBS))
+ prodstub_delete_jobdata 204 prod-c job$(($i+$NUM_JOBS))
fi
if [ $(($i%5)) -eq 2 ]; then
prodstub_delete_jobdata 204 prod-c job$i
- if [ $use_info_jobs ]; then
- prodstub_delete_jobdata 204 prod-c job$(($i+$NUM_JOBS))
- fi
+ prodstub_delete_jobdata 204 prod-c job$(($i+$NUM_JOBS))
fi
if [ $(($i%5)) -eq 3 ]; then
prodstub_delete_jobdata 204 prod-d job$i
- if [ $use_info_jobs ]; then
- prodstub_delete_jobdata 204 prod-d job$(($i+$NUM_JOBS))
- fi
+ prodstub_delete_jobdata 204 prod-d job$(($i+$NUM_JOBS))
fi
if [ $(($i%5)) -eq 4 ]; then
prodstub_delete_jobdata 204 prod-d job$i
- if [ $use_info_jobs ]; then
- prodstub_delete_jobdata 204 prod-d job$(($i+$NUM_JOBS))
- fi
+ prodstub_delete_jobdata 204 prod-d job$(($i+$NUM_JOBS))
fi
done
for ((i=1; i<=$NUM_JOBS; i++))
do
if [ $(($i%5)) -eq 0 ]; then
- if [ -z "$FLAT_A1_EI" ]; then
- ics_api_a1_get_job_status 200 type1 job$i DISABLED
- else
- ics_api_a1_get_job_status 200 job$i DISABLED 120
- fi
- if [ $use_info_jobs ]; then
- ics_api_idc_get_job_status2 200 job$(($i+$NUM_JOBS)) DISABLED EMPTYPROD 120
- fi
+ ics_api_a1_get_job_status 200 job$i DISABLED 120
+ ics_api_idc_get_job_status2 200 job$(($i+$NUM_JOBS)) DISABLED EMPTYPROD 120
fi
if [ $(($i%5)) -eq 1 ]; then
- if [ -z "$FLAT_A1_EI" ]; then
- ics_api_a1_get_job_status 200 type2 job$i DISABLED
- else
- ics_api_a1_get_job_status 200 job$i DISABLED 120
- fi
- if [ $use_info_jobs ]; then
- ics_api_idc_get_job_status2 200 job$(($i+$NUM_JOBS)) DISABLED EMPTYPROD 120
- fi
+ ics_api_a1_get_job_status 200 job$i DISABLED 120
+ ics_api_idc_get_job_status2 200 job$(($i+$NUM_JOBS)) DISABLED EMPTYPROD 120
fi
if [ $(($i%5)) -eq 2 ]; then
- if [ -z "$FLAT_A1_EI" ]; then
- ics_api_a1_get_job_status 200 type3 job$i DISABLED
- else
- ics_api_a1_get_job_status 200 job$i DISABLED 120
- fi
- if [ $use_info_jobs ]; then
- ics_api_idc_get_job_status2 200 job$(($i+$NUM_JOBS)) DISABLED EMPTYPROD 120
- fi
+ ics_api_a1_get_job_status 200 job$i DISABLED 120
+ ics_api_idc_get_job_status2 200 job$(($i+$NUM_JOBS)) DISABLED EMPTYPROD 120
fi
if [ $(($i%5)) -eq 3 ]; then
- if [ -z "$FLAT_A1_EI" ]; then
- ics_api_a1_get_job_status 200 type4 job$i DISABLED
- else
- ics_api_a1_get_job_status 200 job$i DISABLED 120
- fi
- if [ $use_info_jobs ]; then
- ics_api_idc_get_job_status2 200 job$(($i+$NUM_JOBS)) DISABLED EMPTYPROD 120
- fi
+ ics_api_a1_get_job_status 200 job$i DISABLED 120
+ ics_api_idc_get_job_status2 200 job$(($i+$NUM_JOBS)) DISABLED EMPTYPROD 120
fi
if [ $(($i%5)) -eq 4 ]; then
- if [ -z "$FLAT_A1_EI" ]; then
- ics_api_a1_get_job_status 200 type5 job$i DISABLED
- else
- ics_api_a1_get_job_status 200 job$i DISABLED 120
- fi
- if [ $use_info_jobs ]; then
- ics_api_idc_get_job_status2 200 job$(($i+$NUM_JOBS)) DISABLED EMPTYPROD 120
- fi
+ ics_api_a1_get_job_status 200 job$i DISABLED 120
+ ics_api_idc_get_job_status2 200 job$(($i+$NUM_JOBS)) DISABLED EMPTYPROD 120
fi
done
-if [ $ICS_VERSION == "V1-1" ]; then
-
- ics_api_edp_put_producer 201 prod-a $CB_JOB/prod-a $CB_SV/prod-a type1 testdata/ics/ei-type-1.json
-
- ics_api_edp_put_producer 201 prod-b $CB_JOB/prod-b $CB_SV/prod-b type1 testdata/ics/ei-type-1.json type2 testdata/ics/ei-type-2.json
-
- ics_api_edp_put_producer 201 prod-c $CB_JOB/prod-c $CB_SV/prod-c type1 testdata/ics/ei-type-1.json type2 testdata/ics/ei-type-2.json type3 testdata/ics/ei-type-3.json
-
- ics_api_edp_put_producer 201 prod-d $CB_JOB/prod-d $CB_SV/prod-d type4 testdata/ics/ei-type-4.json type5 testdata/ics/ei-type-5.json
-
-else
- if [ $use_info_jobs ]; then
- ics_api_edp_put_producer_2 201 prod-a $CB_JOB/prod-a $CB_SV/prod-a type1 type101
-
- ics_api_edp_put_producer_2 201 prod-b $CB_JOB/prod-b $CB_SV/prod-b type1 type2 type101 type102
+ics_api_edp_put_producer_2 201 prod-a $CB_JOB/prod-a $CB_SV/prod-a type1 type101
- ics_api_edp_put_producer_2 201 prod-c $CB_JOB/prod-c $CB_SV/prod-c type1 type2 type3 type101 type102 type103
+ics_api_edp_put_producer_2 201 prod-b $CB_JOB/prod-b $CB_SV/prod-b type1 type2 type101 type102
- ics_api_edp_put_producer_2 201 prod-d $CB_JOB/prod-d $CB_SV/prod-d type4 type5 type104 type105
- else
- ics_api_edp_put_producer_2 201 prod-a $CB_JOB/prod-a $CB_SV/prod-a type1
+ics_api_edp_put_producer_2 201 prod-c $CB_JOB/prod-c $CB_SV/prod-c type1 type2 type3 type101 type102 type103
- ics_api_edp_put_producer_2 201 prod-b $CB_JOB/prod-b $CB_SV/prod-b type1 type2
+ics_api_edp_put_producer_2 201 prod-d $CB_JOB/prod-d $CB_SV/prod-d type4 type5 type104 type105
- ics_api_edp_put_producer_2 201 prod-c $CB_JOB/prod-c $CB_SV/prod-c type1 type2 type3
-
- ics_api_edp_put_producer_2 201 prod-d $CB_JOB/prod-d $CB_SV/prod-d type4 type5
- fi
-
-fi
-
-if [ $use_info_jobs ]; then
- ics_equal json:data-producer/v1/info-producers 4
-else
- ics_equal json:ei-producer/v1/eiproducers 4
-fi
+ics_equal json:data-producer/v1/info-producers 4
ics_api_edp_get_producer_status 200 prod-a ENABLED
ics_api_edp_get_producer_status 200 prod-b ENABLED
for ((i=1; i<=$NUM_JOBS; i++))
do
if [ $(($i%5)) -eq 0 ]; then
- if [ -z "$FLAT_A1_EI" ]; then
- ics_api_a1_get_job_status 200 type1 job$i ENABLED
- else
- ics_api_a1_get_job_status 200 job$i ENABLED 120
- fi
- if [ $use_info_jobs ]; then
- ics_api_idc_get_job_status2 200 job$(($i+$NUM_JOBS)) ENABLED 3 prod-a prod-b prod-c 120
- fi
+ ics_api_a1_get_job_status 200 job$i ENABLED 120
+ ics_api_idc_get_job_status2 200 job$(($i+$NUM_JOBS)) ENABLED 3 prod-a prod-b prod-c 120
fi
if [ $(($i%5)) -eq 1 ]; then
- if [ -z "$FLAT_A1_EI" ]; then
- ics_api_a1_get_job_status 200 type2 job$i ENABLED
- else
- ics_api_a1_get_job_status 200 job$i ENABLED 120
- fi
- if [ $use_info_jobs ]; then
- ics_api_idc_get_job_status2 200 job$(($i+$NUM_JOBS)) ENABLED 2 prod-b prod-c 120
- fi
+ ics_api_a1_get_job_status 200 job$i ENABLED 120
+ ics_api_idc_get_job_status2 200 job$(($i+$NUM_JOBS)) ENABLED 2 prod-b prod-c 120
fi
if [ $(($i%5)) -eq 2 ]; then
- if [ -z "$FLAT_A1_EI" ]; then
- ics_api_a1_get_job_status 200 type3 job$i ENABLED
- else
- ics_api_a1_get_job_status 200 job$i ENABLED 120
- fi
- if [ $use_info_jobs ]; then
- ics_api_idc_get_job_status2 200 job$(($i+$NUM_JOBS)) ENABLED 1 prod-c 120
- fi
+ ics_api_a1_get_job_status 200 job$i ENABLED 120
+ ics_api_idc_get_job_status2 200 job$(($i+$NUM_JOBS)) ENABLED 1 prod-c 120
fi
if [ $(($i%5)) -eq 3 ]; then
- if [ -z "$FLAT_A1_EI" ]; then
- ics_api_a1_get_job_status 200 type4 job$i ENABLED
- else
- ics_api_a1_get_job_status 200 job$i ENABLED 120
- fi
- if [ $use_info_jobs ]; then
- ics_api_idc_get_job_status2 200 job$(($i+$NUM_JOBS)) ENABLED 1 prod-d 120
- fi
+ ics_api_a1_get_job_status 200 job$i ENABLED 120
+ ics_api_idc_get_job_status2 200 job$(($i+$NUM_JOBS)) ENABLED 1 prod-d 120
fi
if [ $(($i%5)) -eq 4 ]; then
- if [ -z "$FLAT_A1_EI" ]; then
- ics_api_a1_get_job_status 200 type5 job$i ENABLED
- else
- ics_api_a1_get_job_status 200 job$i ENABLED 120
- fi
- if [ $use_info_jobs ]; then
- ics_api_idc_get_job_status2 200 job$(($i+$NUM_JOBS)) ENABLED 1 prod-d 120
- fi
+ ics_api_a1_get_job_status 200 job$i ENABLED 120
+ ics_api_idc_get_job_status2 200 job$(($i+$NUM_JOBS)) ENABLED 1 prod-d 120
fi
done
-if [ -z "$FLAT_A1_EI" ]; then
- ics_equal json:A1-EI/v1/eitypes/type1/eijobs $(($NUM_JOBS/5))
- ics_equal json:A1-EI/v1/eitypes/type2/eijobs $(($NUM_JOBS/5))
- ics_equal json:A1-EI/v1/eitypes/type3/eijobs $(($NUM_JOBS/5))
- ics_equal json:A1-EI/v1/eitypes/type4/eijobs $(($NUM_JOBS/5))
- ics_equal json:A1-EI/v1/eitypes/type5/eijobs $(($NUM_JOBS/5))
-else
- ics_equal json:A1-EI/v1/eijobs?eiTypeId=type1 $(($NUM_JOBS/5))
- ics_equal json:A1-EI/v1/eijobs?eiTypeId=type2 $(($NUM_JOBS/5))
- ics_equal json:A1-EI/v1/eijobs?eiTypeId=type3 $(($NUM_JOBS/5))
- ics_equal json:A1-EI/v1/eijobs?eiTypeId=type4 $(($NUM_JOBS/5))
- ics_equal json:A1-EI/v1/eijobs?eiTypeId=type5 $(($NUM_JOBS/5))
-fi
+ics_equal json:A1-EI/v1/eijobs?eiTypeId=type1 $(($NUM_JOBS/5))
+ics_equal json:A1-EI/v1/eijobs?eiTypeId=type2 $(($NUM_JOBS/5))
+ics_equal json:A1-EI/v1/eijobs?eiTypeId=type3 $(($NUM_JOBS/5))
+ics_equal json:A1-EI/v1/eijobs?eiTypeId=type4 $(($NUM_JOBS/5))
+ics_equal json:A1-EI/v1/eijobs?eiTypeId=type5 $(($NUM_JOBS/5))
-if [ $use_info_jobs ]; then
- ics_equal json:data-consumer/v1/info-jobs?infoTypeId=type101 $(($NUM_JOBS/5))
- ics_equal json:data-consumer/v1/info-jobs?infoTypeId=type102 $(($NUM_JOBS/5))
- ics_equal json:data-consumer/v1/info-jobs?infoTypeId=type103 $(($NUM_JOBS/5))
- ics_equal json:data-consumer/v1/info-jobs?infoTypeId=type104 $(($NUM_JOBS/5))
- ics_equal json:data-consumer/v1/info-jobs?infoTypeId=type105 $(($NUM_JOBS/5))
-fi
+ics_equal json:data-consumer/v1/info-jobs?infoTypeId=type101 $(($NUM_JOBS/5))
+ics_equal json:data-consumer/v1/info-jobs?infoTypeId=type102 $(($NUM_JOBS/5))
+ics_equal json:data-consumer/v1/info-jobs?infoTypeId=type103 $(($NUM_JOBS/5))
+ics_equal json:data-consumer/v1/info-jobs?infoTypeId=type104 $(($NUM_JOBS/5))
+ics_equal json:data-consumer/v1/info-jobs?infoTypeId=type105 $(($NUM_JOBS/5))
for ((i=1; i<=$NUM_JOBS; i++))
do
if [ $(($i%5)) -eq 0 ]; then
- if [ $ICS_VERSION == "V1-1" ]; then
- prodstub_check_jobdata 200 prod-a job$i type1 $TARGET ric1 testdata/ics/job-template.json
- prodstub_check_jobdata 200 prod-b job$i type1 $TARGET ric1 testdata/ics/job-template.json
- prodstub_check_jobdata 200 prod-c job$i type1 $TARGET ric1 testdata/ics/job-template.json
- else
- if [ $use_info_jobs ]; then
- prodstub_check_jobdata_3 200 prod-a job$i type1 $TARGET ric1 testdata/ics/job-template.json
- prodstub_check_jobdata_3 200 prod-b job$i type1 $TARGET ric1 testdata/ics/job-template.json
- prodstub_check_jobdata_3 200 prod-c job$i type1 $TARGET ric1 testdata/ics/job-template.json
- else
- prodstub_check_jobdata_2 200 prod-a job$i type1 $TARGET ric1 testdata/ics/job-template.json
- prodstub_check_jobdata_2 200 prod-b job$i type1 $TARGET ric1 testdata/ics/job-template.json
- prodstub_check_jobdata_2 200 prod-c job$i type1 $TARGET ric1 testdata/ics/job-template.json
- fi
- fi
- if [ $use_info_jobs ]; then
- prodstub_check_jobdata_3 200 prod-a job$(($i+$NUM_JOBS)) type101 $TARGET info-owner testdata/ics/job-template.json
- prodstub_check_jobdata_3 200 prod-b job$(($i+$NUM_JOBS)) type101 $TARGET info-owner testdata/ics/job-template.json
- prodstub_check_jobdata_3 200 prod-c job$(($i+$NUM_JOBS)) type101 $TARGET info-owner testdata/ics/job-template.json
- fi
+ prodstub_check_jobdata_3 200 prod-a job$i type1 $TARGET ric1 testdata/ics/job-template.json
+ prodstub_check_jobdata_3 200 prod-b job$i type1 $TARGET ric1 testdata/ics/job-template.json
+ prodstub_check_jobdata_3 200 prod-c job$i type1 $TARGET ric1 testdata/ics/job-template.json
+ prodstub_check_jobdata_3 200 prod-a job$(($i+$NUM_JOBS)) type101 $TARGET info-owner testdata/ics/job-template.json
+ prodstub_check_jobdata_3 200 prod-b job$(($i+$NUM_JOBS)) type101 $TARGET info-owner testdata/ics/job-template.json
+ prodstub_check_jobdata_3 200 prod-c job$(($i+$NUM_JOBS)) type101 $TARGET info-owner testdata/ics/job-template.json
fi
if [ $(($i%5)) -eq 1 ]; then
- if [ $ICS_VERSION == "V1-1" ]; then
- prodstub_check_jobdata 200 prod-b job$i type2 $TARGET ric1 testdata/ics/job-template.json
- prodstub_check_jobdata 200 prod-c job$i type2 $TARGET ric1 testdata/ics/job-template.json
- else
- if [ $use_info_jobs ]; then
- prodstub_check_jobdata_3 200 prod-b job$i type2 $TARGET ric1 testdata/ics/job-template.json
- prodstub_check_jobdata_3 200 prod-c job$i type2 $TARGET ric1 testdata/ics/job-template.json
- else
- prodstub_check_jobdata_2 200 prod-b job$i type2 $TARGET ric1 testdata/ics/job-template.json
- prodstub_check_jobdata_2 200 prod-c job$i type2 $TARGET ric1 testdata/ics/job-template.json
- fi
- fi
- if [ $use_info_jobs ]; then
- prodstub_check_jobdata_3 200 prod-b job$(($i+$NUM_JOBS)) type102 $TARGET info-owner testdata/ics/job-template.json
- prodstub_check_jobdata_3 200 prod-c job$(($i+$NUM_JOBS)) type102 $TARGET info-owner testdata/ics/job-template.json
- fi
+ prodstub_check_jobdata_3 200 prod-b job$i type2 $TARGET ric1 testdata/ics/job-template.json
+ prodstub_check_jobdata_3 200 prod-c job$i type2 $TARGET ric1 testdata/ics/job-template.json
+ prodstub_check_jobdata_3 200 prod-b job$(($i+$NUM_JOBS)) type102 $TARGET info-owner testdata/ics/job-template.json
+ prodstub_check_jobdata_3 200 prod-c job$(($i+$NUM_JOBS)) type102 $TARGET info-owner testdata/ics/job-template.json
fi
if [ $(($i%5)) -eq 2 ]; then
- if [ $ICS_VERSION == "V1-1" ]; then
- prodstub_check_jobdata 200 prod-c job$i type3 $TARGET ric1 testdata/ics/job-template.json
- else
- if [ $use_info_jobs ]; then
- prodstub_check_jobdata_3 200 prod-c job$i type3 $TARGET ric1 testdata/ics/job-template.json
- else
- prodstub_check_jobdata_2 200 prod-c job$i type3 $TARGET ric1 testdata/ics/job-template.json
- fi
- fi
- if [ $use_info_jobs ]; then
- prodstub_check_jobdata_3 200 prod-c job$(($i+$NUM_JOBS)) type103 $TARGET info-owner testdata/ics/job-template.json
- fi
+ prodstub_check_jobdata_3 200 prod-c job$i type3 $TARGET ric1 testdata/ics/job-template.json
+ prodstub_check_jobdata_3 200 prod-c job$(($i+$NUM_JOBS)) type103 $TARGET info-owner testdata/ics/job-template.json
fi
if [ $(($i%5)) -eq 3 ]; then
- if [ $ICS_VERSION == "V1-1" ]; then
- prodstub_check_jobdata 200 prod-d job$i type4 $TARGET ric1 testdata/ics/job-template.json
- else
- if [ $use_info_jobs ]; then
- prodstub_check_jobdata_3 200 prod-d job$i type4 $TARGET ric1 testdata/ics/job-template.json
- else
- prodstub_check_jobdata_2 200 prod-d job$i type4 $TARGET ric1 testdata/ics/job-template.json
- fi
- fi
- if [ $use_info_jobs ]; then
- prodstub_check_jobdata_3 200 prod-d job$(($i+$NUM_JOBS)) type104 $TARGET info-owner testdata/ics/job-template.json
- fi
+ prodstub_check_jobdata_3 200 prod-d job$i type4 $TARGET ric1 testdata/ics/job-template.json
+ prodstub_check_jobdata_3 200 prod-d job$(($i+$NUM_JOBS)) type104 $TARGET info-owner testdata/ics/job-template.json
fi
if [ $(($i%5)) -eq 4 ]; then
- if [ $ICS_VERSION == "V1-1" ]; then
- prodstub_check_jobdata 200 prod-d job$i type5 $TARGET ric1 testdata/ics/job-template.json
- else
- if [ $use_info_jobs ]; then
- prodstub_check_jobdata_3 200 prod-d job$i type5 $TARGET ric1 testdata/ics/job-template.json
- else
- prodstub_check_jobdata_2 200 prod-d job$i type5 $TARGET ric1 testdata/ics/job-template.json
- fi
- fi
- if [ $use_info_jobs ]; then
- prodstub_check_jobdata_3 200 prod-d job$(($i+$NUM_JOBS)) type105 $TARGET info-owner testdata/ics/job-template.json
- fi
+ prodstub_check_jobdata_3 200 prod-d job$i type5 $TARGET ric1 testdata/ics/job-template.json
+ prodstub_check_jobdata_3 200 prod-d job$(($i+$NUM_JOBS)) type105 $TARGET info-owner testdata/ics/job-template.json
fi
done
do
if [ $(($i%5)) -eq 0 ]; then
ics_api_a1_delete_job 204 job$i
- if [ $use_info_jobs ]; then
- ics_api_idc_delete_job 204 job$(($i+$NUM_JOBS))
- fi
+ ics_api_idc_delete_job 204 job$(($i+$NUM_JOBS))
fi
if [ $(($i%5)) -eq 1 ]; then
ics_api_a1_delete_job 204 job$i
- if [ $use_info_jobs ]; then
- ics_api_idc_delete_job 204 job$(($i+$NUM_JOBS))
- fi
+ ics_api_idc_delete_job 204 job$(($i+$NUM_JOBS))
fi
if [ $(($i%5)) -eq 2 ]; then
ics_api_a1_delete_job 204 job$i
- if [ $use_info_jobs ]; then
- ics_api_idc_delete_job 204 job$(($i+$NUM_JOBS))
- fi
+ ics_api_idc_delete_job 204 job$(($i+$NUM_JOBS))
fi
if [ $(($i%5)) -eq 3 ]; then
ics_api_a1_delete_job 204 job$i
- if [ $use_info_jobs ]; then
- ics_api_idc_delete_job 204 job$(($i+$NUM_JOBS))
- fi
+ ics_api_idc_delete_job 204 job$(($i+$NUM_JOBS))
fi
if [ $(($i%5)) -eq 4 ]; then
ics_api_a1_delete_job 204 job$i
- if [ $use_info_jobs ]; then
- ics_api_idc_delete_job 204 job$(($i+$NUM_JOBS))
- fi
+ ics_api_idc_delete_job 204 job$(($i+$NUM_JOBS))
fi
done
-if [ $use_info_jobs ]; then
- ics_equal json:data-producer/v1/info-producers 4
-else
- ics_equal json:ei-producer/v1/eiproducers 4
-fi
+ics_equal json:data-producer/v1/info-producers 4
ics_api_edp_get_producer_status 200 prod-a ENABLED
ics_api_edp_get_producer_status 200 prod-b ENABLED
ics_api_edp_get_producer_status 200 prod-c ENABLED
ics_api_edp_get_producer_status 200 prod-d ENABLED
-if [ -z "$FLAT_A1_EI" ]; then
- ics_equal json:A1-EI/v1/eitypes/type1/eijobs 0
- ics_equal json:A1-EI/v1/eitypes/type2/eijobs 0
- ics_equal json:A1-EI/v1/eitypes/type3/eijobs 0
- ics_equal json:A1-EI/v1/eitypes/type4/eijobs 0
- ics_equal json:A1-EI/v1/eitypes/type5/eijobs 0
-else
- ics_equal json:A1-EI/v1/eijobs?eiTypeId=type1 0
- ics_equal json:A1-EI/v1/eijobs?eiTypeId=type2 0
- ics_equal json:A1-EI/v1/eijobs?eiTypeId=type3 0
- ics_equal json:A1-EI/v1/eijobs?eiTypeId=type4 0
- ics_equal json:A1-EI/v1/eijobs?eiTypeId=type5 0
-fi
+ics_equal json:A1-EI/v1/eijobs?eiTypeId=type1 0
+ics_equal json:A1-EI/v1/eijobs?eiTypeId=type2 0
+ics_equal json:A1-EI/v1/eijobs?eiTypeId=type3 0
+ics_equal json:A1-EI/v1/eijobs?eiTypeId=type4 0
+ics_equal json:A1-EI/v1/eijobs?eiTypeId=type5 0
-if [ $use_info_jobs ]; then
- ics_equal json:data-consumer/v1/info-jobs?infoTypeId=type101 0
- ics_equal json:data-consumer/v1/info-jobs?infoTypeId=type102 0
- ics_equal json:data-consumer/v1/info-jobs?infoTypeId=type103 0
- ics_equal json:data-consumer/v1/info-jobs?infoTypeId=type104 0
- ics_equal json:data-consumer/v1/info-jobs?infoTypeId=type105 0
-fi
+ics_equal json:data-consumer/v1/info-jobs?infoTypeId=type101 0
+ics_equal json:data-consumer/v1/info-jobs?infoTypeId=type102 0
+ics_equal json:data-consumer/v1/info-jobs?infoTypeId=type103 0
+ics_equal json:data-consumer/v1/info-jobs?infoTypeId=type104 0
+ics_equal json:data-consumer/v1/info-jobs?infoTypeId=type105 0
-if [ $use_info_jobs ]; then
- if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
- ics_api_edp_put_type_2 200 type101 testdata/ics/info-type-1.json
- ics_api_edp_put_type_2 200 type102 testdata/ics/info-type-2.json
- ics_api_edp_put_type_2 200 type103 testdata/ics/info-type-3.json
- ics_api_edp_put_type_2 200 type104 testdata/ics/info-type-4.json
- ics_api_edp_put_type_2 200 type105 testdata/ics/info-type-5.json
- fi
+if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
+ ics_api_edp_put_type_2 200 type101 testdata/ics/info-type-1.json
+ ics_api_edp_put_type_2 200 type102 testdata/ics/info-type-2.json
+ ics_api_edp_put_type_2 200 type103 testdata/ics/info-type-3.json
+ ics_api_edp_put_type_2 200 type104 testdata/ics/info-type-4.json
+ ics_api_edp_put_type_2 200 type105 testdata/ics/info-type-5.json
fi
if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
--- /dev/null
+#!/bin/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="Sanity test, create service and then create,update and delete a policy with A1PMS adapter using http/https and A1PMS REST with/without SDNC controller"
+
+#App names to include in the test when running docker, space separated list
+DOCKER_INCLUDED_IMAGES="CP CR A1PMS RICSIM SDNC NGW KUBEPROXY"
+
+#App names to include in the test when running kubernetes, space separated list
+KUBE_INCLUDED_IMAGES="CP CR A1PMS RICSIM SDNC NGW KUBEPROXY "
+#Prestarted 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 ONAP-LONDON"
+#Supported run modes
+SUPPORTED_RUNMODES="DOCKER KUBE"
+
+. ../common/testcase_common.sh $@
+
+setup_testenvironment
+
+#### TEST BEGIN ####
+
+sim_generate_policy_uuid
+
+# Tested variants of REST/DMAAP/SDNC config
+TESTED_VARIANTS="REST REST+SDNC"
+
+#Test a1pms and simulator protocol versions (others are http only)
+TESTED_PROTOCOLS="HTTP HTTPS"
+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
+
+ if [ $__httpx == "HTTPS" ]; then
+ use_a1pms_rest_https
+ else
+ use_a1pms_rest_http
+ fi
+
+ start_a1pms NORPOXY $SIM_GROUP/$A1PMS_COMPOSE_DIR/$A1PMS_CONFIG_FILE
+
+ set_a1pms_trace
+
+ # Create service to be able to receive events when rics becomes available
+ # Must use rest towards the a1pms since dmaap is not configured yet
+ a1pms_api_put_service 201 "ric-registration" 0 "$CR_SERVICE_APP_PATH_0/ric-registration"
+
+ if [ $__httpx == "HTTPS" ]; then
+ use_cr_https
+ use_simulator_https
+ if [[ $interface = *"SDNC"* ]]; then
+ if [[ "$SDNC_FEATURE_LEVEL" == *"NO_NB_HTTPS"* ]]; then
+ deviation "SDNC does not support NB https"
+ use_sdnc_http
+ else
+ use_sdnc_https
+ fi
+ fi
+ use_a1pms_rest_https
+ else
+ use_cr_http
+ use_simulator_http
+ if [[ $interface = *"SDNC"* ]]; then
+ use_sdnc_http
+ fi
+ use_a1pms_rest_http
+ fi
+
+ start_ric_simulators ricsim_g1 1 STD_2.0.0
+ start_ric_simulators ricsim_g2 1 STD_2.0.0 #APMS will use adapter class towards this sim
+
+ 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_ADAPTER_CLASS" ]; then
+ echo -e $RED"Env var A1PMS_ADAPTER_CLASS must be set with override file"$ERED
+ exit 1
+ fi
+ if [[ $interface = *"SDNC"* ]]; then
+ start_sdnc
+ controller_api_wait_for_status_ok 200 ricsim_g1_1
+ prepare_a1pms_config SDNC ".a1pms_config.json" ricsim-g2 $A1PMS_ADAPTER_CLASS
+ else
+ prepare_a1pms_config NOSDNC ".a1pms_config.json" ricsim-g2 $A1PMS_ADAPTER_CLASS
+ fi
+
+ if [ $RUNMODE == "KUBE" ]; then
+ a1pms_load_config ".a1pms_config.json"
+ else
+ #Temporary switch to http/https if dmaap use. Otherwise it is not possibble to push config
+ if [ $__httpx == "HTTPS" ]; then
+ use_a1pms_rest_https
+ else
+ use_a1pms_rest_http
+ fi
+ a1pms_api_put_configuration 200 ".a1pms_config.json"
+ if [ $__httpx == "HTTPS" ]; then
+ use_a1pms_rest_https
+ else
+ use_a1pms_rest_http
+ fi
+ 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
+
+ a1pms_equal json:rics 2 300
+
+ a1pms_equal json:policy-types 2 120
+
+ a1pms_equal json:policies 0
+
+ a1pms_equal json:policy-instances 0
+
+ cr_equal 0 received_callbacks 2 120
+
+ cr_api_check_all_sync_events 200 0 ric-registration ricsim_g1_1 ricsim_g2_1
+
+ echo "############################################"
+ echo "############## Health check ################"
+ echo "############################################"
+
+ sleep_wait 120 "Let A1PMS cofiguration 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_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"
+
+ echo "############################################"
+ echo "########### A1 Policy Management ###########"
+ echo "############################################"
+
+ notificationurl=$CR_SERVICE_APP_PATH_0"/test"
+
+ 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_equal json:policies 2
+
+ a1pms_api_delete_policy 204 5000
+
+ a1pms_api_delete_policy 204 5100
+
+ a1pms_equal json:policies 0
+
+ a1pms_equal json:policy-instances 0
+
+ cr_equal 0 received_callbacks 2
+
+
+ if [[ $interface = *"SDNC"* ]]; then
+ sim_contains_str ricsim_g1_1 remote_hosts $SDNC_APP_NAME
+ # Adatper does not go through SDNC
+ sim_contains_str ricsim_g2_1 remote_hosts $A1PMS_APP_NAME
+ else
+ sim_contains_str ricsim_g1_1 remote_hosts $A1PMS_APP_NAME
+ sim_contains_str ricsim_g2_1 remote_hosts $A1PMS_APP_NAME
+ fi
+
+ check_a1pms_logs
+
+
+ if [[ $interface = *"SDNC"* ]]; then
+ check_sdnc_logs
+ fi
+
+ store_logs "${__httpx}__${interface}"
+
+ done
+
+done
+
+#### TEST COMPLETE ####
+
+
+print_result
+
+auto_clean_environment
--- /dev/null
+#!/bin/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="Sanity test, create service and then create,update and delete a policy using http/https and A1PMS REST with/without SDNC controller"
+
+#App names to include in the test when running docker, space separated list
+DOCKER_INCLUDED_IMAGES="CP CR A1PMS RICSIM RICMEDIATORSIM SDNC NGW KUBEPROXY"
+
+#App names to include in the test when running kubernetes, space separated list
+KUBE_INCLUDED_IMAGES="CP CR A1PMS RICSIM RICMEDIATORSIM SDNC NGW KUBEPROXY "
+#Prestarted 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/DMAAP/SDNC config
+TESTED_VARIANTS="REST REST+SDNC"
+
+#Test a1pms and simulator protocol versions (others are http only)
+TESTED_PROTOCOLS="HTTP HTTPS"
+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
+
+ if [ $__httpx == "HTTPS" ]; then
+ use_a1pms_rest_https
+ use_ricmediator_simulator_http
+ else
+ use_a1pms_rest_http
+ use_ricmediator_simulator_http
+ fi
+
+ start_a1pms NORPOXY $SIM_GROUP/$A1PMS_COMPOSE_DIR/$A1PMS_CONFIG_FILE
+
+ set_a1pms_trace
+
+ # Create service to be able to receive events when rics becomes available
+ # Must use rest towards the a1pms since dmaap is not configured yet
+ a1pms_api_put_service 201 "ric-registration" 0 "$CR_SERVICE_APP_PATH_0/ric-registration"
+
+ if [ $__httpx == "HTTPS" ]; then
+ use_cr_https
+ use_simulator_https
+ use_ricmediator_simulator_http
+ if [[ $interface = *"SDNC"* ]]; then
+ if [[ "$SDNC_FEATURE_LEVEL" == *"NO_NB_HTTPS"* ]]; then
+ deviation "SDNC does not support NB https"
+ use_sdnc_http
+ else
+ use_sdnc_https
+ fi
+ fi
+ use_a1pms_rest_https
+ else
+ use_cr_http
+ use_simulator_http
+ use_ricmediator_simulator_http
+ if [[ $interface = *"SDNC"* ]]; then
+ use_sdnc_http
+ fi
+ if [[ $interface = *"DMAAP"* ]]; then
+ use_a1pms_dmaap_http
+ else
+ use_a1pms_rest_http
+ fi
+ fi
+
+ start_ric_simulators ricsim_g1 1 OSC_2.1.0
+ start_ric_simulators ricsim_g2 1 STD_1.1.3
+ start_ric_simulators ricsim_g3 1 STD_2.0.0
+ 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 [[ $interface = *"SDNC"* ]]; then
+ start_sdnc
+ controller_api_wait_for_status_ok 200 ricsim_g1_1
+ prepare_a1pms_config SDNC ".a1pms_config.json"
+ else
+ prepare_a1pms_config NOSDNC ".a1pms_config.json"
+ fi
+
+ if [ $RUNMODE == "KUBE" ]; then
+ a1pms_load_config ".a1pms_config.json"
+ else
+ #Temporary switch to http/https if dmaap use. Otherwise it is not possibble to push config
+ if [ $__httpx == "HTTPS" ]; then
+ use_a1pms_rest_https
+ else
+ use_a1pms_rest_http
+ fi
+ a1pms_api_put_configuration 200 ".a1pms_config.json"
+ if [ $__httpx == "HTTPS" ]; then
+ use_a1pms_rest_https
+ else
+ use_a1pms_rest_http
+ fi
+ fi
+
+ sim_put_policy_type 201 ricsim_g1_1 1 testdata/OSC/sim_1.json
+
+ sim_put_policy_type 201 ricsim_g3_1 STD_QOS_0_2_0 testdata/STD2/sim_qos.json
+
+ ricmediatorsim_put_policy_type 201 ricsim_g4_1 1 testdata/OSC/sim_1.json
+
+ a1pms_equal json:rics 4 300
+
+ a1pms_equal json:policy-types 3 120
+
+ a1pms_equal json:policies 0
+
+ a1pms_equal json:policy-instances 0
+
+ cr_equal 0 received_callbacks 4 120
+
+ cr_api_check_all_sync_events 200 0 ric-registration ricsim_g1_1 ricsim_g2_1 ricsim_g3_1 ricsim_g4_1
+
+ echo "############################################"
+ echo "############## Health check ################"
+ echo "############################################"
+
+ sleep_wait 120 "Let A1PMS cofiguration 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_g1_1:me1_ricsim_g1_1,me2_ricsim_g1_1:1:AVAILABLE ricsim_g2_1:me1_ricsim_g2_1,me2_ricsim_g2_1:EMPTYTYPE:AVAILABLE ricsim_g3_1:me1_ricsim_g3_1,me2_ricsim_g3_1:STD_QOS_0_2_0:AVAILABLE 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_g1_1 1 5000 NOTRANSIENT $notificationurl testdata/OSC/pi1_template.json
+ a1pms_api_put_policy 200 "serv1" ricsim_g1_1 1 5000 NOTRANSIENT $notificationurl testdata/OSC/pi1_template.json
+ a1pms_api_put_policy 201 "serv1" ricsim_g3_1 STD_QOS_0_2_0 5200 true $notificationurl testdata/STD2/pi_qos_template.json
+ a1pms_api_put_policy 200 "serv1" ricsim_g3_1 STD_QOS_0_2_0 5200 true $notificationurl testdata/STD2/pi_qos_template.json
+ 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_api_put_policy 201 "serv1" ricsim_g2_1 NOTYPE 5100 NOTRANSIENT $notificationurl testdata/STD/pi1_template.json
+ a1pms_api_put_policy 200 "serv1" ricsim_g2_1 NOTYPE 5100 NOTRANSIENT $notificationurl testdata/STD/pi1_template.json
+
+ a1pms_equal json:policies 4
+
+ a1pms_api_delete_policy 204 5000
+
+ a1pms_api_delete_policy 204 5100
+
+ a1pms_api_delete_policy 204 5200
+
+ a1pms_api_delete_policy 204 5300
+
+ a1pms_equal json:policies 0
+
+ a1pms_equal json:policy-instances 0
+
+ cr_equal 0 received_callbacks 4
+
+ if [[ $interface = *"SDNC"* ]]; then
+ sim_contains_str ricsim_g2_1 remote_hosts $SDNC_APP_NAME
+ sim_contains_str ricsim_g3_1 remote_hosts $SDNC_APP_NAME
+ else
+ sim_contains_str ricsim_g2_1 remote_hosts $A1PMS_APP_NAME
+ sim_contains_str ricsim_g3_1 remote_hosts $A1PMS_APP_NAME
+ fi
+
+ check_a1pms_logs
+
+
+ if [[ $interface = *"SDNC"* ]]; then
+ check_sdnc_logs
+ fi
+
+ store_logs "${__httpx}__${interface}"
+
+ done
+
+done
+
+#### TEST COMPLETE ####
+
+
+print_result
+
+auto_clean_environment
#!/usr/bin/env bash
# ============LICENSE_START===============================================
-# Copyright (C) 2020 Nordix Foundation. All rights reserved.
+# Copyright (C) 2020-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.
start_ric_simulators $RIC_SIM_PREFIX"_g3" $STD_NUM_RICS STD_2.0.0
-start_mr #Just to prevent errors in the a1pms log...
+if [[ "$A1PMS_FEATURE_LEVEL" == *"NO-DMAAP"* ]]; then
+ :
+else
+ start_mr #Just to prevent errors in the a1pms log...
+fi
start_control_panel $SIM_GROUP/$CONTROL_PANEL_COMPOSE_DIR/$CONTROL_PANEL_CONFIG_FILE
# Create policies in STD
for ((i=1; i<=$STD_NUM_RICS; i++))
do
- generate_policy_uuid
+ sim_generate_policy_uuid
a1pms_api_put_policy 201 "Emergency-response-app" $RIC_SIM_PREFIX"_g3_"$i STD_QOS_0_2_0 $((2300+$i)) NOTRANSIENT $notificationurl demo-testdata/STD2/pi1_template.json 1
- generate_policy_uuid
+ sim_generate_policy_uuid
a1pms_api_put_policy 201 "Emergency-response-app" $RIC_SIM_PREFIX"_g3_"$i 'STD_QOS2_0.1.0' $((2400+$i)) NOTRANSIENT $notificationurl demo-testdata/STD2/pi1_template.json 1
done
sim_contains_str $RIC_SIM_PREFIX"_g3_"$i remote_hosts proxy
done
-FLAT_A1_EI="1"
CB_JOB="$PROD_STUB_SERVICE_PATH$PROD_STUB_JOB_CALLBACK"
CB_SV="$PROD_STUB_SERVICE_PATH$PROD_STUB_SUPERVISION_CALLBACK"
fi
## Setup prod-a
-if [ $ICS_VERSION == "V1-1" ]; then
- ics_api_edp_put_producer 201 prod-a $CB_JOB/prod-a $CB_SV/prod-a type1 testdata/ics/ei-type-1.json
-
- ics_api_edp_get_producer 200 prod-a $CB_JOB/prod-a $CB_SV/prod-a type1 testdata/ics/ei-type-1.json
-else
- ics_api_edp_put_type_2 201 type1 testdata/ics/ei-type-1.json
+ics_api_edp_put_type_2 201 type1 testdata/ics/ei-type-1.json
- ics_api_edp_put_producer_2 201 prod-a $CB_JOB/prod-a $CB_SV/prod-a type1
+ics_api_edp_put_producer_2 201 prod-a $CB_JOB/prod-a $CB_SV/prod-a type1
- ics_api_edp_get_producer_2 200 prod-a $CB_JOB/prod-a $CB_SV/prod-a type1
-fi
+ics_api_edp_get_producer_2 200 prod-a $CB_JOB/prod-a $CB_SV/prod-a type1
ics_api_edp_get_producer_status 200 prod-a ENABLED
## Create a job for prod-a
## job1 - prod-a
-if [ -z "$FLAT_A1_EI" ]; then
- ics_api_a1_put_job 201 type1 job1 $TARGET1 ricsim_g3_1 testdata/ics/job-template.json
-else
- ics_api_a1_put_job 201 job1 type1 $TARGET1 ricsim_g3_1 $STATUS1 testdata/ics/job-template.json
-fi
+ics_api_a1_put_job 201 job1 type1 $TARGET1 ricsim_g3_1 $STATUS1 testdata/ics/job-template.json
# Check the job data in the producer
-if [ $ICS_VERSION == "V1-1" ]; then
- prodstub_check_jobdata 200 prod-a job1 type1 $TARGET1 ricsim_g3_1 testdata/ics/job-template.json
-else
- if [[ "$ICS_FEATURE_LEVEL" != *"INFO-TYPES"* ]]; then
- prodstub_check_jobdata_2 200 prod-a job1 type1 $TARGET1 ricsim_g3_1 testdata/ics/job-template.json
- else
- prodstub_check_jobdata_3 200 prod-a job1 type1 $TARGET1 ricsim_g3_1 testdata/ics/job-template.json
- fi
-fi
-
+prodstub_check_jobdata_3 200 prod-a job1 type1 $TARGET1 ricsim_g3_1 testdata/ics/job-template.json
## Create a second job for prod-a
## job2 - prod-a
-if [ -z "$FLAT_A1_EI" ]; then
- ics_api_a1_put_job 201 type1 job2 $TARGET2 ricsim_g3_2 testdata/ics/job-template.json
-else
- ics_api_a1_put_job 201 job2 type1 $TARGET2 ricsim_g3_2 $STATUS2 testdata/ics/job-template.json
-fi
+ics_api_a1_put_job 201 job2 type1 $TARGET2 ricsim_g3_2 $STATUS2 testdata/ics/job-template.json
# Check the job data in the producer
-if [ $ICS_VERSION == "V1-1" ]; then
- prodstub_check_jobdata 200 prod-a job2 type1 $TARGET2 ricsim_g3_2 testdata/ics/job-template.json
-else
- if [[ "$ICS_FEATURE_LEVEL" != *"INFO-TYPES"* ]]; then
- prodstub_check_jobdata_2 200 prod-a job2 type1 $TARGET2 ricsim_g3_2 testdata/ics/job-template.json
- else
- prodstub_check_jobdata_3 200 prod-a job2 type1 $TARGET2 ricsim_g3_2 testdata/ics/job-template.json
- fi
-fi
+prodstub_check_jobdata_3 200 prod-a job2 type1 $TARGET2 ricsim_g3_2 testdata/ics/job-template.json
# Arm producer prod-a for supervision failure
prodstub_arm_producer 200 prod-a 400
# Wait for producer prod-a to go disabled
ics_api_edp_get_producer_status 200 prod-a DISABLED 360
-if [[ "$ICS_FEATURE_LEVEL" == *"INFO-TYPES"* ]]; then
- ics_equal json:data-producer/v1/info-producers 0 1000
-else
- ics_equal json:ei-producer/v1/eiproducers 0 1000
-fi
+ics_equal json:data-producer/v1/info-producers 0 1000
if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
cr_equal 0 received_callbacks 3 30
#!/usr/bin/env bash
# ============LICENSE_START===============================================
-# Copyright (C) 2020 Nordix Foundation. All rights reserved.
+# Copyright (C) 2020-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.
#### TEST BEGIN ####
-generate_policy_uuid
+sim_generate_policy_uuid
#Test a1pms and simulator protocol versions (others are http only)
NB_TESTED_PROTOCOLS="HTTP HTTPS"
start_ric_simulators ricsim_g3 1 STD_2.0.0
start_sdnc
+ controller_api_wait_for_status_ok 200 ricsim_g1_1
if [ $__nb_httpx == "HTTPS" ]; then
# "Using secure ports towards SDNC"
- use_sdnc_https
+ if [[ "$SDNC_FEATURE_LEVEL" == *"NO_NB_HTTPS"* ]]; then
+ deviation "SDNC does not support NB https"
+ use_sdnc_http
+ else
+ use_sdnc_https
+ fi
else
#"Using non-secure ports towards SDNC"
use_sdnc_http
#!/usr/bin/env bash
# ============LICENSE_START===============================================
-# Copyright (C) 2020 Nordix Foundation. All rights reserved.
+# Copyright (C) 2020-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.
#Local vars in test script
##########################
-FLAT_A1_EI="1"
NUM_JOBS=10
clean_environment
set_dmaapadp_trace
-if [[ "$ICS_FEATURE_LEVEL" == *"INFO-TYPES"* ]]; then
- ics_equal json:data-producer/v1/info-producers 1 60
-else
- ics_equal json:ei-producer/v1/eiproducers 1 60
-fi
+ics_equal json:data-producer/v1/info-producers 1 60
ics_api_idc_get_job_ids 200 NOTYPE NOWNER EMPTY
ics_api_idc_get_type_ids 200 ExampleInformationType ExampleInformationTypeKafka
ics_api_edp_get_producer_ids_2 200 NOTYPE DmaapGenericInfoProducer
fi
-
+if [[ "$DMAAP_ADP_FEATURE_LEVEL" == *"FILTERSCHEMA"* ]]; then
+ _template_json=job-template1.1.json
+else
+ _template_json=job-template1.json
+fi
for ((i=1; i<=$NUM_JOBS; i++))
do
- ics_api_idc_put_job 201 joby$i ExampleInformationType $CR_SERVICE_MR_PATH_0/joby-data$i info-ownery$i $CR_SERVICE_MR_PATH_0/job_status_info-ownery$i testdata/dmaap-adapter/job-template1.json
+ ics_api_idc_put_job 201 joby$i ExampleInformationType $CR_SERVICE_MR_PATH_0/joby-data$i info-ownery$i $CR_SERVICE_MR_PATH_0/job_status_info-ownery$i testdata/dmaap-adapter/$_template_json
done
for ((i=1; i<=$NUM_JOBS; i++))
#!/bin/bash
# ============LICENSE_START===============================================
-# Copyright (C) 2020 Nordix Foundation. All rights reserved.
+# Copyright (C) 2020-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.
#### TEST BEGIN ####
-generate_policy_uuid
+sim_generate_policy_uuid
# Tested variants of REST/DMAAP/SDNC config
-TESTED_VARIANTS="REST DMAAP REST+SDNC DMAAP+SDNC DMAAP_BATCH DMAAP_BATCH+SDNC"
+if [[ "$A1PMS_FEATURE_LEVEL" == *"NO-DMAAP"* ]]; then
+ TESTED_VARIANTS="REST REST+SDNC"
+else
+ TESTED_VARIANTS="REST DMAAP REST+SDNC DMAAP+SDNC DMAAP_BATCH DMAAP_BATCH+SDNC"
+fi
#Test a1pms and simulator protocol versions (others are http only)
TESTED_PROTOCOLS="HTTP HTTPS"
if [ $__httpx == "HTTPS" ]; then
use_cr_https
use_simulator_https
- use_mr_https
+ if [[ "$A1PMS_FEATURE_LEVEL" == *"NO-DMAAP"* ]]; then
+ :
+ else
+ use_mr_https
+ fi
if [[ $interface = *"SDNC"* ]]; then
- use_sdnc_https
+ if [[ "$SDNC_FEATURE_LEVEL" == *"NO_NB_HTTPS"* ]]; then
+ deviation "SDNC does not support NB https"
+ use_sdnc_http
+ else
+ use_sdnc_https
+ fi
fi
if [[ $interface = *"DMAAP"* ]]; then
use_a1pms_dmaap_https
else
use_cr_http
use_simulator_http
- use_mr_http
+ if [[ "$A1PMS_FEATURE_LEVEL" == *"NO-DMAAP"* ]]; then
+ :
+ else
+ use_mr_http
+ fi
if [[ $interface = *"SDNC"* ]]; then
use_sdnc_http
fi
start_ric_simulators ricsim_g3 4 STD_2.0.0
- start_mr
+ if [[ "$A1PMS_FEATURE_LEVEL" == *"NO-DMAAP"* ]]; then
+ :
+ else
+ start_mr
+ fi
start_cr 1
if [[ $interface = *"SDNC"* ]]; then
start_sdnc
+ controller_api_wait_for_status_ok 200 ricsim_g1_1
prepare_a1pms_config SDNC ".a1pms_config.json"
else
prepare_a1pms_config NOSDNC ".a1pms_config.json"
#Local vars in test script
##########################
-FLAT_A1_EI="1"
+
NUM_CR=10 # Number of callback receivers, divide all callbacks to this number of servers - for load sharing
## Note: The number jobs must be a multiple of the number of CRs in order to calculate the number of expected event in each CR
NUM_JOBS=200 # Mediator and adapter gets same number of jobs for every type
#in one batch
#########################################################
-DATA_DELIV_JOBS=7 #Each job will eventuall get 5+2 msgs
+DATA_DELIV_JOBS=7 #Each job will eventually get 5+2 msgs
# Wait for data recetption, adapter
EXPECTED_DATA_DELIV=$(($NUM_JOBS*2/$NUM_CR+$EXPECTED_DATA_DELIV))
#Local vars in test script
##########################
-FLAT_A1_EI="1"
+
NUM_CR=1 # Number of callback receivers, max 1
## Note: The number jobs must be a multiple of the number of CRs in order to calculate the number of expected event in each CR
NUM_JOBS=100 # Mediator and adapter gets same number of jobs for every type
#!/bin/bash
# ============LICENSE_START===============================================
-# Copyright (C) 2020 Nordix Foundation. All rights reserved.
+# Copyright (C) 2020-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.
#### TEST BEGIN ####
-generate_policy_uuid
+sim_generate_policy_uuid
# Clean container and start all needed containers #
clean_environment
start_ric_simulators ricsim_g2 1 STD_1.1.3
start_ric_simulators ricsim_g3 1 STD_2.0.0
-start_mr
+if [[ "$A1PMS_FEATURE_LEVEL" == *"NO-DMAAP"* ]]; then
+ :
+else
+ start_mr
+fi
start_cr 1
cr_api_check_all_sync_events 200 0 ric-registration ricsim_g1_1 ricsim_g2_1 ricsim_g3_1
# Add an STD RIC and check
+
start_ric_simulators ricsim_g2 2 STD_1.1.3
prepare_a1pms_config NOSDNC ".a1pms_config.json"
check_a1pms_logs
-
-# Remove one RIC RIC and check
+# Remove one RIC and check
start_ric_simulators ricsim_g2 1 STD_1.1.3
prepare_a1pms_config NOSDNC ".a1pms_config.json"
#!/bin/bash
# ============LICENSE_START===============================================
-# Copyright (C) 2020 Nordix Foundation. All rights reserved.
+# Copyright (C) 2020-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.
#### TEST BEGIN ####
-generate_policy_uuid
+sim_generate_policy_uuid
use_cr_http
start_cr 1
- start_mr
-
+ if [[ "$A1PMS_FEATURE_LEVEL" == *"NO-DMAAP"* ]]; then
+ :
+ else
+ start_mr
+ fi
# Create first config
if [[ $interface = *"SDNC"* ]]; then
start_sdnc
+ controller_api_wait_for_status_ok 200 ricsim_g1_1
prepare_a1pms_config SDNC ".a1pms_config_initial.json"
else
prepare_a1pms_config NOSDNC ".a1pms_config_initial.json"
#!/bin/bash
# ============LICENSE_START===============================================
-# Copyright (C) 2020 Nordix Foundation. All rights reserved.
+# Copyright (C) 2020-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.
# ============LICENSE_END=================================================
#
-TC_ONELINE_DESCR="Create 10000 policies in sequence using http/https and a1pms REST/DMAAP with/without SDNC controller"
+TC_ONELINE_DESCR="Create 10000 policies in sequence using http/https and a1pms REST with/without SDNC controller"
#App names to include in the test when running docker, space separated list
DOCKER_INCLUDED_IMAGES="CP CR MR A1PMS RICSIM SDNC NGW KUBEPROXY"
#### TEST BEGIN ####
-generate_policy_uuid
+sim_generate_policy_uuid
#Local vars in test script
##########################
# Number of policies in each sequence
NUM_POLICIES=10000
-# Tested variants of REST/DMAAP/SDNC config
+# Tested variants of SDNC config
TESTED_VARIANTS="NOSDNC SDNC"
#Test a1pms and simulator protocol versions (others are http only)
start_ric_simulators ricsim_g2 1 STD_1.1.3
start_ric_simulators ricsim_g3 1 STD_2.0.0
- start_mr
+ if [[ "$A1PMS_FEATURE_LEVEL" == *"NO-DMAAP"* ]]; then
+ :
+ else
+ start_mr
+ fi
start_cr 1
set_a1pms_debug
- mr_equal requests_submitted 0
+ if [[ "$A1PMS_FEATURE_LEVEL" == *"NO-DMAAP"* ]]; then
+ :
+ else
+ mr_equal requests_submitted 0
+ fi
sim_put_policy_type 201 ricsim_g1_1 1 testdata/OSC/sim_1.json
sim_put_policy_type 201 ricsim_g3_1 STD_QOS2_0.1.0 testdata/STD2/sim_qos2.json
if [[ $interface == "SDNC" ]]; then
start_sdnc
+ controller_api_wait_for_status_ok 200 ricsim_g1_1
prepare_a1pms_config SDNC ".a1pms_config.json"
else
prepare_a1pms_config NOSDNC ".a1pms_config.json"
sim_equal ricsim_g3_1 num_instances $NUM_POLICIES
- if [ $__httpx == "HTTPS" ]; then
- echo "Using secure ports towards dmaap"
- use_a1pms_dmaap_https
+ INTERFACE_VARIANT=
+ if [[ "$A1PMS_FEATURE_LEVEL" == *"NO-DMAAP"* ]]; then
+ INTERFACE_VARIANT=REST
+ if [ $__httpx == "HTTPS" ]; then
+ use_a1pms_rest_https
+ else
+ use_a1pms_rest_http
+ fi
else
- echo "Using non-secure ports towards dmaap"
- use_a1pms_dmaap_http
+ INTERFACE_VARIANT=DMAAP
+ if [ $__httpx == "HTTPS" ]; then
+ echo "Using secure ports towards dmaap"
+ use_a1pms_dmaap_https
+ else
+ echo "Using non-secure ports towards dmaap"
+ use_a1pms_dmaap_http
+ fi
fi
START_ID=$(($START_ID+$NUM_POLICIES))
- start_timer "Create polices in OSC via a1pms DMAAP, one by one, and $interface using "$__httpx
+ start_timer "Create polices in OSC via a1pms $INTERFACE_VARIANT, one by one, and $interface using "$__httpx
a1pms_api_put_policy 201 "serv1" ricsim_g1_1 1 $START_ID NOTRANSIENT $notificationurl testdata/OSC/pi1_template.json $NUM_POLICIES
- print_timer "Create polices in OSC via a1pms DMAAP, one by one, and $interface using "$__httpx
+ print_timer "Create polices in OSC via a1pms $INTERFACE_VARIANT, one by one, and $interface using "$__httpx
sim_equal ricsim_g1_1 num_instances $((2*$NUM_POLICIES))
START_ID=$(($START_ID+$NUM_POLICIES))
- start_timer "Create polices in STD via a1pms DMAAP, one by one, and $interface using "$__httpx
+ start_timer "Create polices in STD via a1pms $INTERFACE_VARIANT, one by one, and $interface using "$__httpx
a1pms_api_put_policy 201 "serv1" ricsim_g2_1 NOTYPE $START_ID NOTRANSIENT $notificationurl testdata/STD/pi1_template.json $NUM_POLICIES
- print_timer "Create polices in STD via a1pms DMAAP, one by one, and $interface using "$__httpx
+ print_timer "Create polices in STD via a1pms $INTERFACE_VARIANT, one by one, and $interface using "$__httpx
sim_equal ricsim_g2_1 num_instances $((2*$NUM_POLICIES))
START_ID=$(($START_ID+$NUM_POLICIES))
- start_timer "Create polices in STD 2 via a1pms DMAAP, one by one, and $interface using "$__httpx
+ start_timer "Create polices in STD 2 via a1pms $INTERFACE_VARIANT, one by one, and $interface using "$__httpx
a1pms_api_put_policy 201 "serv1" ricsim_g3_1 STD_QOS2_0.1.0 $START_ID NOTRANSIENT $notificationurl testdata/STD2/pi_qos2_template.json $NUM_POLICIES
- print_timer "Create polices in STD via a1pms DMAAP, one by one, and $interface using "$__httpx
+ print_timer "Create polices in STD via a1pms $INTERFACE_VARIANT, one by one, and $interface using "$__httpx
sim_equal ricsim_g3_1 num_instances $((2*$NUM_POLICIES))
+ if [[ "$A1PMS_FEATURE_LEVEL" == *"NO-DMAAP"* ]]; then
+ :
+ else
+ START_ID=$(($START_ID+$NUM_POLICIES))
+ start_timer "Create polices in OSC via a1pms $INTERFACE_VARIANT in batch and $interface using "$__httpx
+ a1pms_api_put_policy_batch 201 "serv1" ricsim_g1_1 1 $START_ID NOTRANSIENT $notificationurl testdata/OSC/pi1_template.json $NUM_POLICIES
+ print_timer "Create polices in OSC via a1pms $INTERFACE_VARIANT in batch and $interface using "$__httpx
- START_ID=$(($START_ID+$NUM_POLICIES))
-
- start_timer "Create polices in OSC via a1pms DMAAP in batch and $interface using "$__httpx
- a1pms_api_put_policy_batch 201 "serv1" ricsim_g1_1 1 $START_ID NOTRANSIENT $notificationurl testdata/OSC/pi1_template.json $NUM_POLICIES
- print_timer "Create polices in OSC via a1pms DMAAP in batch and $interface using "$__httpx
-
- sim_equal ricsim_g1_1 num_instances $((3*$NUM_POLICIES))
-
- START_ID=$(($START_ID+$NUM_POLICIES))
+ sim_equal ricsim_g1_1 num_instances $((3*$NUM_POLICIES))
- start_timer "Create polices in STD via a1pms DMAAP in batch and $interface using "$__httpx
- a1pms_api_put_policy_batch 201 "serv1" ricsim_g2_1 NOTYPE $START_ID NOTRANSIENT $notificationurl testdata/STD/pi1_template.json $NUM_POLICIES
- print_timer "Create polices in STD via a1pms DMAAP in batch and $interface using "$__httpx
+ START_ID=$(($START_ID+$NUM_POLICIES))
- sim_equal ricsim_g2_1 num_instances $((3*$NUM_POLICIES))
+ start_timer "Create polices in STD via a1pms $INTERFACE_VARIANT in batch and $interface using "$__httpx
+ a1pms_api_put_policy_batch 201 "serv1" ricsim_g2_1 NOTYPE $START_ID NOTRANSIENT $notificationurl testdata/STD/pi1_template.json $NUM_POLICIES
+ print_timer "Create polices in STD via a1pms $INTERFACE_VARIANT in batch and $interface using "$__httpx
+ sim_equal ricsim_g2_1 num_instances $((3*$NUM_POLICIES))
- START_ID=$(($START_ID+$NUM_POLICIES))
- start_timer "Create polices in STD via a1pms DMAAP in batch and $interface using "$__httpx
- a1pms_api_put_policy_batch 201 "serv1" ricsim_g3_1 STD_QOS2_0.1.0 $START_ID NOTRANSIENT $notificationurl testdata/STD2/pi_qos2_template.json $NUM_POLICIES
- print_timer "Create polices in STD via a1pms DMAAP in batch and $interface using "$__httpx
+ START_ID=$(($START_ID+$NUM_POLICIES))
- sim_equal ricsim_g3_1 num_instances $((3*$NUM_POLICIES))
+ start_timer "Create polices in STD via a1pms $INTERFACE_VARIANT in batch and $interface using "$__httpx
+ a1pms_api_put_policy_batch 201 "serv1" ricsim_g3_1 STD_QOS2_0.1.0 $START_ID NOTRANSIENT $notificationurl testdata/STD2/pi_qos2_template.json $NUM_POLICIES
+ print_timer "Create polices in STD via a1pms $INTERFACE_VARIANT in batch and $interface using "$__httpx
+ sim_equal ricsim_g3_1 num_instances $((3*$NUM_POLICIES))
+ fi
if [ $interface == "SDNC" ]; then
sim_contains_str ricsim_g1_1 remote_hosts $SDNC_APP_NAME
#!/bin/bash
# ============LICENSE_START===============================================
-# Copyright (C) 2020 Nordix Foundation. All rights reserved.
+# Copyright (C) 2020-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.
NUM_POLICIES_PER_RIC=2000
-generate_policy_uuid
+sim_generate_policy_uuid
notificationurl=$CR_SERVICE_APP_PATH_0"/test"
use_cr_https
use_simulator_https
if [[ $interface = *"SDNC"* ]]; then
- use_sdnc_https
+ if [[ "$SDNC_FEATURE_LEVEL" == *"NO_NB_HTTPS"* ]]; then
+ deviation "SDNC does not support NB https"
+ use_sdnc_http
+ else
+ use_sdnc_https
+ fi
fi
use_a1pms_rest_https
else
if [[ $interface = *"SDNC"* ]]; then
start_sdnc
+ controller_api_wait_for_status_ok 200 ricsim_g1_1
prepare_a1pms_config SDNC ".a1pms_config.json"
else
prepare_a1pms_config NOSDNC ".a1pms_config.json"
stop_a1pms
+ sleep_wait 60
+
start_stopped_a1pms
set_a1pms_debug
stop_a1pms
+ sleep_wait 60
+
for ((i=1; i<=$NUM_RICS; i++))
do
sim_post_delete_instances 200 ricsim_g1_$i
stop_a1pms
+ sleep_wait 60
+
start_stopped_a1pms
set_a1pms_debug
#!/bin/bash
# ============LICENSE_START===============================================
-# Copyright (C) 2020 Nordix Foundation. All rights reserved.
+# Copyright (C) 2020-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.
# ============LICENSE_END=================================================
#
-TC_ONELINE_DESCR="Repeatedly create and delete policies in each RICs for 24h (or configured number of days). Via a1pms REST/DMAAP/DMAAP_BATCH and SDNC using http or https"
+TC_ONELINE_DESCR="Repeatedly create and delete policies in each RICs for 24h (or configured number of days). Via a1pms REST and with SDNC using http or https"
#App names to include in the test when running docker, space separated list
DOCKER_INCLUDED_IMAGES="CP CR MR A1PMS RICSIM SDNC NGW KUBEPROXY"
#### TEST BEGIN ####
-generate_policy_uuid
+sim_generate_policy_uuid
#Local vars in test script
##########################
else
use_cr_https
use_a1pms_rest_https
- use_sdnc_https
+ if [[ "$SDNC_FEATURE_LEVEL" == *"NO_NB_HTTPS"* ]]; then
+ deviation "SDNC does not support NB https"
+ use_sdnc_http
+ else
+ use_sdnc_https
+ fi
use_simulator_https
fi
start_ric_simulators ricsim_g3 $NUM_RICS STD_2.0.0
-start_mr
+if [[ "$A1PMS_FEATURE_LEVEL" == *"NO-DMAAP"* ]]; then
+ :
+else
+ start_mr
+fi
start_cr 1
fi
start_sdnc
+controller_api_wait_for_status_ok 200 ricsim_g1_1
sleep_wait 120 "Let A1PMS cofiguration take effect"
a1pms_api_put_service 201 "serv1" 0 "$CR_SERVICE_APP_PATH_0/1"
TEST_DURATION=$((24*3600*$DAYS))
+
TEST_START=$SECONDS
-A1PMS_INTERFACES="REST REST_PARALLEL DMAAP DMAAP-BATCH"
+if [[ "$A1PMS_FEATURE_LEVEL" == *"NO-DMAAP"* ]]; then
+ A1PMS_INTERFACES="REST REST_PARALLEL"
+else
+ A1PMS_INTERFACES="REST REST_PARALLEL DMAAP DMAAP-BATCH"
+fi
MR_MESSAGES=0
a1pms_equal json:policy-instances $INSTANCES
- mr_equal requests_submitted $MR_MESSAGES
- mr_equal requests_fetched $MR_MESSAGES
- mr_equal responses_submitted $MR_MESSAGES
- mr_equal responses_fetched $MR_MESSAGES
- mr_equal current_requests 0
- mr_equal current_responses 0
+ if [[ "$A1PMS_FEATURE_LEVEL" == *"NO-DMAAP"* ]]; then
+ :
+ else
+ mr_equal requests_submitted $MR_MESSAGES
+ mr_equal requests_fetched $MR_MESSAGES
+ mr_equal responses_submitted $MR_MESSAGES
+ mr_equal responses_fetched $MR_MESSAGES
+ mr_equal current_requests 0
+ mr_equal current_responses 0
+ fi
for ((i=1; i<=$NUM_RICS; i++))
#!/bin/bash
# ============LICENSE_START===============================================
-# Copyright (C) 2020 Nordix Foundation. All rights reserved.
+# Copyright (C) 2020-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.
NUM_RICS=20
NUM_POLICIES_PER_RIC=500
-generate_policy_uuid
+sim_generate_policy_uuid
notificationurl=$CR_SERVICE_APP_PATH_0"/test"
if [ $__httpx == "HTTPS" ]; then
use_cr_https
use_simulator_https
- use_mr_https
+ if [[ "$A1PMS_FEATURE_LEVEL" == *"NO-DMAAP"* ]]; then
+ :
+ else
+ use_mr_https
+ fi
if [[ $interface = *"SDNC"* ]]; then
- use_sdnc_https
+ if [[ "$SDNC_FEATURE_LEVEL" == *"NO_NB_HTTPS"* ]]; then
+ deviation "SDNC does not support NB https"
+ use_sdnc_http
+ else
+ use_sdnc_https
+ fi
fi
use_a1pms_rest_https
else
use_cr_http
use_simulator_http
- use_mr_http
+ if [[ "$A1PMS_FEATURE_LEVEL" == *"NO-DMAAP"* ]]; then
+ :
+ else
+ use_mr_http
+ fi
if [[ $interface = *"SDNC"* ]]; then
use_sdnc_http
fi
if [[ $interface = *"SDNC"* ]]; then
start_sdnc
+ controller_api_wait_for_status_ok 200 ricsim_g1_1
prepare_a1pms_config SDNC ".a1pms_config.json"
else
prepare_a1pms_config NOSDNC ".a1pms_config.json"
a1pms_api_put_configuration 200 ".a1pms_config.json"
fi
- start_mr # Not used, but removes error messages from the a1pms log
+ if [[ "$A1PMS_FEATURE_LEVEL" == *"NO-DMAAP"* ]]; then
+ :
+ else
+ start_mr #Just to prevent errors in the a1pms log...
+ fi
start_cr 1
#!/usr/bin/env bash
# ============LICENSE_START===============================================
-# Copyright (C) 2020 Nordix Foundation. All rights reserved.
+# Copyright (C) 2020-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.
start_ric_simulators $RIC_SIM_PREFIX"_g3" $STD_NUM_RICS STD_2.0.0
-start_mr #Just to prevent errors in the a1pms log...
+if [[ "$A1PMS_FEATURE_LEVEL" == *"NO-DMAAP"* ]]; then
+ :
+else
+ start_mr #Just to prevent errors in the a1pms log...
+fi
start_control_panel $SIM_GROUP/$CONTROL_PANEL_COMPOSE_DIR/$CONTROL_PANEL_CONFIG_FILE
# Create policies in OSC
for ((i=1; i<=$OSC_NUM_RICS; i++))
do
- generate_policy_uuid
+ sim_generate_policy_uuid
a1pms_api_put_policy 201 "Emergency-response-app" $RIC_SIM_PREFIX"_g1_"$i 2 $((2000+$i)) NOTRANSIENT $notificationurl testdata/OSC/pihw_template.json 1
- generate_policy_uuid
+ sim_generate_policy_uuid
a1pms_api_put_policy 201 "Emergency-response-app" $RIC_SIM_PREFIX"_g1_"$i 100 $((3000+$i)) NOTRANSIENT $notificationurl testdata/OSC/piqos_template.json 1
- generate_policy_uuid
+ sim_generate_policy_uuid
a1pms_api_put_policy 201 "Emergency-response-app" $RIC_SIM_PREFIX"_g1_"$i 20008 $((4000+$i)) NOTRANSIENT $notificationurl testdata/OSC/pitsa_template.json 1
done
# Create policies in STD
for ((i=1; i<=$STD_NUM_RICS; i++))
do
- generate_policy_uuid
+ sim_generate_policy_uuid
a1pms_api_put_policy 201 "Emergency-response-app" $RIC_SIM_PREFIX"_g2_"$i NOTYPE $((2100+$i)) NOTRANSIENT $notificationurl testdata/STD/pi1_template.json 1
- generate_policy_uuid
+ sim_generate_policy_uuid
a1pms_api_put_policy 201 "Emergency-response-app" $RIC_SIM_PREFIX"_g3_"$i STD_QOS_0_2_0 $((2300+$i)) NOTRANSIENT $notificationurl demo-testdata/STD2/pi1_template.json 1
- generate_policy_uuid
+ sim_generate_policy_uuid
a1pms_api_put_policy 201 "Emergency-response-app" $RIC_SIM_PREFIX"_g3_"$i 'STD_QOS2_0.1.0' $((2400+$i)) NOTRANSIENT $notificationurl demo-testdata/STD2/pi1_template.json 1
done
#!/usr/bin/env bash
# ============LICENSE_START===============================================
-# Copyright (C) 2020 Nordix Foundation. All rights reserved.
+# Copyright (C) 2020-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.
use_prod_stub_https
use_dmaapmed_https
-if [ $ICS_VERSION == "V1-1" ]; then
- use_rapp_catalogue_http # https not yet supported
-else
- ########################################use_rapp_catalogue_https
- use_rapp_catalogue_http
-fi
+use_rapp_catalogue_http
echo -e "$RED CHECK WHY RC HTTPS DOES NOT WORK $ERED"
start_control_panel
start_sdnc
+controller_api_wait_for_status_ok 200 a1-sim-std-1
start_a1pms
for ((i=0; i<$STD_NUM_RICS; i++))
do
ricid=$((3+$i))
- generate_policy_uuid
+ sim_generate_policy_uuid
a1pms_api_put_policy 201 "Emergency-response-app" ric$ricid NOTYPE $((1100+$i)) NOTRANSIENT $CR_SERVICE_APP_PATH_0/"std2" testdata/STD/pi1_template.json 1
- generate_policy_uuid
+ sim_generate_policy_uuid
a1pms_api_put_policy 201 "Emergency-response-app" ric$ricid NOTYPE $((1200+$i)) NOTRANSIENT $CR_SERVICE_APP_PATH_0/"std2" testdata/STD/pi1_template.json 1
done
for ((i=0; i<$STD_NUM_RICS; i++))
do
ricid=$((5+$i))
- generate_policy_uuid
+ sim_generate_policy_uuid
a1pms_api_put_policy 201 "Emergency-response-app" ric$ricid STD_QOS_0_2_0 $((2100+$i)) NOTRANSIENT $CR_SERVICE_APP_PATH_0/"std2" testdata/STD2/pi_qos_template.json 1
- generate_policy_uuid
+ sim_generate_policy_uuid
a1pms_api_put_policy 201 "Emergency-response-app" ric$ricid STD_QOS2_0.1.0 $((2200+$i)) NOTRANSIENT $CR_SERVICE_APP_PATH_0/"std2" testdata/STD2/pi_qos2_template.json 1
done
for ((i=0; i<$OSC_NUM_RICS; i++))
do
ricid=$((1+$i))
- generate_policy_uuid
+ sim_generate_policy_uuid
a1pms_api_put_policy 201 "Emergency-response-app" ric$ricid 1 $((3100+$i)) NOTRANSIENT $CR_SERVICE_APP_PATH_0/"osc" testdata/OSC/pi1_template.json 1
- generate_policy_uuid
+ sim_generate_policy_uuid
a1pms_api_put_policy 201 "Emergency-response-app" ric$ricid 2 $((3200+$i)) NOTRANSIENT $CR_SERVICE_APP_PATH_0/"osc" testdata/OSC/pi2_template.json 1
done
echo "ADD EVENT/STATUS CHECK"
echo "ADD MR CHECK"
-FLAT_A1_EI="1"
-
ics_api_admin_reset
CB_JOB="$PROD_STUB_SERVICE_PATH$PROD_STUB_JOB_CALLBACK"
ics_api_service_status 200
## Setup prod-a
-if [ $ICS_VERSION == "V1-1" ]; then
- ics_api_edp_put_producer 201 prod-a $CB_JOB/prod-a $CB_SV/prod-a type1 testdata/ics/ei-type-1.json
-
- ics_api_edp_get_producer 200 prod-a $CB_JOB/prod-a $CB_SV/prod-a type1 testdata/ics/ei-type-1.json
-else
- ics_api_edp_put_type_2 201 type1 testdata/ics/ei-type-1.json
- ics_api_edp_get_type_2 200 type1
+ics_api_edp_put_type_2 201 type1 testdata/ics/ei-type-1.json
+ics_api_edp_get_type_2 200 type1
- ics_api_edp_get_type_ids 200 type1
+ics_api_edp_get_type_ids 200 type1
- ics_api_edp_put_producer_2 201 prod-a $CB_JOB/prod-a $CB_SV/prod-a type1
- ics_api_edp_put_producer_2 200 prod-a $CB_JOB/prod-a $CB_SV/prod-a type1
-fi
+ics_api_edp_put_producer_2 201 prod-a $CB_JOB/prod-a $CB_SV/prod-a type1
+ics_api_edp_put_producer_2 200 prod-a $CB_JOB/prod-a $CB_SV/prod-a type1
ics_api_edp_get_producer_status 200 prod-a ENABLED
## Create a job for prod-a
## job1 - prod-a
-if [ -z "$FLAT_A1_EI" ]; then
- ics_api_a1_put_job 201 type1 job1 $TARGET1 ricsim_g3_1 testdata/ics/job-template.json
-else
- ics_api_a1_put_job 201 job1 type1 $TARGET1 ricsim_g3_1 $STATUS1 testdata/ics/job-template.json
-fi
+ics_api_a1_put_job 201 job1 type1 $TARGET1 ricsim_g3_1 $STATUS1 testdata/ics/job-template.json
# Check the job data in the producer
-if [ $ICS_VERSION == "V1-1" ]; then
- prodstub_check_jobdata 200 prod-a job1 type1 $TARGET1 ricsim_g3_1 testdata/ics/job-template.json
-else
- if [[ "$ICS_FEATURE3LEVEL" == *"INFO-TYPES"* ]]; then
- prodstub_check_jobdata_3 200 prod-a job1 type1 $TARGET1 ricsim_g3_1 testdata/ics/job-template.json
- else
- prodstub_check_jobdata_2 200 prod-a job1 type1 $TARGET1 ricsim_g3_1 testdata/ics/job-template.json
- fi
-fi
+prodstub_check_jobdata_3 200 prod-a job1 type1 $TARGET1 ricsim_g3_1 testdata/ics/job-template.json
## Create a second job for prod-a
## job2 - prod-a
-if [ -z "$FLAT_A1_EI" ]; then
- ics_api_a1_put_job 201 type1 job2 $TARGET2 ricsim_g3_2 testdata/ics/job-template.json
-else
- ics_api_a1_put_job 201 job2 type1 $TARGET2 ricsim_g3_2 $STATUS2 testdata/ics/job-template.json
-fi
+ics_api_a1_put_job 201 job2 type1 $TARGET2 ricsim_g3_2 $STATUS2 testdata/ics/job-template.json
# Check the job data in the producer
-if [ $ICS_VERSION == "V1-1" ]; then
- prodstub_check_jobdata 200 prod-a job2 type1 $TARGET2 ricsim_g3_2 testdata/ics/job-template.json
-else
- if [[ "$ICS_FEATURE_LEVEL" == *"INFO-TYPES"* ]]; then
- prodstub_check_jobdata_3 200 prod-a job2 type1 $TARGET2 ricsim_g3_2 testdata/ics/job-template.json
- else
- prodstub_check_jobdata_2 200 prod-a job2 type1 $TARGET2 ricsim_g3_2 testdata/ics/job-template.json
- fi
-fi
+prodstub_check_jobdata_3 200 prod-a job2 type1 $TARGET2 ricsim_g3_2 testdata/ics/job-template.json
# Dmaap mediator and adapter
start_dmaapadp NOPROXY $SIM_GROUP/$DMAAP_ADP_COMPOSE_DIR/$DMAAP_ADP_CONFIG_FILE_TEMPLATE $SIM_GROUP/$DMAAP_ADP_COMPOSE_DIR/$DMAAP_ADP_DATA_FILE
# Check ICS status after restart
-if [ -z "$FLAT_A1_EI" ]; then
- ics_api_a1_get_job_status 200 type1 job1 DISABLED
- ics_api_a1_get_job_status 200 type1 job2 DISABLED
-else
- ics_api_a1_get_job_status 200 job1 DISABLED
- ics_api_a1_get_job_status 200 job2 DISABLED
-fi
+ics_api_a1_get_job_status 200 job1 DISABLED
+ics_api_a1_get_job_status 200 job2 DISABLED
check_a1pms_logs
check_ics_logs
#!/usr/bin/env bash
# ============LICENSE_START===============================================
-# Copyright (C) 2020 Nordix Foundation. All rights reserved.
+# Copyright (C) 2020-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.
use_cr_https
use_a1pms_rest_https
-use_sdnc_https
+if [[ "$SDNC_FEATURE_LEVEL" == *"NO_NB_HTTPS"* ]]; then
+ deviation "SDNC does not support NB https"
+ use_sdnc_http
+else
+ use_sdnc_https
+fi
use_simulator_https
-use_mr_https
+if [[ "$A1PMS_FEATURE_LEVEL" == *"NO-DMAAP"* ]]; then
+ :
+else
+ use_mr_https
+fi
__httpx="HTTPS"
notificationurl=$CR_SERVICE_APP_PATH_0"/test"
-generate_policy_uuid
+sim_generate_policy_uuid
# Tested variants of REST/DMAAP/SDNC config
-TESTED_VARIANTS="REST DMAAP REST+SDNC DMAAP+SDNC"
+
+
+if [[ "$A1PMS_FEATURE_LEVEL" == *"NO-DMAAP"* ]]; then
+ TESTED_VARIANTS="REST REST+SDNC"
+else
+ TESTED_VARIANTS="REST DMAAP REST+SDNC DMAAP+SDNC"
+fi
+
for interface in $TESTED_VARIANTS ; do
echo "#####################################################################"
start_ric_simulators $RIC_SIM_PREFIX"_g3" $STD_NUM_RICS STD_2.0.0
- start_mr "$MR_READ_TOPIC" "/events" "users/policy-agent" \
- "$MR_WRITE_TOPIC" "/events" "users/mr-stub"
+ if [[ "$A1PMS_FEATURE_LEVEL" == *"NO-DMAAP"* ]]; then
+ :
+ else
+ start_mr "$MR_READ_TOPIC" "/events" "users/policy-agent" \
+ "$MR_WRITE_TOPIC" "/events" "users/mr-stub"
+ fi
start_control_panel $SIM_GROUP/$CONTROL_PANEL_COMPOSE_DIR/$CONTROL_PANEL_CONFIG_FILE
if [[ $interface = *"SDNC"* ]]; then
start_sdnc
+ controller_api_wait_for_status_ok 200 ricsim_g1_1
prepare_a1pms_config SDNC ".a1pms_config.json"
else
prepare_a1pms_config NOSDNC ".a1pms_config.json"
#!/usr/bin/env bash
# ============LICENSE_START===============================================
-# Copyright (C) 2020 Nordix Foundation. All rights reserved.
+# Copyright (C) 2020-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.
use_cr_https
use_a1pms_rest_https
-use_sdnc_https
+if [[ "$SDNC_FEATURE_LEVEL" == *"NO_NB_HTTPS"* ]]; then
+ deviation "SDNC does not support NB https"
+ use_sdnc_http
+else
+ use_sdnc_https
+fi
use_simulator_https
notificationurl=$CR_SERVICE_APP_PATH_0"/test"
start_ric_simulators $RIC_SIM_PREFIX"_g3" $STD_NUM_RICS STD_2.0.0
-start_mr #Just to prevent errors in the a1pms log...
+if [[ "$A1PMS_FEATURE_LEVEL" == *"NO-DMAAP"* ]]; then
+ :
+else
+ start_mr #Just to prevent errors in the a1pms log...
+fi
start_control_panel $SIM_GROUP/$CONTROL_PANEL_COMPOSE_DIR/$CONTROL_PANEL_CONFIG_FILE
fi
start_sdnc
+controller_api_wait_for_status_ok 200 ricsim_g1_1
start_a1pms NORPOXY $SIM_GROUP/$A1PMS_COMPOSE_DIR/$A1PMS_CONFIG_FILE
# Create policies in OSC
for ((i=1; i<=$OSC_NUM_RICS; i++))
do
- generate_policy_uuid
+ sim_generate_policy_uuid
a1pms_api_put_policy 201 "Emergency-response-app" $RIC_SIM_PREFIX"_g1_"$i 100 $((3000+$i)) NOTRANSIENT $notificationurl demo-testdata/OSC/piqos_template.json 1
- generate_policy_uuid
+ sim_generate_policy_uuid
a1pms_api_put_policy 201 "Emergency-response-app" $RIC_SIM_PREFIX"_g1_"$i 20008 $((4000+$i)) NOTRANSIENT $notificationurl demo-testdata/OSC/pitsa_template.json 1
done
# Create policies in STD
for ((i=1; i<=$STD_NUM_RICS; i++))
do
- generate_policy_uuid
+ sim_generate_policy_uuid
a1pms_api_put_policy 201 "Emergency-response-app" $RIC_SIM_PREFIX"_g2_"$i NOTYPE $((2100+$i)) NOTRANSIENT $notificationurl demo-testdata/STD/pi1_template.json 1
- generate_policy_uuid
+ sim_generate_policy_uuid
a1pms_api_put_policy 201 "Emergency-response-app" $RIC_SIM_PREFIX"_g3_"$i STD_QOS_0_2_0 $((2300+$i)) NOTRANSIENT $notificationurl demo-testdata/STD2/pi1_template.json 1
- generate_policy_uuid
+ sim_generate_policy_uuid
a1pms_api_put_policy 201 "Emergency-response-app" $RIC_SIM_PREFIX"_g3_"$i 'STD_QOS2_0.1.0' $((2400+$i)) NOTRANSIENT $notificationurl demo-testdata/STD2/pi1_template.json 1
done
#!/usr/bin/env bash
# ============LICENSE_START===============================================
-# Copyright (C) 2020 Nordix Foundation. All rights reserved.
+# Copyright (C) 2020-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.
use_cr_https
use_a1pms_rest_https
-use_sdnc_https
+if [[ "$SDNC_FEATURE_LEVEL" == *"NO_NB_HTTPS"* ]]; then
+ deviation "SDNC does not support NB https"
+ use_sdnc_http
+else
+ use_sdnc_https
+fi
use_simulator_https
use_ics_rest_https
use_prod_stub_https
-if [ $ICS_VERSION == "V1-1" ]; then
- use_rapp_catalogue_http # https not yet supported
-else
- use_rapp_catalogue_https
-fi
+use_rapp_catalogue_https
notificationurl=$CR_SERVICE_APP_PATH_0"/test"
start_ric_simulators $RIC_SIM_PREFIX"_g3" $STD_NUM_RICS STD_2.0.0
-start_mr #Just to prevent errors in the a1pms log...
+if [[ "$A1PMS_FEATURE_LEVEL" == *"NO-DMAAP"* ]]; then
+ :
+else
+ start_mr #Just to prevent errors in the a1pms log...
+fi
start_control_panel $SIM_GROUP/$CONTROL_PANEL_COMPOSE_DIR/$CONTROL_PANEL_CONFIG_FILE
fi
start_sdnc # Comment this line to run A1PMS with proxy
+controller_api_wait_for_status_ok 200 ricsim_g3_1 # Comment this line to run A1PMS with proxy
start_a1pms PROXY $SIM_GROUP/$A1PMS_COMPOSE_DIR/$A1PMS_CONFIG_FILE
set_ics_trace
-use_info_jobs=false #Set flag if interface supporting info-types is used
-if [[ "$ICS_FEATURE_LEVEL" == *"INFO-TYPES"* ]]; then
- use_info_jobs=true
-fi
-
rapp_cat_api_get_services 200 EMPTY
rapp_cat_api_put_service 201 "Emergency-response-app" v1 "Emergency-response-app" "Emergency-response-app"
# Create policies in STD
for ((i=1; i<=$STD_NUM_RICS; i++))
do
- generate_policy_uuid
+ sim_generate_policy_uuid
a1pms_api_put_policy 201 "Emergency-response-app" $RIC_SIM_PREFIX"_g3_"$i STD_QOS_0_2_0 $((2300+$i)) NOTRANSIENT $notificationurl demo-testdata/STD2/pi1_template.json 1
- generate_policy_uuid
+ sim_generate_policy_uuid
a1pms_api_put_policy 201 "Emergency-response-app" $RIC_SIM_PREFIX"_g3_"$i 'STD_QOS2_0.1.0' $((2400+$i)) NOTRANSIENT $notificationurl demo-testdata/STD2/pi1_template.json 1
done
sim_print $RIC_SIM_PREFIX"_g3_"$i remote_hosts
done
-FLAT_A1_EI="1"
-
CB_JOB="$PROD_STUB_SERVICE_PATH$PROD_STUB_JOB_CALLBACK"
CB_SV="$PROD_STUB_SERVICE_PATH$PROD_STUB_SUPERVISION_CALLBACK"
RIC_G1_1=$RIC_SIM_PREFIX"_g3_1"
ics_api_service_status 200
## Setup prod-a
-if [ $ICS_VERSION == "V1-1" ]; then
- ics_api_edp_put_producer 201 prod-a $CB_JOB/prod-a $CB_SV/prod-a type1 testdata/ics/ei-type-1.json
+ics_api_edp_put_type_2 201 type1 testdata/ics/ei-type-1.json
- ics_api_edp_get_producer 200 prod-a $CB_JOB/prod-a $CB_SV/prod-a type1 testdata/ics/ei-type-1.json
-else
- ics_api_edp_put_type_2 201 type1 testdata/ics/ei-type-1.json
+ics_api_edp_put_producer_2 201 prod-a $CB_JOB/prod-a $CB_SV/prod-a type1
- ics_api_edp_put_producer_2 201 prod-a $CB_JOB/prod-a $CB_SV/prod-a type1
-
- ics_api_edp_get_producer_2 200 prod-a $CB_JOB/prod-a $CB_SV/prod-a type1
-fi
+ics_api_edp_get_producer_2 200 prod-a $CB_JOB/prod-a $CB_SV/prod-a type1
ics_api_edp_get_producer_status 200 prod-a ENABLED
## Create a job for prod-a
## job1 - prod-a
-if [ -z "$FLAT_A1_EI" ]; then
- ics_api_a1_put_job 201 type1 job1 $TARGET1 ricsim_g3_1 testdata/ics/job-template.json
-else
- ics_api_a1_put_job 201 job1 type1 $TARGET1 ricsim_g3_1 $STATUS1 testdata/ics/job-template.json
-fi
+ics_api_a1_put_job 201 job1 type1 $TARGET1 ricsim_g3_1 $STATUS1 testdata/ics/job-template.json
# Check the job data in the producer
-if [ $ICS_VERSION == "V1-1" ]; then
- prodstub_check_jobdata 200 prod-a job1 type1 $TARGET1 ricsim_g3_1 testdata/ics/job-template.json
-else
- if [ $use_info_jobs ]; then
- prodstub_check_jobdata_3 200 prod-a job1 type1 $TARGET1 ricsim_g3_1 testdata/ics/job-template.json
- else
- prodstub_check_jobdata_2 200 prod-a job1 type1 $TARGET1 ricsim_g3_1 testdata/ics/job-template.json
- fi
-fi
-
+ prodstub_check_jobdata_3 200 prod-a job1 type1 $TARGET1 ricsim_g3_1 testdata/ics/job-template.json
## Create a second job for prod-a
## job2 - prod-a
-if [ -z "$FLAT_A1_EI" ]; then
- ics_api_a1_put_job 201 type1 job2 $TARGET2 ricsim_g3_2 testdata/ics/job-template.json
-else
- ics_api_a1_put_job 201 job2 type1 $TARGET2 ricsim_g3_2 $STATUS2 testdata/ics/job-template.json
-fi
+ics_api_a1_put_job 201 job2 type1 $TARGET2 ricsim_g3_2 $STATUS2 testdata/ics/job-template.json
# Check the job data in the producer
-if [ $ICS_VERSION == "V1-1" ]; then
- prodstub_check_jobdata 200 prod-a job2 type1 $TARGET2 ricsim_g3_2 testdata/ics/job-template.json
-else
- if [ $use_info_jobs ]; then
- prodstub_check_jobdata_3 200 prod-a job2 type1 $TARGET2 ricsim_g3_2 testdata/ics/job-template.json
- else
- prodstub_check_jobdata_2 200 prod-a job2 type1 $TARGET2 ricsim_g3_2 testdata/ics/job-template.json
- fi
-fi
+prodstub_check_jobdata_3 200 prod-a job2 type1 $TARGET2 ricsim_g3_2 testdata/ics/job-template.json
check_a1pms_logs
check_ics_logs
#!/bin/bash
# ============LICENSE_START===============================================
-# Copyright (C) 2020 Nordix Foundation. All rights reserved.
+# Copyright (C) 2020-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.
# ============LICENSE_END=================================================
#
-TS_ONELINE_DESCR="Test suite - alternative A1PMS endpoint image testing. a1pms REST, DMAAP and SNDC controller resconf"
+TS_ONELINE_DESCR="Test suite - alternative A1PMS endpoint image testing. a1pms REST and SNDC controller resconf"
. ../common/testsuite_common.sh
#!/bin/bash
# ============LICENSE_START===============================================
-# Copyright (C) 2020 Nordix Foundation. All rights reserved.
+# Copyright (C) 2020-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.
# ============LICENSE_END=================================================
#
-TS_ONELINE_DESCR="Test suite - interface testing. A1PMS REST, DMAAP and SNDC controller resconf"
+TS_ONELINE_DESCR="Test suite - interface testing. A1PMS REST and SNDC controller resconf"
. ../common/testsuite_common.sh
#!/bin/bash
# ============LICENSE_START===============================================
-# Copyright (C) 2020 Nordix Foundation. All rights reserved.
+# Copyright (C) 2020-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.
# ============LICENSE_END=================================================
#
-TS_ONELINE_DESCR="Test suite - short list of tests on alternative A1PMS endpoint image testing. a1pms REST, DMAAP and SNDC controller resconf"
+TS_ONELINE_DESCR="Test suite - short list of tests on alternative A1PMS endpoint image testing. a1pms RES and SNDC controller resconf"
. ../common/testsuite_common.sh
--- /dev/null
+#!/bin/bash
+################################################################################
+# Copyright (c) 2023 Nordix Foundation. #
+# #
+# 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_ADAPTER_CLASS="" # adapter java class
+A1PMS_ADAPTER_POLICY_NAME="" # policy type for adaper
| --------- | ----------- |
| `<ric-name>` | The name of the ric to translate into a host name (ip) |
-## Function: generate_policy_uuid ##
+## 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.
## License
-Copyright (C) 2020 Nordix Foundation. All rights reserved.
+Copyright (C) 2020-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
#!/bin/bash
# ============LICENSE_START===============================================
-# Copyright (C) 2021 Nordix Foundation. All rights reserved.
+# Copyright (C) 2021-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.
# Function to perpare the consul configuration according to the current simulator configuration
-# args: SDNC|NOSDNC <output-file>
+# args: SDNC|NOSDNC <output-file> [ <sim-group> <adapter-class> ]
# (Function for test scripts)
prepare_a1pms_config() {
- echo -e $BOLD"Prepare Consul config"$EBOLD
+ echo -e $BOLD"Prepare A1PMS config"$EBOLD
echo " Writing consul config for "$A1PMS_APP_NAME" to file: "$2
- if [ $# != 2 ]; then
+ if [ $# != 2 ] && [ $# != 4 ]; then
((RES_CONF_FAIL++))
- __print_err "need two args, SDNC|NOSDNC <output-file>" $@
+ __print_err "need two or four args, SDNC|NOSDNC <output-file> [ <sim-group> <adapter-class> ]" $@
exit 1
fi
config_json=$config_json"\n }"
config_json=$config_json"\n ],"
fi
-
- config_json=$config_json"\n \"streams_publishes\": {"
- config_json=$config_json"\n \"dmaap_publisher\": {"
- config_json=$config_json"\n \"type\": \"message-router\","
- config_json=$config_json"\n \"dmaap_info\": {"
- config_json=$config_json"\n \"topic_url\": \"$MR_SERVICE_PATH$MR_WRITE_URL\""
- config_json=$config_json"\n }"
- config_json=$config_json"\n }"
- config_json=$config_json"\n },"
- config_json=$config_json"\n \"streams_subscribes\": {"
- config_json=$config_json"\n \"dmaap_subscriber\": {"
- config_json=$config_json"\n \"type\": \"message-router\","
- config_json=$config_json"\n \"dmaap_info\": {"
- config_json=$config_json"\n \"topic_url\": \"$MR_SERVICE_PATH$MR_READ_URL\""
- config_json=$config_json"\n }"
- config_json=$config_json"\n }"
- config_json=$config_json"\n },"
+ if [[ "$A1PMS_FEATURE_LEVEL" == *"NO-DMAAP"* ]]; then
+ :
+ else
+ config_json=$config_json"\n \"streams_publishes\": {"
+ config_json=$config_json"\n \"dmaap_publisher\": {"
+ config_json=$config_json"\n \"type\": \"message-router\","
+ config_json=$config_json"\n \"dmaap_info\": {"
+ config_json=$config_json"\n \"topic_url\": \"$MR_SERVICE_PATH$MR_WRITE_URL\""
+ config_json=$config_json"\n }"
+ config_json=$config_json"\n }"
+ config_json=$config_json"\n },"
+ config_json=$config_json"\n \"streams_subscribes\": {"
+ config_json=$config_json"\n \"dmaap_subscriber\": {"
+ config_json=$config_json"\n \"type\": \"message-router\","
+ config_json=$config_json"\n \"dmaap_info\": {"
+ config_json=$config_json"\n \"topic_url\": \"$MR_SERVICE_PATH$MR_READ_URL\""
+ config_json=$config_json"\n }"
+ config_json=$config_json"\n }"
+ config_json=$config_json"\n },"
+ fi
config_json=$config_json"\n \"ric\": ["
fi
done
fi
+ result=$(kubectl $KUBECONF get pods -n $KUBE_A1SIM_NAMESPACE -o jsonpath='{.items[?(@.metadata.labels.autotest=="RICMEDIATORSIM")].metadata.name}')
+ oranrics=""
+ if [ $? -eq 0 ] && [ ! -z "$result" ]; then
+ for im in $result; do
+ if [[ $im != *"-0" ]]; then
+ ric_subdomain=$(kubectl $KUBECONF get pod $im -n $KUBE_A1SIM_NAMESPACE -o jsonpath='{.spec.subdomain}')
+ rics=$rics" "$im"."$ric_subdomain"."$KUBE_A1SIM_NAMESPACE
+ oranrics=$oranrics" "$im"."$ric_subdomain"."$KUBE_A1SIM_NAMESPACE
+ let ric_cntr=ric_cntr+1
+ fi
+ done
+ fi
if [ $ric_cntr -eq 0 ]; then
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 "status=running" --format {{.Names}})
+ 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
+ echo -e $RED" FAIL - the names of the running RIC Simulator cannot be retrieved." $ERED
+ ((RES_CONF_FAIL++))
+ return 1
+ fi
+ rics="$rics $oranrics"
fi
cntr=0
for ric in $rics; do
fi
echo " Found a1 sim: "$ric_id
config_json=$config_json"\n \"name\": \"$ric_id\","
- config_json=$config_json"\n \"baseUrl\": \"$RIC_SIM_HTTPX://$ric:$RIC_SIM_PORT\","
+
+ xricfound=0
+ for xric in $oranrics; do
+ if [ $xric == $ric ]; then
+ xricfound=1
+ fi
+ done
+ if [ $xricfound -eq 0 ]; then
+ config_json=$config_json"\n \"baseUrl\": \"$RIC_SIM_HTTPX://$ric:$RIC_SIM_PORT\","
+ else
+ config_json=$config_json"\n \"baseUrl\": \"$RICMEDIATOR_SIM_HTTPX://$ric:$RICMEDIATOR_SIM_PORT\","
+ fi
+ if [ ! -z "$3" ]; then
+ if [[ $ric == "$3"* ]]; then
+ config_json=$config_json"\n \"customAdapterClass\": \"$4\","
+ fi
+ fi
if [ $1 == "SDNC" ]; then
config_json=$config_json"\n \"controller\": \"$SDNC_APP_NAME\","
fi
#!/bin/bash
# ============LICENSE_START===============================================
-# Copyright (C) 2021 Nordix Foundation. All rights reserved.
+# Copyright (C) 2021-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.
fi
fi
echo " CMD: $3 -skw %{http_code} $proxyflag" >> $HTTPLOG
- res="$($3 -skw %{http_code} $proxyflag)"
+ res=$($3 -skw %{http_code} $proxyflag)
echo " RESP: $res" >> $HTTPLOG
retcode=$?
if [ $retcode -ne 0 ]; then
#!/bin/bash
# ============LICENSE_START===============================================
-# Copyright (C) 2021 Nordix Foundation. All rights reserved.
+# Copyright (C) 2021-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.
echo "Method Endpoint Positive Negative"
cat $SUMMARYFILE | cut -c 4-
+echo "-- end of test report -- "
exit 0
#!/bin/bash
# ============LICENSE_START===============================================
-# Copyright (C) 2020 Nordix Foundation. All rights reserved.
+# Copyright (C) 2020-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.
#Function prefix: ics_api_a1
# API Test function: GET /A1-EI​/v1​/eitypes​/{eiTypeId}​/eijobs
-# args: <response-code> <type-id> <owner-id>|NOOWNER [ EMPTY | <job-id>+ ]
-# args (flat uri structure): <response-code> <type-id>|NOTYPE <owner-id>|NOOWNER [ EMPTY | <job-id>+ ]
+# args: <response-code> <type-id>|NOTYPE <owner-id>|NOOWNER [ EMPTY | <job-id>+ ]
# (Function for test scripts)
ics_api_a1_get_job_ids() {
__log_test_start $@
- if [ -z "$FLAT_A1_EI" ]; then
- # Valid number of parameters 4,5,6 etc
- if [ $# -lt 3 ]; then
- __print_err "<response-code> <type-id> <owner-id>|NOOWNER [ EMPTY | <job-id>+ ]" $@
- return 1
- fi
- else
- echo -e $YELLOW"INTERFACE - FLAT URI STRUCTURE"$EYELLOW
- # Valid number of parameters 4,5,6 etc
- if [ $# -lt 3 ]; then
- __print_err "<response-code> <type-id>|NOTYPE <owner-id>|NOOWNER [ EMPTY | <job-id>+ ]" $@
- return 1
- fi
+ # Valid number of parameters 4,5,6 etc
+ if [ $# -lt 3 ]; then
+ __print_err "<response-code> <type-id>|NOTYPE <owner-id>|NOOWNER [ EMPTY | <job-id>+ ]" $@
+ return 1
fi
search=""
if [ $3 != "NOWNER" ]; then
search="?owner="$3
fi
- if [ -z "$FLAT_A1_EI" ]; then
- query="/A1-EI/v1/eitypes/$2/eijobs$search"
- else
- if [ $2 != "NOTYPE" ]; then
- if [ -z "$search" ]; then
- search="?eiTypeId="$2
- else
- search=$search"&eiTypeId="$2
- fi
+ if [ $2 != "NOTYPE" ]; then
+ if [ -z "$search" ]; then
+ search="?eiTypeId="$2
+ else
+ search=$search"&eiTypeId="$2
fi
- query="/A1-EI/v1/eijobs$search"
fi
+ query="/A1-EI/v1/eijobs$search"
res="$(__do_curl_to_api ICS GET $query)"
status=${res:${#res}-3}
__log_test_fail_general "Schema file "$3", does not exist"
return 1
fi
- if [ -z "$FLAT_A1_EI" ]; then
- targetJson="{\"eiJobParametersSchema\":$schema}"
- else
- targetJson=$schema
- fi
+ targetJson=$schema
echo " TARGET JSON: $targetJson" >> $HTTPLOG
res=$(python3 ../common/compare_json.py "$targetJson" "$body")
}
# API Test function: GET ​/A1-EI​/v1​/eitypes​/{eiTypeId}​/eijobs​/{eiJobId}​/status
-# args: <response-code> <type-id> <job-id> [<status>]
-# args (flat uri structure): <response-code> <job-id> [<status> [<timeout>]]
+# args: <response-code> <job-id> [<status> [<timeout>]]
# (Function for test scripts)
ics_api_a1_get_job_status() {
__log_test_start $@
- if [ -z "$FLAT_A1_EI" ]; then
- if [ $# -ne 3 ] && [ $# -ne 4 ]; then
- __print_err "<response-code> <type-id> <job-id> [<status>]" $@
- return 1
- fi
+ if [ $# -lt 2 ] && [ $# -gt 4 ]; then
+ __print_err "<response-code> <job-id> [<status> [<timeout>]]" $@
+ return 1
+ fi
- query="/A1-EI/v1/eitypes/$2/eijobs/$3/status"
+ query="/A1-EI/v1/eijobs/$2/status"
+ start=$SECONDS
+ for (( ; ; )); do
res="$(__do_curl_to_api ICS GET $query)"
status=${res:${#res}-3}
+ if [ $# -eq 4 ]; then
+ duration=$((SECONDS-start))
+ echo -ne " Response=${status} after ${duration} seconds, waiting for ${3} ${SAMELINE}"
+ if [ $duration -gt $4 ]; then
+ echo ""
+ duration=-1 #Last iteration
+ fi
+ else
+ duration=-1 #single test, no wait
+ fi
+
if [ $status -ne $1 ]; then
- __log_test_fail_status_code $1 $status
- return 1
+ if [ $duration -eq -1 ]; then
+ __log_test_fail_status_code $1 $status
+ return 1
+ fi
fi
- if [ $# -eq 4 ]; then
+ if [ $# -ge 3 ] && [ $status -eq $1 ]; then
body=${res:0:${#res}-3}
- targetJson="{\"operationalState\": \"$4\"}"
+ targetJson="{\"eiJobStatus\": \"$3\"}"
echo " TARGET JSON: $targetJson" >> $HTTPLOG
res=$(python3 ../common/compare_json.py "$targetJson" "$body")
if [ $res -ne 0 ]; then
- __log_test_fail_body
- return 1
- fi
- fi
- else
- echo -e $YELLOW"INTERFACE - FLAT URI STRUCTURE"$EYELLOW
- if [ $# -lt 2 ] && [ $# -gt 4 ]; then
- __print_err "<response-code> <job-id> [<status> [<timeout>]]" $@
- return 1
- fi
-
- query="/A1-EI/v1/eijobs/$2/status"
-
- start=$SECONDS
- for (( ; ; )); do
- res="$(__do_curl_to_api ICS GET $query)"
- status=${res:${#res}-3}
-
- if [ $# -eq 4 ]; then
- duration=$((SECONDS-start))
- echo -ne " Response=${status} after ${duration} seconds, waiting for ${3} ${SAMELINE}"
- if [ $duration -gt $4 ]; then
- echo ""
- duration=-1 #Last iteration
- fi
- else
- duration=-1 #single test, no wait
- fi
-
- if [ $status -ne $1 ]; then
if [ $duration -eq -1 ]; then
- __log_test_fail_status_code $1 $status
+ __log_test_fail_body
return 1
fi
- fi
- if [ $# -ge 3 ] && [ $status -eq $1 ]; then
- body=${res:0:${#res}-3}
- targetJson="{\"eiJobStatus\": \"$3\"}"
- echo " TARGET JSON: $targetJson" >> $HTTPLOG
- res=$(python3 ../common/compare_json.py "$targetJson" "$body")
-
- if [ $res -ne 0 ]; then
- if [ $duration -eq -1 ]; then
- __log_test_fail_body
- return 1
- fi
- else
- duration=-1 #Goto pass
- fi
- fi
- if [ $duration -eq -1 ]; then
- if [ $# -eq 4 ]; then
- echo ""
- fi
- __log_test_pass
- return 0
else
- sleep 1
+ duration=-1 #Goto pass
fi
- done
- fi
+ fi
+ if [ $duration -eq -1 ]; then
+ if [ $# -eq 4 ]; then
+ echo ""
+ fi
+ __log_test_pass
+ return 0
+ else
+ sleep 1
+ fi
+ done
__log_test_pass
return 0
}
# API Test function: GET ​/A1-EI​/v1​/eitypes​/{eiTypeId}​/eijobs​/{eiJobId}
-# args: <response-code> <type-id> <job-id> [<target-url> <owner-id> <template-job-file>]
-# args (flat uri structure): <response-code> <job-id> [<type-id> <target-url> <owner-id> <template-job-file>]
+# args: <response-code> <job-id> [<type-id> <target-url> <owner-id> <template-job-file>]
# (Function for test scripts)
ics_api_a1_get_job() {
__log_test_start $@
- if [ -z "$FLAT_A1_EI" ]; then
- if [ $# -ne 3 ] && [ $# -ne 6 ]; then
- __print_err "<response-code> <type-id> <job-id> [<target-url> <owner-id> <template-job-file>]" $@
- return 1
- fi
- query="/A1-EI/v1/eitypes/$2/eijobs/$3"
- else
- echo -e $YELLOW"INTERFACE - FLAT URI STRUCTURE"$EYELLOW
- if [ $# -ne 2 ] && [ $# -ne 7 ]; then
- __print_err "<response-code> <job-id> [<type-id> <target-url> <owner-id> <notification-url> <template-job-file>]" $@
- return 1
- fi
- query="/A1-EI/v1/eijobs/$2"
+ if [ $# -ne 2 ] && [ $# -ne 7 ]; then
+ __print_err "<response-code> <job-id> [<type-id> <target-url> <owner-id> <notification-url> <template-job-file>]" $@
+ return 1
fi
+ query="/A1-EI/v1/eijobs/$2"
res="$(__do_curl_to_api ICS GET $query)"
status=${res:${#res}-3}
return 1
fi
- if [ -z "$FLAT_A1_EI" ]; then
- if [ $# -eq 6 ]; then
- body=${res:0:${#res}-3}
-
- if [ -f $6 ]; then
- jobfile=$(cat $6)
- jobfile=$(echo "$jobfile" | sed "s/XXXX/$3/g")
- else
- __log_test_fail_general "Job template file "$6", does not exist"
- return 1
- fi
- targetJson="{\"targetUri\": \"$4\",\"jobOwner\": \"$5\",\"jobParameters\": $jobfile}"
- echo " TARGET JSON: $targetJson" >> $HTTPLOG
- res=$(python3 ../common/compare_json.py "$targetJson" "$body")
+ if [ $# -eq 7 ]; then
+ body=${res:0:${#res}-3}
- if [ $res -ne 0 ]; then
- __log_test_fail_body
- return 1
- fi
+ if [ -f $7 ]; then
+ jobfile=$(cat $7)
+ jobfile=$(echo "$jobfile" | sed "s/XXXX/$2/g")
+ else
+ __log_test_fail_general "Job template file "$6", does not exist"
+ return 1
fi
- else
- if [ $# -eq 7 ]; then
- body=${res:0:${#res}-3}
-
- if [ -f $7 ]; then
- jobfile=$(cat $7)
- jobfile=$(echo "$jobfile" | sed "s/XXXX/$2/g")
- else
- __log_test_fail_general "Job template file "$6", does not exist"
- return 1
- fi
- targetJson="{\"eiTypeId\": \"$3\", \"jobResultUri\": \"$4\",\"jobOwner\": \"$5\",\"jobStatusNotificationUri\": \"$6\",\"jobDefinition\": $jobfile}"
- echo " TARGET JSON: $targetJson" >> $HTTPLOG
- res=$(python3 ../common/compare_json.py "$targetJson" "$body")
+ targetJson="{\"eiTypeId\": \"$3\", \"jobResultUri\": \"$4\",\"jobOwner\": \"$5\",\"jobStatusNotificationUri\": \"$6\",\"jobDefinition\": $jobfile}"
+ echo " TARGET JSON: $targetJson" >> $HTTPLOG
+ res=$(python3 ../common/compare_json.py "$targetJson" "$body")
- if [ $res -ne 0 ]; then
- __log_test_fail_body
- return 1
- fi
+ if [ $res -ne 0 ]; then
+ __log_test_fail_body
+ return 1
fi
fi
}
# API Test function: DELETE ​/A1-EI​/v1​/eitypes​/{eiTypeId}​/eijobs​/{eiJobId}
-# args: <response-code> <type-id> <job-id>
-# args (flat uri structure): <response-code> <job-id>
+# args: <response-code> <job-id>
# (Function for test scripts)
ics_api_a1_delete_job() {
__log_test_start $@
- if [ -z "$FLAT_A1_EI" ]; then
- if [ $# -ne 3 ]; then
- __print_err "<response-code> <type-id> <job-id>" $@
- return 1
- fi
-
- query="/A1-EI/v1/eitypes/$2/eijobs/$3"
- else
- echo -e $YELLOW"INTERFACE - FLAT URI STRUCTURE"$EYELLOW
- if [ $# -ne 2 ]; then
- __print_err "<response-code> <job-id>" $@
- return 1
- fi
- query="/A1-EI/v1/eijobs/$2"
+ if [ $# -ne 2 ]; then
+ __print_err "<response-code> <job-id>" $@
+ return 1
fi
+ query="/A1-EI/v1/eijobs/$2"
res="$(__do_curl_to_api ICS DELETE $query)"
status=${res:${#res}-3}
}
# API Test function: PUT ​/A1-EI​/v1​/eitypes​/{eiTypeId}​/eijobs​/{eiJobId}
-# args: <response-code> <type-id> <job-id> <target-url> <owner-id> <template-job-file>
-# args (flat uri structure): <response-code> <job-id> <type-id> <target-url> <owner-id> <notification-url> <template-job-file>
+# args <response-code> <job-id> <type-id> <target-url> <owner-id> <notification-url> <template-job-file>
# (Function for test scripts)
ics_api_a1_put_job() {
__log_test_start $@
- if [ -z "$FLAT_A1_EI" ]; then
- if [ $# -lt 6 ]; then
- __print_err "<response-code> <type-id> <job-id> <target-url> <owner-id> <template-job-file>" $@
- return 1
- fi
- if [ -f $6 ]; then
- jobfile=$(cat $6)
- jobfile=$(echo "$jobfile" | sed "s/XXXX/$3/g")
- else
- __log_test_fail_general "Job template file "$6", does not exist"
- return 1
- fi
-
- inputJson="{\"targetUri\": \"$4\",\"jobOwner\": \"$5\",\"jobParameters\": $jobfile}"
- file="./tmp/.p.json"
- echo "$inputJson" > $file
-
- query="/A1-EI/v1/eitypes/$2/eijobs/$3"
+ if [ $# -lt 7 ]; then
+ __print_err "<response-code> <job-id> <type-id> <target-url> <owner-id> <notification-url> <template-job-file>" $@
+ return 1
+ fi
+ if [ -f $7 ]; then
+ jobfile=$(cat $7)
+ jobfile=$(echo "$jobfile" | sed "s/XXXX/$2/g")
else
- echo -e $YELLOW"INTERFACE - FLAT URI STRUCTURE"$EYELLOW
- if [ $# -lt 7 ]; then
- __print_err "<response-code> <job-id> <type-id> <target-url> <owner-id> <notification-url> <template-job-file>" $@
- return 1
- fi
- if [ -f $7 ]; then
- jobfile=$(cat $7)
- jobfile=$(echo "$jobfile" | sed "s/XXXX/$2/g")
- else
- __log_test_fail_general "Job template file "$7", does not exist"
- return 1
- fi
+ __log_test_fail_general "Job template file "$7", does not exist"
+ return 1
+ fi
- inputJson="{\"eiTypeId\": \"$3\", \"jobResultUri\": \"$4\",\"jobOwner\": \"$5\",\"jobStatusNotificationUri\": \"$6\",\"jobDefinition\": $jobfile}"
- file="./tmp/.p.json"
- echo "$inputJson" > $file
+ inputJson="{\"eiTypeId\": \"$3\", \"jobResultUri\": \"$4\",\"jobOwner\": \"$5\",\"jobStatusNotificationUri\": \"$6\",\"jobDefinition\": $jobfile}"
+ file="./tmp/.p.json"
+ echo "$inputJson" > $file
- query="/A1-EI/v1/eijobs/$2"
- fi
+ query="/A1-EI/v1/eijobs/$2"
res="$(__do_curl_to_api ICS PUT $query $file)"
status=${res:${#res}-3}
__print_err "<response-code> [ EMPTY | <type-id>+]" $@
return 1
fi
- if [[ "$ICS_FEATURE_LEVEL" == *"INFO-TYPES"* ]]; then
- query="/data-producer/v1/info-types"
- else
- query="/ei-producer/v1/eitypes"
- fi
+ query="/data-producer/v1/info-types"
res="$(__do_curl_to_api ICS GET $query)"
status=${res:${#res}-3}
__print_err "<response-code> <producer-id> [<status> [<timeout>]]" $@
return 1
fi
- if [[ "$ICS_FEATURE_LEVEL" == *"INFO-TYPES"* ]]; then
- query="/data-producer/v1/info-producers/$2/status"
- else
- query="/ei-producer/v1/eiproducers/$2/status"
- fi
+ query="/data-producer/v1/info-producers/$2/status"
start=$SECONDS
for (( ; ; )); do
res="$(__do_curl_to_api ICS GET $query)"
__print_err "<response-code> [ ( NOTYPE | <type-id> ) [ EMPTY | <producer-id>+] ]" $@
return 1
fi
- if [[ "$ICS_FEATURE_LEVEL" == *"INFO-TYPES"* ]]; then
- query="/data-producer/v1/info-producers"
- if [ $# -gt 1 ] && [ $2 != "NOTYPE" ]; then
- query=$query"?info_type_id=$2&infoTypeId=$2" #info_type_id changed to infoTypeId in F-release.
- #Remove info_type_id when F-release is no longer supported
- fi
- else
- query="/ei-producer/v1/eiproducers"
- if [ $# -gt 1 ] && [ $2 != "NOTYPE" ]; then
- query=$query"?ei_type_id=$2"
- fi
+ query="/data-producer/v1/info-producers"
+ if [ $# -gt 1 ] && [ $2 != "NOTYPE" ]; then
+ query=$query"?info_type_id=$2&infoTypeId=$2" #info_type_id changed to infoTypeId in F-release.
+ #Remove info_type_id when F-release is no longer supported
fi
res="$(__do_curl_to_api ICS GET $query)"
status=${res:${#res}-3}
if [ $# -eq 3 ]; then
paramError=0
fi
- if [[ "$ICS_FEATURE_LEVEL" == *"INFO-TYPE-INFO"* ]]; then
- if [ $# -eq 4 ]; then
- paramError=0
- fi
+ if [ $# -eq 4 ]; then
+ paramError=0
fi
if [ $paramError -ne 0 ]; then
__print_err "<response-code> <type-id> [<job-schema-file> [ <info-type-info> ]]" $@
return 1
fi
- if [[ "$ICS_FEATURE_LEVEL" == *"INFO-TYPES"* ]]; then
- query="/data-producer/v1/info-types/$2"
- else
- query="/ei-producer/v1/eitypes/$2"
- fi
+ query="/data-producer/v1/info-types/$2"
res="$(__do_curl_to_api ICS GET $query)"
status=${res:${#res}-3}
fi
info_data=",\"info_type_information\":$info_data"
fi
- if [[ "$ICS_FEATURE_LEVEL" == *"INFO-TYPES"* ]]; then
- targetJson="{\"info_job_data_schema\":$schema $info_data}"
- else
- targetJson="{\"ei_job_data_schema\":$schema}"
- fi
+ targetJson="{\"info_job_data_schema\":$schema $info_data}"
echo " TARGET JSON: $targetJson" >> $HTTPLOG
res=$(python3 ../common/compare_json.py "$targetJson" "$body")
ics_api_edp_put_type_2() {
__log_test_start $@
- if [[ "$ICS_FEATURE_LEVEL" == *"INFO-TYPE-INFO"* ]]; then
- if [ $# -lt 3 ] || [ $# -gt 4 ]; then
- __print_err "<response-code> <type-id> <job-schema-file> [ <info-type-info> ]" $@
- return 1
- fi
- else
- if [ $# -ne 3 ]; then
- __print_err "<response-code> <type-id> <job-schema-file>" $@
- return 1
- fi
+ if [ $# -lt 3 ] || [ $# -gt 4 ]; then
+ __print_err "<response-code> <type-id> <job-schema-file> [ <info-type-info> ]" $@
+ return 1
fi
if [ ! -f $3 ]; then
info_data=",\"info_type_information\":$info_data"
fi
- if [[ "$ICS_FEATURE_LEVEL" == *"INFO-TYPES"* ]]; then
- schema=$(cat $3)
- input_json="{\"info_job_data_schema\":$schema $info_data}"
- file="./tmp/put_type.json"
- echo $input_json > $file
+ schema=$(cat $3)
+ input_json="{\"info_job_data_schema\":$schema $info_data}"
+ file="./tmp/put_type.json"
+ echo $input_json > $file
- query="/data-producer/v1/info-types/$2"
- else
- schema=$(cat $3)
- input_json="{\"ei_job_data_schema\":$schema}"
- file="./tmp/put_type.json"
- echo $input_json > $file
-
- query="/ei-producer/v1/eitypes/$2"
- fi
+ query="/data-producer/v1/info-types/$2"
res="$(__do_curl_to_api ICS PUT $query $file)"
status=${res:${#res}-3}
return 1
fi
- if [[ "$ICS_FEATURE_LEVEL" == *"INFO-TYPES"* ]]; then
- query="/data-producer/v1/info-types/$2"
- else
- query="/ei-producer/v1/eitypes/$2"
- fi
+ query="/data-producer/v1/info-types/$2"
res="$(__do_curl_to_api ICS DELETE $query)"
status=${res:${#res}-3}
__print_err "<response-code> <producer-id> [<job-callback> <supervision-callback> (EMPTY | <type-id>+) ]" $@
return 1
fi
- if [[ "$ICS_FEATURE_LEVEL" == *"INFO-TYPES"* ]]; then
- query="/data-producer/v1/info-producers/$2"
- else
- query="/ei-producer/v1/eiproducers/$2"
- fi
+ query="/data-producer/v1/info-producers/$2"
res="$(__do_curl_to_api ICS GET $query)"
status=${res:${#res}-3}
fi
targetJson=$targetJson"]"
if [ $# -gt 4 ]; then
- if [[ "$ICS_FEATURE_LEVEL" == *"INFO-TYPES"* ]]; then
- targetJson="{\"supported_info_types\":$targetJson,\"info_job_callback_url\": \"$3\",\"info_producer_supervision_callback_url\": \"$4\"}"
- else
- targetJson="{\"supported_ei_types\":$targetJson,\"ei_job_callback_url\": \"$3\",\"ei_producer_supervision_callback_url\": \"$4\"}"
- fi
+ targetJson="{\"supported_info_types\":$targetJson,\"info_job_callback_url\": \"$3\",\"info_producer_supervision_callback_url\": \"$4\"}"
fi
echo " TARGET JSON: $targetJson" >> $HTTPLOG
res=$(python3 ../common/compare_json.py "$targetJson" "$body")
__print_err "<response-code> <producer-id>" $@
return 1
fi
- if [[ "$ICS_FEATURE_LEVEL" == *"INFO-TYPES"* ]]; then
- query="/data-producer/v1/info-producers/$2"
- else
- query="/ei-producer/v1/eiproducers/$2"
- fi
+ query="/data-producer/v1/info-producers/$2"
res="$(__do_curl_to_api ICS DELETE $query)"
status=${res:${#res}-3}
inputJson=$inputJson"\""${arr[$i]}"\""
done
fi
- if [[ "$ICS_FEATURE_LEVEL" == *"INFO-TYPES"* ]]; then
- inputJson="\"supported_info_types\":"$inputJson"]"
+ inputJson="\"supported_info_types\":"$inputJson"]"
- inputJson=$inputJson",\"info_job_callback_url\": \"$3\",\"info_producer_supervision_callback_url\": \"$4\""
-
- inputJson="{"$inputJson"}"
-
- file="./tmp/.p.json"
- echo "$inputJson" > $file
- query="/data-producer/v1/info-producers/$2"
- else
- inputJson="\"supported_ei_types\":"$inputJson"]"
+ inputJson=$inputJson",\"info_job_callback_url\": \"$3\",\"info_producer_supervision_callback_url\": \"$4\""
- inputJson=$inputJson",\"ei_job_callback_url\": \"$3\",\"ei_producer_supervision_callback_url\": \"$4\""
-
- inputJson="{"$inputJson"}"
+ inputJson="{"$inputJson"}"
- file="./tmp/.p.json"
- echo "$inputJson" > $file
- query="/ei-producer/v1/eiproducers/$2"
- fi
+ file="./tmp/.p.json"
+ echo "$inputJson" > $file
+ query="/data-producer/v1/info-producers/$2"
res="$(__do_curl_to_api ICS PUT $query $file)"
status=${res:${#res}-3}
__print_err "<response-code> <producer-id> (EMPTY | [<job-id> <type-id> <target-url> <job-owner> <template-job-file>]+)" $@
return 1
fi
- if [[ "$ICS_FEATURE_LEVEL" == *"INFO-TYPES"* ]]; then
- query="/data-producer/v1/info-producers/$2/info-jobs"
- else
- query="/ei-producer/v1/eiproducers/$2/eijobs"
- fi
+ query="/data-producer/v1/info-producers/$2/info-jobs"
res="$(__do_curl_to_api ICS GET $query)"
status=${res:${#res}-3}
if [ $status -ne $1 ]; then
__log_test_fail_general "Job template file "${arr[$i+4]}", does not exist"
return 1
fi
- if [[ "$ICS_FEATURE_LEVEL" == *"INFO-TYPES"* ]]; then
- targetJson=$targetJson"{\"info_job_identity\":\"${arr[$i]}\",\"info_type_identity\":\"${arr[$i+1]}\",\"target_uri\":\"${arr[$i+2]}\",\"owner\":\"${arr[$i+3]}\",\"info_job_data\":$jobfile, \"last_updated\":\"????\"}"
- else
- targetJson=$targetJson"{\"ei_job_identity\":\"${arr[$i]}\",\"ei_type_identity\":\"${arr[$i+1]}\",\"target_uri\":\"${arr[$i+2]}\",\"owner\":\"${arr[$i+3]}\",\"ei_job_data\":$jobfile, \"last_updated\":\"????\"}"
- fi
+ targetJson=$targetJson"{\"info_job_identity\":\"${arr[$i]}\",\"info_type_identity\":\"${arr[$i+1]}\",\"target_uri\":\"${arr[$i+2]}\",\"owner\":\"${arr[$i+3]}\",\"info_job_data\":$jobfile, \"last_updated\":\"????\"}"
+
done
fi
targetJson=$targetJson"]"
ics_api_admin_reset() {
__log_test_start $@
- if [ -z "$FLAT_A1_EI" ]; then
- query="/A1-EI/v1/eitypes/$2/eijobs"
- else
- query="/A1-EI/v1/eijobs"
- fi
+ query="/A1-EI/v1/eijobs"
res="$(__do_curl_to_api ICS GET $query)"
status=${res:${#res}-3}
list=$(echo ${list//\"/})
list=$list" "
for job in $list; do
- if [ -z "$FLAT_A1_EI" ]; then
- echo "Not supported for non-flat EI api"
- else
- query="/A1-EI/v1/eijobs/$job"
- res="$(__do_curl_to_api ICS DELETE $query)"
- status=${res:${#res}-3}
- if [ $status -ne 204 ]; then
- __log_test_fail_status_code $1 $status
- return 1
- fi
- echo " Deleted job: "$job
+ query="/A1-EI/v1/eijobs/$job"
+ res="$(__do_curl_to_api ICS DELETE $query)"
+ status=${res:${#res}-3}
+ if [ $status -ne 204 ]; then
+ __log_test_fail_status_code $1 $status
+ return 1
fi
+ echo " Deleted job: "$job
done
__log_test_pass
#!/bin/bash
# ============LICENSE_START===============================================
-# Copyright (C) 2020 Nordix Foundation. All rights reserved.
+# Copyright (C) 2020-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.
__log_test_fail_general "Template file "$7" for jobdata, does not exist"
return 1
fi
- if [[ "$ICS_FEATURE_LEVEL" == *"INFO-TYPES"* ]]; then
- targetJson="{\"info_job_identity\":\"$3\",\"info_type_identity\":\"$4\",\"target_uri\":\"$5\",\"owner\":\"$6\", \"info_job_data\":$jobfile,\"last_updated\":\"????\"}"
- else
- targetJson="{\"ei_job_identity\":\"$3\",\"ei_type_identity\":\"$4\",\"target_uri\":\"$5\",\"owner\":\"$6\", \"ei_job_data\":$jobfile,\"last_updated\":\"????\"}"
- fi
+ targetJson="{\"ei_job_identity\":\"$3\",\"ei_type_identity\":\"$4\",\"target_uri\":\"$5\",\"owner\":\"$6\", \"ei_job_data\":$jobfile,\"last_updated\":\"????\"}"
+
file="./tmp/.p.json"
echo "$targetJson" > $file
--- /dev/null
+#!/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=================================================
+#
+
+# This is a script that contains container/service management functions and test functions for RICMEDIATORSIM A1 simulators
+
+################ Test engine functions ################
+
+# Create the image var used during the test
+# arg: <image-tag-suffix> (selects staging, snapshot, release etc)
+# <image-tag-suffix> is present only for images with staging, snapshot,release tags
+__RICMEDIATORSIM_imagesetup() {
+ __check_and_create_image_var RICMEDIATORSIM "RICMEDIATOR_SIM_IMAGE" "RICMEDIATOR_SIM_IMAGE_BASE" "RICMEDIATOR_SIM_IMAGE_TAG" REMOTE_RELEASE_ORAN "$RICMEDIATOR_SIM_DISPLAY_NAME"
+ __check_and_create_image_var RICMEDIATORSIM "RICMEDIATOR_SIM_DB_IMAGE" "RICMEDIATOR_SIM_DB_IMAGE_BASE" "RICMEDIATOR_SIM_DB_IMAGE_TAG" REMOTE_RELEASE_ORAN "$RICMEDIATOR_SIM_DB_DISPLAY_NAME"
+}
+
+# Pull image from remote repo or use locally built image
+# arg: <pull-policy-override> <pull-policy-original>
+# <pull-policy-override> Shall be used for images allowing overriding. For example use a local image when test is started to use released images
+# <pull-policy-original> Shall be used for images that does not allow overriding
+# Both var may contain: 'remote', 'remote-remove' or 'local'
+__RICMEDIATORSIM_imagepull() {
+ __check_and_pull_image $1 "$RICMEDIATOR_SIM_DISPLAY_NAME" $RICMEDIATOR_SIM_PREFIX"_"$RICMEDIATOR_SIM_BASE RICMEDIATOR_SIM_IMAGE
+ __check_and_pull_image $1 "$RICMEDIATOR_SIM_DB_DISPLAY_NAME" $RICMEDIATOR_SIM_PREFIX"_"$RICMEDIATOR_SIM_BASE RICMEDIATOR_SIM_DB_IMAGE
+}
+
+# Build image (only for simulator or interfaces stubs owned by the test environment)
+# arg: <image-tag-suffix> (selects staging, snapshot, release etc)
+# <image-tag-suffix> is present only for images with staging, snapshot,release tags
+__RICMEDIATORSIM_imagebuild() {
+ echo -e $RED" Image for app RICMEDIATORSIM shall never be built"$ERED
+}
+
+# Generate a string for each included image using the app display name and a docker images format string
+# If a custom image repo is used then also the source image from the local repo is listed
+# arg: <docker-images-format-string> <file-to-append>
+__RICMEDIATORSIM_image_data() {
+ echo -e "$RICMEDIATOR_SIM_DISPLAY_NAME\t$(docker images --format $1 $RICMEDIATOR_SIM_IMAGE)" >> $2
+ if [ ! -z "$RICMEDIATOR_SIM_IMAGE_SOURCE" ]; then
+ echo -e "-- source image --\t$(docker images --format $1 $RICMEDIATOR_SIM_IMAGE_SOURCE)" >> $2
+ fi
+ echo -e "$RICMEDIATOR_SIM_DB_DISPLAY_NAME\t$(docker images --format $1 $RICMEDIATOR_SIM_DB_IMAGE)" >> $2
+ if [ ! -z "$RICMEDIATOR_SIM_DB_IMAGE_SOURCE" ]; then
+ echo -e "-- source image --\t$(docker images --format $1 $RICMEDIATOR_SIM_DB_IMAGE_SOURCE)" >> $2
+ fi
+}
+
+# Scale kubernetes resources to zero
+# All resources shall be ordered to be scaled to 0, if relevant. If not relevant to scale, then do no action.
+# This function is called for apps fully managed by the test script
+__RICMEDIATORSIM_kube_scale_zero() {
+ __kube_scale_all_resources $KUBE_A1SIM_NAMESPACE autotest RICMEDIATORSIM
+}
+
+# Scale kubernetes resources to zero and wait until this has been accomplished, if relevant. If not relevant to scale, then do no action.
+# This function is called for prestarted apps not managed by the test script.
+__RICMEDIATORSIM_kube_scale_zero_and_wait() {
+ __kube_scale_and_wait_all_resources $KUBE_A1SIM_NAMESPACE app $KUBE_A1SIM_NAMESPACE"-neara1simulator"
+}
+
+# Delete all kube resouces for the app
+# This function is called for apps managed by the test script.
+__RICMEDIATORSIM_kube_delete_all() {
+ __kube_delete_all_resources $KUBE_A1SIM_NAMESPACE autotest RICMEDIATORSIM
+}
+
+# Store docker logs
+# This function is called for apps managed by the test script.
+# args: <log-dir> <file-prexix>
+__RICMEDIATORSIM_store_docker_logs() {
+ if [ $RUNMODE == "KUBE" ]; then
+ for podname in $(kubectl $KUBECONF get pods -n $KUBE_A1SIM_NAMESPACE -l "autotest=RICMEDIATORSIM" -o custom-columns=":metadata.name"); do
+ kubectl $KUBECONF logs -n $KUBE_A1SIM_NAMESPACE $podname --tail=-1 > $1$2_$podname.log 2>&1
+ done
+ else
+
+ RICMEDIATORs=$(docker ps --filter "name=$RICMEDIATOR_SIM_PREFIX" --filter "network=$DOCKER_SIM_NWNAME" --filter "status=running" --filter "label=orana1sim" --format {{.Names}})
+ for ric in $rics; do
+ docker logs $ric > $1$2_$ric.log 2>&1
+ done
+ fi
+}
+
+# Initial setup of protocol, host and ports
+# This function is called for apps managed by the test script.
+# args: -
+__RICMEDIATORSIM_initial_setup() {
+ use_ricmediator_simulator_http
+}
+
+# Set app short-name, app name and namespace for logging runtime statistics of kubernets pods or docker containers
+# For docker, the namespace shall be excluded
+# This function is called for apps managed by the test script as well as for prestarted apps.
+# args: -
+__RICMEDIATORSIM_statisics_setup() {
+ for ((RICMEDIATOR_SIMINSTANCE=10; RICMEDIATOR_SIMINSTANCE>0; RICMEDIATOR_SIMINSTANCE-- )); do
+ if [ $RUNMODE == "KUBE" ]; then
+ RICMEDIATOR_SIMINSTANCE_KUBE=$(($RICMEDIATOR_SIMINSTANCE-1))
+ echo -n " RICMEDIATOR_SIMG1_$RICMEDIATOR_SIMINSTANCE_KUBE ${RICMEDIATOR_SIM_PREFIX}-g1-$RICMEDIATOR_SIMINSTANCE_KUBE $KUBE_A1SIM_NAMESPACE "
+ echo -n " RICMEDIATOR_SIMG2_$RICMEDIATOR_SIMINSTANCE_KUBE ${RICMEDIATOR_SIM_PREFIX}-g2-$RICMEDIATOR_SIMINSTANCE_KUBE $KUBE_A1SIM_NAMESPACE "
+ echo -n " RICMEDIATOR_SIMG3_$RICMEDIATOR_SIMINSTANCE_KUBE ${RICMEDIATOR_SIM_PREFIX}-g3-$RICMEDIATOR_SIMINSTANCE_KUBE $KUBE_A1SIM_NAMESPACE "
+ echo -n " RICMEDIATOR_SIMG4_$RICMEDIATOR_SIMINSTANCE_KUBE ${RICMEDIATOR_SIM_PREFIX}-g4-$RICMEDIATOR_SIMINSTANCE_KUBE $KUBE_A1SIM_NAMESPACE "
+ else
+ if [ $DOCKER_COMPOSE_VERSION == "V1" ]; then
+ echo -n " RICMEDIATOR_SIMG1_$RICMEDIATOR_SIMINSTANCE ${RICMEDIATOR_SIM_PREFIX}_g1_$RICMEDIATOR_SIMINSTANCE "
+ echo -n " RICMEDIATOR_SIMG2_$RICMEDIATOR_SIMINSTANCE ${RICMEDIATOR_SIM_PREFIX}_g2_$RICMEDIATOR_SIMINSTANCE "
+ echo -n " RICMEDIATOR_SIMG3_$RICMEDIATOR_SIMINSTANCE ${RICMEDIATOR_SIM_PREFIX}_g3_$RICMEDIATOR_SIMINSTANCE "
+ echo -n " RICMEDIATOR_SIMG4_$RICMEDIATOR_SIMINSTANCE ${RICMEDIATOR_SIM_PREFIX}_g4_$RICMEDIATOR_SIMINSTANCE "
+ else
+ echo -n " RICMEDIATOR_SIMG1_$RICMEDIATOR_SIMINSTANCE ${RICMEDIATOR_SIM_PREFIX}-g1-$RICMEDIATOR_SIMINSTANCE "
+ echo -n " RICMEDIATOR_SIMG2_$RICMEDIATOR_SIMINSTANCE ${RICMEDIATOR_SIM_PREFIX}-g2-$RICMEDIATOR_SIMINSTANCE "
+ echo -n " RICMEDIATOR_SIMG3_$RICMEDIATOR_SIMINSTANCE ${RICMEDIATOR_SIM_PREFIX}-g3-$RICMEDIATOR_SIMINSTANCE "
+ echo -n " RICMEDIATOR_SIMG4_$RICMEDIATOR_SIMINSTANCE ${RICMEDIATOR_SIM_PREFIX}-g4-$RICMEDIATOR_SIMINSTANCE "
+ fi
+ fi
+ done
+}
+
+# Check application requirements, e.g. helm, the the test needs. Exit 1 if req not satisfied
+# args: -
+__RICMEDIATORSIM_test_requirements() {
+ :
+}
+
+#######################################################
+
+
+RICMEDIATOR_SIM_HTTPX="http"
+RICMEDIATOR_SIM_PORT=$RICMEDIATOR_SIM_INTERNAL_PORT
+
+
+#Vars for container count
+G1_COUNT=0
+G2_COUNT=0
+G3_COUNT=0
+G4_COUNT=0
+G5_COUNT=0
+
+
+###########################
+### RICMEDIATOR Simulator functions
+###########################
+
+use_ricmediator_simulator_http() {
+ echo -e $BOLD"RICMEDIATORSIM protocol setting"$EBOLD
+ echo -e " Using $BOLD http $EBOLD towards the simulators"
+ RICMEDIATOR_SIM_HTTPX="http"
+ RICMEDIATOR_SIM_PORT=$RICMEDIATOR_SIM_INTERNAL_PORT
+ echo ""
+}
+
+use_ricmediator_simulator_https() {
+ __log_test_fail_not_supported
+}
+
+# Start one group (ricsim_g1, ricsim_g2 .. ricsim_g5) with a number of RIC Simulators using a given A interface
+# 'ricsim' may be set on command line to other prefix
+# args: ricsim_g1|ricsim_g2|ricsim_g3|ricsim_g4|ricsim_g5 <count> <interface-id>
+# (Function for test scripts)
+start_ricmediator_simulators() {
+
+ echo -e $BOLD"Starting $RICMEDIATOR_SIM_DISPLAY_NAME"$EBOLD
+
+ if [ $RUNMODE == "KUBE" ]; then
+
+ # Check if app shall be fully managed by the test script
+ __check_included_image "RICMEDIATORSIM"
+ retcode_i=$?
+
+ # Check if app shall only be used by the testscipt
+ __check_prestarted_image "RICMEDIATORSIM"
+ retcode_p=$?
+
+ if [ $retcode_i -ne 0 ] && [ $retcode_p -ne 0 ]; then
+ echo -e $RED"The $1 app is not included as managed nor prestarted in this test script"$ERED
+ echo -e $RED"The $1 will not be started"$ERED
+ exit
+ fi
+ if [ $retcode_i -eq 0 ] && [ $retcode_p -eq 0 ]; then
+ echo -e $RED"The $1 stub app is included both as managed and prestarted in this test script"$ERED
+ echo -e $RED"The $1 will not be started"$ERED
+ exit
+ fi
+
+ if [ $retcode_p -eq 0 ]; then
+ echo -e " Using existing $1 statefulset and service"
+ echo " Using existing simulator deployment and service for statefulset $1"
+ echo " Setting $1 replicas=$2"
+ __kube_scale statefulset $1 $KUBE_A1SIM_NAMESPACE $2
+ echo ""
+ return
+ fi
+ fi
+
+ RICMEDIATOR1=$RICMEDIATOR_SIM_PREFIX"_g1"
+ RICMEDIATOR2=$RICMEDIATOR_SIM_PREFIX"_g2"
+ RICMEDIATOR3=$RICMEDIATOR_SIM_PREFIX"_g3"
+ RICMEDIATOR4=$RICMEDIATOR_SIM_PREFIX"_g4"
+ RICMEDIATOR5=$RICMEDIATOR_SIM_PREFIX"_g5"
+
+ if [ $# != 3 ]; then
+ ((RES_CONF_FAIL++))
+ __print_err "need three args, $RICMEDIATOR1|$RICMEDIATOR2|$RICMEDIATOR3|$RICMEDIATOR4|$RICMEDIATOR5 <count> <interface-id>" $@
+ exit 1
+ fi
+
+ echo " $2 simulators using basename: $1 on interface: $3"
+ #Set env var for simulator count and A1 interface vesion for the given group
+ if [ $1 == "$RICMEDIATOR1" ]; then
+ G1_COUNT=$2
+ elif [ $1 == "$RICMEDIATOR2" ]; then
+ G2_COUNT=$2
+ elif [ $1 == "$RICMEDIATOR3" ]; then
+ G3_COUNT=$2
+ elif [ $1 == "$RICMEDIATOR4" ]; then
+ G4_COUNT=$2
+ elif [ $1 == "$RICMEDIATOR5" ]; then
+ G5_COUNT=$2
+ else
+ ((RES_CONF_FAIL++))
+ __print_err "need three args, $RICMEDIATOR1|$RICMEDIATOR2|$RICMEDIATOR3|$RICMEDIATOR4|$RICMEDIATOR5 <count> <interface-id>" $@
+ exit 1
+ fi
+
+ if [ $RUNMODE == "KUBE" ]; then
+
+ if [ $retcode_i -eq 0 ]; then
+
+ #export needed env var for statefulset
+ export RICMEDIATOR_SIM_SET_NAME=$(echo "$1" | tr '_' '-') #kube does not accept underscore in names
+ export KUBE_A1SIM_NAMESPACE
+ export RICMEDIATOR_SIM_IMAGE
+ export RICMEDIATOR_SIM_DB_IMAGE
+ #Adding 1 more instance, instance 0 is never used. This is done to keep test scripts compatible
+ # with docker that starts instance index on 1.....
+ export RICMEDIATOR_SIM_COUNT=$(($2+1))
+ export A1_VERSION=$3
+ export RICMEDIATOR_SIM_INTERNAL_PORT
+ export RICMEDIATOR_SIM_INTERNAL_SECURE_PORT
+
+ echo -e " Creating $RICMEDIATOR_SIM_PREFIX app and expose service"
+
+ #Check if nonrtric namespace exists, if not create it
+ __kube_create_namespace $KUBE_A1SIM_NAMESPACE
+
+ # Create service
+ input_yaml=$SIM_GROUP"/"$RICMEDIATOR_SIM_COMPOSE_DIR"/"svc.yaml
+ output_yaml=$PWD/tmp/ric_${1}_svc.yaml
+ __kube_create_instance service $RICMEDIATOR_SIM_SET_NAME $input_yaml $output_yaml
+
+ # Create app
+ input_yaml=$SIM_GROUP"/"$RICMEDIATOR_SIM_COMPOSE_DIR"/"app.yaml
+ output_yaml=$PWD/tmp/ric_${1}_app.yaml
+ __kube_create_instance app $RICMEDIATOR_SIM_SET_NAME $input_yaml $output_yaml
+
+ #Using only instance from index 1 to keep compatability with docker
+ for (( count=1; count<${RICMEDIATOR_SIM_COUNT}; count++ )); do
+ host=$(__find_ricmediatorsim_host $RICMEDIATOR_SIM_SET_NAME"-"$count)
+ __check_service_start $RICMEDIATOR_SIM_SET_NAME"-"$count $host$RICMEDIATOR_SIM_ALIVE_URL
+ done
+ fi
+ else
+ __check_included_image 'RICMEDIATORSIM'
+ if [ $? -eq 1 ]; then
+ echo -e $RED"The Near-RT RICMEDIATOR Simulator app is not included as managed in this test script"$ERED
+ echo -e $RED"Near-RT RICMEDIATOR Simulator will not be started"$ERED
+ exit 1
+ fi
+
+ # Create .env file to compose project, all ric container will get this prefix
+ echo "COMPOSE_PROJECT_NAME="$RICMEDIATOR_SIM_PREFIX > $SIM_GROUP/$RICMEDIATOR_SIM_COMPOSE_DIR/.env
+
+ #extract service name (group), g1, g2, g3, g4 or g5 from var $1
+ #E.g. ricsim_g1 -> g1 is the service name
+ TMP_GRP=$1
+ RICMEDIATOR_SIMCOMPOSE_SERVICE_NAME=$(echo "${TMP_GRP##*_}")
+
+ export RICMEDIATOR_SIMCOMPOSE_A1_VERSION=$3
+ export RICMEDIATOR_SIMCOMPOSE_SERVICE_NAME
+ export RICMEDIATOR_SIM_INTERNAL_PORT
+ export RICMEDIATOR_SIM_INTERNAL_SECURE_PORT
+ export RICMEDIATOR_SIM_CERT_MOUNT_DIR
+ export DOCKER_SIM_NWNAME
+ export RICMEDIATOR_SIM_DISPLAY_NAME
+
+ docker_args=" --scale $RICMEDIATOR_SIMCOMPOSE_SERVICE_NAME=$2"
+
+ #Create a list of contsiner names
+ #Will be <ricsim-prefix>_<service-name>_<index>
+ # or
+ # <ricsim-prefix>-<service-name>-<index>
+ app_data=""
+ cntr=1
+ if [ $DOCKER_COMPOSE_VERSION == "V1" ]; then
+ app_name_prefix=$RICMEDIATOR_SIM_PREFIX"_"$RICMEDIATOR_SIMCOMPOSE_SERVICE_NAME"_"
+ else
+ app_name_prefix=$RICMEDIATOR_SIM_PREFIX"-"$RICMEDIATOR_SIMCOMPOSE_SERVICE_NAME"-"
+ fi
+ while [ $cntr -le $2 ]; do
+ app=$app_name_prefix$cntr
+ app_data="$app_data $app"
+ let cntr=cntr+1
+ done
+
+ __start_container $RICMEDIATOR_SIM_COMPOSE_DIR "" "$docker_args" $2 $app_data
+
+ cntr=1
+ while [ $cntr -le $2 ]; do
+ if [ $DOCKER_COMPOSE_VERSION == "V1" ]; then
+ app=$RICMEDIATOR_SIM_PREFIX"_"$RICMEDIATOR_SIMCOMPOSE_SERVICE_NAME"_"$cntr
+ else
+ app=$RICMEDIATOR_SIM_PREFIX"-"$RICMEDIATOR_SIMCOMPOSE_SERVICE_NAME"-"$cntr
+ fi
+ __check_service_start $app $RICMEDIATOR_SIM_HTTPX"://"$app:$RICMEDIATOR_SIM_PORT$RICMEDIATOR_SIM_ALIVE_URL
+ let cntr=cntr+1
+ done
+
+ fi
+ echo ""
+ return 0
+}
+
+# Translate ric name to kube host name
+# args: <ric-name>
+# For test scripts
+get_kube_ricmediatorsim_host() {
+ name=$(echo "$1" | tr '_' '-') #kube does not accept underscore in names
+ #example gnb_1_2 -> gnb-1-2
+ set_name=$(echo $name | rev | cut -d- -f2- | rev) # Cut index part of ric name to get the name of statefulset
+ # example gnb-g1-2 -> gnb-g1 where gnb-g1-2 is the ric name and gnb-g1 is the set name
+ echo $name"."$set_name"."$KUBE_A1SIM_NAMESPACE
+}
+
+# Helper function to get a the port and host name of a specific ric simulator
+# args: <ric-id>
+# (Not for test scripts)
+__find_ricmediatorsim_host() {
+ if [ $RUNMODE == "KUBE" ]; then
+ ricname=$(echo "$1" | tr '_' '-') # Kube does not accept underscore in names as docker do
+ if [ -z "$RICMEDIATOR_SIM_COMMON_SVC_NAME" ]; then
+ ric_setname="${ricname%-*}" #Extract the stateful set name
+ else
+ ric_setname=$RICMEDIATOR_SIM_COMMON_SVC_NAME # Use the common svc name in the host name of the sims
+ fi
+ echo $RICMEDIATOR_SIM_HTTPX"://"$ricname.$ric_setname.$KUBE_A1SIM_NAMESPACE":"$RICMEDIATOR_SIM_PORT
+ else
+ if [ $DOCKER_COMPOSE_VERSION == "V1" ]; then
+ echo $RICMEDIATOR_SIM_HTTPX"://"$1":"$RICMEDIATOR_SIM_PORT
+ else
+ ricname=$(echo "$1" | tr '_' '-')
+ echo $RICMEDIATOR_SIM_HTTPX"://"$ricname":"$RICMEDIATOR_SIM_PORT
+ fi
+
+ fi
+}
+
+# Generate a UUID to use as prefix for policy ids
+nearsim_generate_policy_uuid() {
+ UUID=$(python3 -c 'import sys,uuid; sys.stdout.write(uuid.uuid4().hex)')
+ #Reduce length to make space for serial id, uses 'a' as marker where the serial id is added
+ UUID=${UUID:0:${#UUID}-4}"a"
+}
+
+# Excute a curl cmd towards a ricsimulator and check the response code.
+# args: <expected-response-code> <curl-cmd-string>
+__execute_curl_to_ricmediatorsim() {
+ echo ${FUNCNAME[1]} "line: "${BASH_LINENO[1]} >> $HTTPLOG
+ proxyflag=""
+ if [ ! -z "$KUBE_PROXY_PATH" ]; then
+ if [ $KUBE_PROXY_HTTPX == "http" ]; then
+ proxyflag=" --proxy $KUBE_PROXY_PATH"
+ else
+ proxyflag=" --proxy-insecure --proxy $KUBE_PROXY_PATH"
+ fi
+ fi
+ if [ -z "$KUBE_PROXY_CURL_JWT" ]; then
+ echo " CMD: $2 $proxyflag" >> $HTTPLOG
+ res="$($2 $proxyflag)"
+ else
+ echo " CMD: $2 $proxyflag -H Authorization: Bearer $KUBE_PROXY_CURL_JWT" >> $HTTPLOG
+ res=$($2 $proxyflag -H 'Authorization: Bearer '$KUBE_PROXY_CURL_JWT)
+ fi
+
+ echo " RESP: $res" >> $HTTPLOG
+ retcode=$?
+ if [ $retcode -ne 0 ]; then
+ ((RES_CONF_FAIL++))
+ echo " RETCODE: "$retcode
+ echo -e $RED" FAIL - fatal error when executing curl."$ERED
+ return 1
+ fi
+ status=${res:${#res}-3}
+ if [ $status -eq $1 ]; then
+ echo -e $GREEN" OK"$EGREEN
+ return 0
+ fi
+ echo -e $RED" FAIL - expected http response: "$1" but got http response: "$status $ERED
+ ((RES_CONF_FAIL++))
+ return 1
+}
+
+# Tests if a variable value in the ricsimulator is equal to a target value and and optional timeout.
+# Arg: <ric-id> <variable-name> <target-value> - This test set pass or fail depending on if the variable is
+# equal to the target or not.
+# Arg: <ric-id> <variable-name> <target-value> <timeout-in-sec> - This 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.
+# (Function for test scripts)
+ricmediatorsim_equal() {
+ __log_test_fail_not_supported
+ # if [ $# -eq 3 ] || [ $# -eq 4 ]; then
+ # host=$(__find_ricmediatorsim_host $1)
+ # __var_test $1 "$host/counter/" $2 "=" $3 $4
+ # return 0
+ # else
+ # __print_err "needs three or four args: <ric-id> <sim-param> <target-value> [ timeout ]"
+ # return 1
+ # fi
+}
+
+# Print a variable value from the RICMEDIATOR sim.
+# args: <ric-id> <variable-name>
+# (Function for test scripts)
+ricmediatorsim_print() {
+ __log_test_info_not_supported
+ # if [ $# != 2 ]; then
+ # __print_err "need two args, <ric-id> <sim-param>" $@
+ # exit 1
+ # fi
+ # host=$(__find_ricmediatorsim_host $1)
+ # echo -e $BOLD"INFO(${BASH_LINENO[0]}): $1, $2 = $(__do_curl $host/counter/$2)"$EBOLD
+}
+
+# Tests if a variable value in the RICMEDIATOR simulator contains the target string and and optional timeout
+# Arg: <ric-id> <variable-name> <target-value> - This test set pass or fail depending on if the variable contains
+# the target or not.
+# Arg: <ric-id> <variable-name> <target-value> <timeout-in-sec> - This test waits up to the timeout seconds
+# before setting pass or fail depending on if the variable value contains the target
+# value or not.
+# (Function for test scripts)
+ricmediatorsim_contains_str() {
+ __log_test_fail_not_supported
+ # if [ $# -eq 3 ] || [ $# -eq 4 ]; then
+ # host=$(__find_ricmediatorsim_host $1)
+ # __var_test $1 "$host/counter/" $2 "contain_str" $3 $4
+ # return 0
+ # else
+ # __print_err "needs three or four args: <ric-id> <sim-param> <target-value> [ timeout ]"
+ # return 1
+ # fi
+}
+
+# Simulator API: Put a policy type in a ric
+# args: <response-code> <ric-id> <policy-type-id> <policy-type-file>
+# (Function for test scripts)
+ricmediatorsim_put_policy_type() {
+ __log_conf_start $@
+ if [ $# -ne 4 ]; then
+ __print_err "<response-code> <ric-id> <policy-type-id> <policy-type-file>" $@
+ return 1
+ fi
+ host=$(__find_ricmediatorsim_host $2)
+ curlString="curl -X PUT -skw %{http_code} "$host"/a1-p/policytypes/"$3" -H Content-Type:application/json --data-binary @"$4
+ __execute_curl_to_ricmediatorsim $1 "$curlString"
+ return $?
+}
+
+# Simulator API: Delete a policy type in a ric
+# <response-code> <ric-id> <policy-type-id>
+# (Function for test scripts)
+ricmediatorsim_delete_policy_type() {
+ __log_conf_start $@
+ if [ $# -ne 3 ]; then
+ __print_err "<response-code> <ric-id> <policy_type_id>" $@
+ return 1
+ fi
+ host=$(__find_ricmediatorsim_host $2)
+ curlString="curl -X DELETE -skw %{http_code} "$host"/a1-p/policytypes/"$3
+ __execute_curl_to_ricmediatorsim $1 "$curlString"
+ return $?
+}
+
+# Simulator API: Delete instances (and status), for one ric
+# <response-code> <ric-id>
+# (Function for test scripts)
+ricmediatorsim_post_delete_instances() {
+ __log_test_fail_not_supported
+ # __log_conf_start $@
+ # if [ $# -ne 2 ]; then
+ # __print_err "<response-code> <ric-id>" $@
+ # return 1
+ # fi
+ # host=$(__find_ricmediatorsim_host $2)
+ # curlString="curl -X POST -skw %{http_code} "$host"/deleteinstances"
+ # __execute_curl_to_ricmediatorsim $1 "$curlString"
+ # return $?
+}
+
+# Simulator API: Delete all (instances/types/statuses/settings), for one ric
+# <response-code> <ric-id>
+# (Function for test scripts)
+ricmediatorsim_post_delete_all() {
+ __log_test_fail_not_supported
+ # __log_conf_start $@
+ # if [ $# -ne 2 ]; then
+ # __print_err "<response-code> <numericic-id>" $@
+ # return 1
+ # fi
+ # host=$(__find_ricmediatorsim_host $2)
+ # curlString="curl -X POST -skw %{http_code} "$host"/deleteall"
+ # __execute_curl_to_ricmediatorsim $1 "$curlString"
+ # return $?
+}
+
+# Simulator API: Set (or reset) response code for next A1 message, for one ric
+# <response-code> <ric-id> [<forced_response_code>]
+# (Function for test scripts)
+ricmediatorsim_post_forcedresponse() {
+ __log_test_fail_not_supported
+ # __log_conf_start $@
+ # if [ $# -ne 3 ]; then
+ # __print_err "<response-code> <ric-id> <forced_response_code>" $@
+ # return 1
+ # fi
+ # host=$(__find_ricmediatorsim_host $2)
+ # curlString="curl -X POST -skw %{http_code} "$host"/forceresponse"
+ # if [ $# -eq 3 ]; then
+ # curlString=$curlString"?code="$3
+ # fi
+ # __execute_curl_to_ricmediatorsim $1 "$curlString"
+ # return $?
+}
+
+# Simulator API: Set (or reset) A1 response delay, for one ric
+# <response-code> <ric-id> [<delay-in-seconds>]
+# (Function for test scripts)
+ricmediatorsim_post_forcedelay() {
+ __log_test_fail_not_supported
+ # __log_conf_start $@
+ # if [ $# -ne 3 ]; then
+ # __print_err "<response-code> <ric-id> [<delay-in-seconds>]" $@
+ # return 1
+ # fi
+ # host=$(__find_ricmediatorsim_host $2)
+ # curlString="curl -X POST -skw %{http_code} $host/forcedelay"
+ # if [ $# -eq 3 ]; then
+ # curlString=$curlString"?delay="$3
+ # fi
+ # __execute_curl_to_ricmediatorsim $1 "$curlString"
+ # return $?
+}
\ No newline at end of file
#!/bin/bash
# ============LICENSE_START===============================================
-# Copyright (C) 2020 Nordix Foundation. All rights reserved.
+# Copyright (C) 2020-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.
done
else
- rics=$(docker ps --filter "name=$RIC_SIM_PREFIX" --filter "network=$DOCKER_SIM_NWNAME" --filter "status=running" --format {{.Names}})
+ rics=$(docker ps --filter "name=$RIC_SIM_PREFIX" --filter "network=$DOCKER_SIM_NWNAME" --filter "status=running" --filter "label=a1sim" --format {{.Names}})
for ric in $rics; do
docker logs $ric > $1$2_$ric.log 2>&1
done
export DOCKER_SIM_NWNAME
export RIC_SIM_DISPLAY_NAME
- docker_args=" --scale $RICSIM_COMPOSE_SERVICE_NAME=$2"
+ echo -e $BOLD$YELLOW" Warning: Using docker compose --force-recreate "$EYELLOW$EBOLD
+ docker_args="--force-recreate --scale $RICSIM_COMPOSE_SERVICE_NAME=$2"
#Create a list of contsiner names
#Will be <ricsim-prefix>_<service-name>_<index>
}
# Generate a UUID to use as prefix for policy ids
-generate_policy_uuid() {
+sim_generate_policy_uuid() {
UUID=$(python3 -c 'import sys,uuid; sys.stdout.write(uuid.uuid4().hex)')
#Reduce length to make space for serial id, uses 'a' as marker where the serial id is added
UUID=${UUID:0:${#UUID}-4}"a"
#!/bin/bash
# ============LICENSE_START===============================================
-# Copyright (C) 2020 Nordix Foundation. All rights reserved.
+# Copyright (C) 2020-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.
__log_test_pass
return 0
-}
\ No newline at end of file
+}
+
+# Wait for http status on url
+# args: <response-code> <ric-id>
+# (Function for test scripts)
+controller_api_wait_for_status_ok() {
+ __log_conf_start $@
+
+ if [ $# -ne 2 ]; then
+ __print_err "<response-code> <ric-id> " $@
+ return 1
+ fi
+ ric_id=$(__find_sim_host $2)
+ url="$ric_id/"
+
+ TS_START=$SECONDS
+ while [ $(($TS_START+500)) -gt $SECONDS ]; do
+ echo -ne " Waiting for http status $1 on $url via sdnc, waited: $(($SECONDS-$TS_START))"$SAMELINE
+ res=$(__do_curl_to_controller getA1Policy "$url")
+ retcode=$?
+ status=${res:${#res}-3}
+ if [ $retcode -eq 0 ]; then
+ if [ $status -eq $1 ]; then
+ echo ""
+ __log_conf_ok
+ return 0
+ fi
+ fi
+ sleep 5
+ done
+ echo ""
+ __log_conf_fail_general
+ return 1
+}
#!/bin/bash
# ============LICENSE_START===============================================
-# Copyright (C) 2021 Nordix Foundation. All rights reserved.
+# Copyright (C) 2021-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.
ICS_COMPOSE_DIR="ics" # Dir in simulator_group for docker-compose
ICS_CONFIG_MOUNT_PATH=/opt/app/information-coordinator-service/config # Internal container path for configuration
ICS_CONFIG_FILE=application.yaml # Config file name
-ICS_VERSION="V1-2" # Version where the types are added in the producer registration
-ICS_FEATURE_LEVEL="INFO-TYPES" # Space separated list of features
+ICS_FEATURE_LEVEL="" # Space separated list of features
MR_DMAAP_APP_NAME="message-router" # Name for the Dmaap MR
MR_STUB_APP_NAME="mr-stub" # Name of the MR stub
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"
#!/bin/bash
# ============LICENSE_START===============================================
-# Copyright (C) 2021 Nordix Foundation. All rights reserved.
+# Copyright (C) 2021-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.
ICS_COMPOSE_DIR="ics" # Dir in simulator_group for docker-compose
ICS_CONFIG_MOUNT_PATH=/opt/app/information-coordinator-service/config # Internal container path for configuration
ICS_CONFIG_FILE=application.yaml # Config file name
-ICS_VERSION="V1-2" # Version where the types are added in the producer registration
-ICS_FEATURE_LEVEL="INFO-TYPES" # Space separated list of features
+ICS_FEATURE_LEVEL="" # Space separated list of features
MR_DMAAP_APP_NAME="message-router" # Name for the Dmaap MR
MR_STUB_APP_NAME="mr-stub" # Name of the MR stub
#!/bin/bash
# ============LICENSE_START===============================================
-# Copyright (C) 2021 Nordix Foundation. All rights reserved.
+# 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.
# SDNC A1 Controller remote image and tag
SDNC_A1_CONTROLLER_IMAGE_BASE="onap/sdnc-image"
-SDNC_A1_CONTROLLER_IMAGE_TAG_LOCAL="2.5.0-SNAPSHOT" ###CHECK THIS
-SDNC_A1_CONTROLLER_IMAGE_TAG_REMOTE_SNAPSHOT="2.5.0-STAGING-latest"
-SDNC_A1_CONTROLLER_IMAGE_TAG_REMOTE="2.5.0-STAGING-latest" #Will use snapshot repo
-SDNC_A1_CONTROLLER_IMAGE_TAG_REMOTE_RELEASE="2.5.0"
-
-# SDNC A1 Controller remote image and tag
-SDNC_A1_CONTROLLER_IMAGE_BASE="onap/sdnc-image"
-SDNC_A1_CONTROLLER_IMAGE_TAG_LOCAL="2.4.2-SNAPSHOT" ###CHECK THIS
-SDNC_A1_CONTROLLER_IMAGE_TAG_REMOTE_SNAPSHOT="2.4.2-STAGING-latest"
-SDNC_A1_CONTROLLER_IMAGE_TAG_REMOTE="2.4.2-STAGING-latest" #Will use snapshot repo
-SDNC_A1_CONTROLLER_IMAGE_TAG_REMOTE_RELEASE="2.4.1"
+SDNC_A1_CONTROLLER_IMAGE_TAG_LOCAL="2.5.1-SNAPSHOT" ###CHECK THIS
+SDNC_A1_CONTROLLER_IMAGE_TAG_REMOTE_SNAPSHOT="2.5.1-STAGING-latest"
+SDNC_A1_CONTROLLER_IMAGE_TAG_REMOTE="2.5.1-STAGING-latest" #Will use snapshot repo
+SDNC_A1_CONTROLLER_IMAGE_TAG_REMOTE_RELEASE="2.5.1"
#SDNC DB remote image and tag
#The DB is part of SDNC so handled in the same way as SDNC
SDNC_DB_IMAGE_BASE="mariadb"
SDNC_DB_IMAGE_TAG_REMOTE_PROXY="10.5"
-# ICS image and tag - using f release
+# ICS image and tag - using g release
ICS_IMAGE_BASE="o-ran-sc/nonrtric-plt-informationcoordinatorservice"
-ICS_IMAGE_TAG_REMOTE_RELEASE_ORAN="1.3.1"
+ICS_IMAGE_TAG_REMOTE_RELEASE_ORAN="1.4.1"
#Note: Update var ICS_FEATURE_LEVEL if image version is changed
-# Control Panel image and tag - using f release
+# Control Panel image and tag - using g release
CONTROL_PANEL_IMAGE_BASE="o-ran-sc/nonrtric-controlpanel"
-CONTROL_PANEL_IMAGE_TAG_REMOTE_RELEASE_ORAN="2.3.0"
+CONTROL_PANEL_IMAGE_TAG_REMOTE_RELEASE_ORAN="2.4.0"
-# Gateway image and tags - used f release
+# Gateway image and tags - used g release
NRT_GATEWAY_IMAGE_BASE="o-ran-sc/nonrtric-gateway"
NRT_GATEWAY_IMAGE_TAG_REMOTE_RELEASE_ORAN="1.0.0"
-# RAPP Catalogue image and tags - used f release
+# RAPP Catalogue image and tags - used g release
RAPP_CAT_IMAGE_BASE="o-ran-sc/nonrtric-plt-rappcatalogue"
RAPP_CAT_IMAGE_TAG_REMOTE_RELEASE_ORAN="1.1.0"
-# Near RT RIC Simulator image and tags - used f release
+# Near RT RIC Simulator image and tags - used g release
RIC_SIM_IMAGE_BASE="o-ran-sc/a1-simulator"
-RIC_SIM_IMAGE_TAG_REMOTE_RELEASE_ORAN="2.3.1"
+RIC_SIM_IMAGE_TAG_REMOTE_RELEASE_ORAN="2.4.0"
#MR stub image and tag
MRSTUB_IMAGE_BASE="mrstub"
A1PMS_CONFIG_FILE="application.yaml" # Container config file name
A1PMS_DATA_FILE="application_configuration.json" # Container data file name
A1PMS_CONTAINER_MNT_DIR="/var/policy-management-service" # Mounted dir in the container
-A1PMS_FEATURE_LEVEL="" # Space separated list of features
-#Preparation for DMAAP removal
-#A1PMS_FEATURE_LEVEL="NO-DMAAP" # Space separated list of features
+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
ICS_APP_NAME="informationservice" # Name for ICS container
ICS_DISPLAY_NAME="Enrichment Coordinator Service" # Display name for ICS container
ICS_COMPOSE_DIR="ics" # Dir in simulator_group for docker-compose
ICS_CONFIG_MOUNT_PATH=/opt/app/information-coordinator-service/config # Internal container path for configuration
ICS_CONFIG_FILE=application.yaml # Config file name
-ICS_VERSION="V1-2" # Version where the types are added in the producer registration
-ICS_FEATURE_LEVEL="INFO-TYPES" # Space separated list of features
+ICS_FEATURE_LEVEL="" # Space separated list of features
MR_DMAAP_APP_NAME="message-router" # Name for the Dmaap MR
MR_STUB_APP_NAME="mr-stub" # Name of the MR stub
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"
SDNC_KARAF_LOG="/opt/opendaylight/data/log/karaf.log" # Path to karaf log
SDNC_RESPONSE_JSON_KEY="A1-ADAPTER-API:output" # Key name for output json in replies from sdnc (for upgraded sdnc)
#SDNC_RESPONSE_JSON_KEY="output" # Key name for output json in replies from sdnc
-SDNC_FEATURE_LEVEL="TRANS_RESP_CODE" # Space separated list of features
+SDNC_FEATURE_LEVEL="TRANS_RESP_CODE NO_NB_HTTPS" # Space separated list of features
# TRANS_RESP_CODE: SDNC return southbound response code
RAPP_CAT_APP_NAME="rappcatalogueservice" # Name for the RAPP Catalogue
#!/bin/bash
# ============LICENSE_START===============================================
-# Copyright (C) 2020 Nordix Foundation. All rights reserved.
+# Copyright (C) 2020-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.
ICS_COMPOSE_DIR="ics" # Dir in simulator_group for docker-compose
ICS_CONFIG_MOUNT_PATH=/opt/app/information-coordinator-service/config # Internal container path for configuration
ICS_CONFIG_FILE=application.yaml # Config file name
-ICS_VERSION="V1-2" # Version where the types are decoupled from the producer registration
-ICS_FEATURE_LEVEL="INFO-TYPES TYPE-SUBSCRIPTIONS INFO-TYPE-INFO RESP_CODE_CHANGE_1 DEFAULT_TYPE_VALIDATION" # Space separated list of features
+ICS_FEATURE_LEVEL="TYPE-SUBSCRIPTIONS INFO-TYPE-INFO RESP_CODE_CHANGE_1 DEFAULT_TYPE_VALIDATION" # Space separated list of features
MR_DMAAP_APP_NAME="message-router" # Name for the Dmaap MR
MR_STUB_APP_NAME="mr-stub" # Name of the MR stub
#!/bin/bash
# ============LICENSE_START===============================================
-# Copyright (C) 2020 Nordix Foundation. All rights reserved.
+# Copyright (C) 2020-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.
ICS_COMPOSE_DIR="ics" # Dir in simulator_group for docker-compose
ICS_CONFIG_MOUNT_PATH=/opt/app/information-coordinator-service/config # Internal container path for configuration
ICS_CONFIG_FILE=application.yaml # Config file name
-ICS_VERSION="V1-2" # Version where the types are decoupled from the producer registration
-ICS_FEATURE_LEVEL="INFO-TYPES TYPE-SUBSCRIPTIONS INFO-TYPE-INFO RESP_CODE_CHANGE_1 DEFAULT_TYPE_VALIDATION" # Space separated list of features
+ICS_FEATURE_LEVEL="TYPE-SUBSCRIPTIONS INFO-TYPE-INFO RESP_CODE_CHANGE_1 DEFAULT_TYPE_VALIDATION" # Space separated list of features
MR_DMAAP_APP_NAME="message-router" # Name for the Dmaap MR
MR_STUB_APP_NAME="mr-stub" # Name of the MR stub
#!/bin/bash
# ============LICENSE_START===============================================
-# Copyright (C) 2020 Nordix Foundation. All rights reserved.
+# Copyright (C) 2020-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.
# limitations under the License.
# ============LICENSE_END=================================================
#
-#Profile for ORAN Cherry
+#Profile for ORAN H release
TEST_ENV_PROFILE="ORAN-H-RELEASE"
FLAVOUR="ORAN"
# Gateway image and tags
NRT_GATEWAY_IMAGE_BASE="o-ran-sc/nonrtric-gateway"
-NRT_GATEWAY_IMAGE_TAG_LOCAL="1.1.0-SNAPSHOT"
-NRT_GATEWAY_IMAGE_TAG_REMOTE_SNAPSHOT="1.1.0-SNAPSHOT"
-NRT_GATEWAY_IMAGE_TAG_REMOTE="1.1.0"
-NRT_GATEWAY_IMAGE_TAG_REMOTE_RELEASE="1.0.0"
+NRT_GATEWAY_IMAGE_TAG_LOCAL="1.2.0-SNAPSHOT"
+NRT_GATEWAY_IMAGE_TAG_REMOTE_SNAPSHOT="1.2.0-SNAPSHOT"
+NRT_GATEWAY_IMAGE_TAG_REMOTE="1.2.0"
+NRT_GATEWAY_IMAGE_TAG_REMOTE_RELEASE="1.2.0"
# SDNC A1 Controller image and tags - Note using released honolulu ONAP image
RAPP_CAT_IMAGE_TAG_REMOTE_RELEASE="1.2.0"
-# Near RT RIC Simulator image and tags - same version as cherry
+# Near RT RIC Simulator image and tags
RIC_SIM_IMAGE_BASE="o-ran-sc/a1-simulator"
RIC_SIM_IMAGE_TAG_LOCAL="latest"
RIC_SIM_IMAGE_TAG_REMOTE_SNAPSHOT="2.5.0-SNAPSHOT"
RIC_SIM_IMAGE_TAG_REMOTE="2.5.0"
RIC_SIM_IMAGE_TAG_REMOTE_RELEASE="2.5.0"
+# ORAN Near RT RIC Simulator image and tags
+RICMEDIATOR_SIM_IMAGE_BASE="o-ran-sc/ric-plt-a1"
+RICMEDIATOR_SIM_IMAGE_TAG_REMOTE_RELEASE_ORAN="3.0.1"
+
+# ORAN Near RT RIC Simulator DB image and tags
+RICMEDIATOR_SIM_DB_IMAGE_BASE="o-ran-sc/ric-plt-dbaas"
+RICMEDIATOR_SIM_DB_IMAGE_TAG_REMOTE_RELEASE_ORAN="0.6.2"
+
# DMAAP Mediator Service
DMAAP_MED_IMAGE_BASE="o-ran-sc/nonrtric-plt-dmaapmediatorproducer"
DMAAP_MED_IMAGE_TAG_LOCAL="1.2.0-SNAPSHOT"
A1PMS_CONFIG_FILE="application.yaml" # Container config file name
A1PMS_DATA_FILE="application_configuration.json" # Container data file name
A1PMS_CONTAINER_MNT_DIR="/var/policy-management-service" # Mounted dir in the container
-A1PMS_FEATURE_LEVEL="" # Space separated list of features
+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
ICS_APP_NAME="informationservice" # Name for ICS container
ICS_DISPLAY_NAME="Information Coordinator Service" # Display name for ICS container
ICS_COMPOSE_DIR="ics" # Dir in simulator_group for docker-compose
ICS_CONFIG_MOUNT_PATH=/opt/app/information-coordinator-service/config # Internal container path for configuration
ICS_CONFIG_FILE=application.yaml # Config file name
-ICS_VERSION="V1-2" # Version where the types are decoupled from the producer registration
-ICS_FEATURE_LEVEL="INFO-TYPES TYPE-SUBSCRIPTIONS INFO-TYPE-INFO RESP_CODE_CHANGE_1 DEFAULT_TYPE_VALIDATION" # Space separated list of features
+ICS_FEATURE_LEVEL="TYPE-SUBSCRIPTIONS INFO-TYPE-INFO RESP_CODE_CHANGE_1 DEFAULT_TYPE_VALIDATION" # Space separated list of features
MR_DMAAP_APP_NAME="message-router" # Name for the Dmaap MR
MR_STUB_APP_NAME="mr-stub" # Name of the MR stub
# This prefix can be changed from the command line
RIC_SIM_INTERNAL_PORT=8085 # RIC Simulator container internal port (container -> container).
# (external ports allocated by docker)
-RIC_SIM_INTERNAL_SECURE_PORT=8185 # RIC Simulator container internal secure port (container -> container).
+RIC_SIM_INTERNAL_SECURE_PORT=8185 # RIC Simulator container internal secure port (container -> container).
# (external ports allocated by docker)
RIC_SIM_CERT_MOUNT_DIR="./cert"
RIC_SIM_ALIVE_URL="/" # Base path for alive check
RIC_SIM_COMMON_SVC_NAME="" # Name of svc if one common svc is used for all ric sim groups (stateful sets)
+RICMEDIATOR_SIM_DISPLAY_NAME="ORAN Near-RT RIC A1 Simulator"
+RICMEDIATOR_SIM_DB_DISPLAY_NAME="ORAN Near-RT RIC A1 Simulator DB"
+RICMEDIATOR_SIM_BASE="g" # Base name of the RIC Simulator container, shall be the group code
+ # Note, a prefix is added to each container name by the .env file in the 'ric' dir
+RICMEDIATOR_SIM_PREFIX="ricsim" # Prefix added to ric container name, added in the .env file in the 'ric' dir
+ # This prefix can be changed from the command line
+RICMEDIATOR_SIM_INTERNAL_PORT=10000 # RIC Simulator container internal port (container -> container).
+ # (external ports allocated by docker)
+RICMEDIATOR_SIM_INTERNAL_SECURE_PORT=10001 # RIC Simulator container internal secure port (container -> container).
+ # (external ports allocated by docker)
+ # This port number is not supported by app, kept only for consistency with other ric sims
+RICMEDIATOR_SIM_CERT_MOUNT_DIR="./cert"
+
+RICMEDIATOR_SIM_COMPOSE_DIR="ricmediator" # Dir in simulator group for docker compose
+RICMEDIATOR_SIM_ALIVE_URL="/a1-p/healthcheck" # Base path for alive check
+RICMEDIATOR_SIM_COMMON_SVC_NAME="" # Name of svc if one common svc is used for all ric sim groups (stateful sets)
+
+
# For ONAP sdnc
SDNC_APP_NAME="a1controller" # Name of the SNDC A1 Controller container
SDNC_DISPLAY_NAME="SDNC A1 Controller"
#!/bin/bash
# ============LICENSE_START===============================================
-# Copyright (C) 2020 Nordix Foundation. All rights reserved.
+# Copyright (C) 2020-22023 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.
# Function to log the start of a test case
__log_test_start() {
TIMESTAMP=$(date "+%Y-%m-%d %H:%M:%S")
- echo -e $BOLD"TEST $TEST_SEQUENCE_NR (${BASH_LINENO[1]}): ${FUNCNAME[1]}" $@ $EBOLD
- echo "TEST $TEST_SEQUENCE_NR - ${TIMESTAMP}: (${BASH_LINENO[1]}): ${FUNCNAME[1]}" $@ >> $HTTPLOG
+ echo -e $BOLD"TEST $TEST_SEQUENCE_NR - (${BASH_LINENO[1]}) - ${TIMESTAMP}: ${FUNCNAME[1]}" $@ $EBOLD
+ echo "TEST $TEST_SEQUENCE_NR - (${BASH_LINENO[1]}) - ${TIMESTAMP}: ${FUNCNAME[1]}" $@ >> $HTTPLOG
((RES_TEST++))
((TEST_SEQUENCE_NR++))
}
__check_stop_at_error
}
+# Function to log a test case that is not supported but will not fail
+__log_test_info_not_supported() {
+ echo -e $YELLOW" INFO, function not supported"$YELLOW
+ __print_current_stats
+}
+
# General function to log a passed test case
__log_test_pass() {
if [ $# -gt 0 ]; then
# Function to log the start of a configuration setup
__log_conf_start() {
TIMESTAMP=$(date "+%Y-%m-%d %H:%M:%S")
- echo -e $BOLD"CONF $CONF_SEQUENCE_NR (${BASH_LINENO[1]}): "${FUNCNAME[1]} $@ $EBOLD
- echo "CONF $CONF_SEQUENCE_NR - ${TIMESTAMP}: (${BASH_LINENO[1]}): "${FUNCNAME[1]} $@ >> $HTTPLOG
+ echo -e $BOLD"CONF $CONF_SEQUENCE_NR - (${BASH_LINENO[1]}) - ${TIMESTAMP}: "${FUNCNAME[1]} $@ $EBOLD
+ echo "CONF $CONF_SEQUENCE_NR - (${BASH_LINENO[1]}) - ${TIMESTAMP}: "${FUNCNAME[1]} $@ >> $HTTPLOG
((CONF_SEQUENCE_NR++))
}
elif [ $1 == "remote" ] || [ $1 == "remote-remove" ]; then
if [ $1 == "remote-remove" ]; then
if [ $RUNMODE == "DOCKER" ]; then
+
echo -ne " Attempt to stop and remove container(s), if running - ${SAMELINE}"
tmp=$(docker ps -aq --filter name=${3} --filter network=${DOCKER_SIM_NWNAME})
if [ $? -eq 0 ] && [ ! -z "$tmp" ]; then
- docker stop $tmp &> ./tmp/.dockererr
+ docker stop -t 0 $tmp &> ./tmp/.dockererr
if [ $? -ne 0 ]; then
((IMAGE_ERR++))
echo ""
echo -ne " Attempt to stop and remove container(s), if running - "$GREEN"stopped"$EGREEN"${SAMELINE}"
tmp=$(docker ps -aq --filter name=${3} --filter network=${DOCKER_SIM_NWNAME}) &> /dev/null
if [ $? -eq 0 ] && [ ! -z "$tmp" ]; then
- docker rm $tmp &> ./tmp/.dockererr
+ docker rm -f $tmp &> ./tmp/.dockererr
if [ $? -ne 0 ]; then
((IMAGE_ERR++))
echo ""
# The following sequence pull the configured images
echo -e $BOLD"Pulling configured images, if needed"$EBOLD
+ __exclude_check=0
if [ ! -z "$IMAGE_REPO_ADR" ] && [ $IMAGE_REPO_POLICY == "local" ]; then
- echo -e $YELLOW" Excluding all remote image check/pull when running with image repo: $IMAGE_REPO_ADR and image policy $IMAGE_REPO_POLICY"$EYELLOW
- else
- for imagename in $APP_SHORT_NAMES; do
- __check_included_image $imagename
- incl=$?
- __check_project_image $imagename
- proj=$?
- if [ $incl -eq 0 ]; then
- if [ $proj -eq 0 ]; then
- START_ARG_MOD=$START_ARG
- __check_image_local_override $imagename
- if [ $? -eq 1 ]; then
- START_ARG_MOD="local"
- fi
- else
- START_ARG_MOD=$START_ARG
+ echo -e $YELLOW" Excluding all remote image check/pull (unless local override) when running with image repo: $IMAGE_REPO_ADR and image policy: $IMAGE_REPO_POLICY"$EYELLOW
+ __exclude_check=1
+ fi
+ for imagename in $APP_SHORT_NAMES; do
+ __check_included_image $imagename
+ incl=$?
+ __check_project_image $imagename
+ proj=$?
+ if [ $incl -eq 0 ]; then
+ if [ $proj -eq 0 ]; then
+ START_ARG_MOD=$START_ARG
+ __check_image_local_override $imagename
+ if [ $? -eq 1 ]; then
+ START_ARG_MOD="local"
fi
+ else
+ START_ARG_MOD=$START_ARG
+ fi
+ __exclude_image_check=0
+ if [ $__exclude_check == 1 ] && [ "$START_ARG_MOD" != "local" ]; then
+ # For to handle locally built images, overriding remote images
+ __exclude_image_check=1
+ fi
+ if [ $__exclude_image_check == 0 ]; then
__check_image_local_build $imagename
#No pull of images built locally
if [ $? -ne 0 ]; then
function_pointer="__"$imagename"_imagepull"
$function_pointer $START_ARG_MOD $START_ARG
fi
- else
- echo -e $YELLOW" Excluding $imagename image from image check/pull"$EYELLOW
fi
- done
- fi
+ else
+ echo -e $YELLOW" Excluding $imagename image from image check/pull"$EYELLOW
+ fi
+ done
+
#Errors in image setting - exit
if [ $IMAGE_ERR -ne 0 ]; then
# Create a table of the images used in the script - from remote repo
echo -e $BOLD"Remote repo images used in this test script"$EBOLD
- echo -e $YELLOW"-- Note: These image will be pulled when the container starts. Images not managed by the test engine --"$EYELLOW
-
+ echo -e $YELLOW"-- Note: These image will be pulled when the container starts. Images not managed by the test engine "$EYELLOW
+ echo -e $YELLOW"-- Note: Images with local override will however be re-tagged and managed by the test engine "$EYELLOW
docker_tmp_file=./tmp/.docker-images-table
format_string="{{.Repository}}\\t{{.Tag}}"
echo -e "Application\tRepository\tTag" > $docker_tmp_file
result=$(kubectl $KUBECONF get $restype -n $namespace -o jsonpath='{.items[?(@.metadata.labels.'$labelname'=="'$labelid'")].metadata.name}')
if [ $? -eq 0 ] && [ ! -z "$result" ]; then
for resid in $result; do
- echo -ne " Ordered caling $restype $resid in namespace $namespace with label $labelname=$labelid to 0"$SAMELINE
+ echo -ne " Ordered scaling $restype $resid in namespace $namespace with label $labelname=$labelid to 0"$SAMELINE
kubectl $KUBECONF scale $restype $resid -n $namespace --replicas=0 1> /dev/null 2> ./tmp/kubeerr
echo -e " Ordered scaling $restype $resid in namespace $namespace with label $labelname=$labelid to 0 $GREEN OK $EGREEN"
done
checkjsonarraycount=1
fi
- echo -e $BOLD"TEST $TEST_SEQUENCE_NR (${BASH_LINENO[1]}): ${1}, ${3} ${4} ${5} within ${6} seconds"$EBOLD
- echo "TEST $TEST_SEQUENCE_NR - ${TIMESTAMP}: (${BASH_LINENO[1]}): ${1}, ${3} ${4} ${5} within ${6} seconds" >> $HTTPLOG
+ echo -e $BOLD"TEST $TEST_SEQUENCE_NR - (${BASH_LINENO[1]}) - ${TIMESTAMP}: ${1}, ${3} ${4} ${5} within ${6} seconds"$EBOLD
+ echo "TEST $TEST_SEQUENCE_NR - (${BASH_LINENO[1]}) - ${TIMESTAMP}: ${1}, ${3} ${4} ${5} within ${6} seconds" >> $HTTPLOG
((RES_TEST++))
((TEST_SEQUENCE_NR++))
checkjsonarraycount=1
fi
- echo -e $BOLD"TEST $TEST_SEQUENCE_NR (${BASH_LINENO[1]}): ${1}, ${3} ${4} ${5}"$EBOLD
- echo "TEST $TEST_SEQUENCE_NR - ${TIMESTAMP}: (${BASH_LINENO[1]}): ${1}, ${3} ${4} ${5}" >> $HTTPLOG
+ echo -e $BOLD"TEST $TEST_SEQUENCE_NR - (${BASH_LINENO[1]}) - ${TIMESTAMP}: ${1}, ${3} ${4} ${5}"$EBOLD
+ echo "TEST $TEST_SEQUENCE_NR - (${BASH_LINENO[1]}) - ${TIMESTAMP}: ${1}, ${3} ${4} ${5}" >> $HTTPLOG
((RES_TEST++))
((TEST_SEQUENCE_NR++))
if [ $checkjsonarraycount -eq 0 ]; then
#!/bin/bash
# ============LICENSE_START===============================================
-# Copyright (C) 2020 Nordix Foundation. All rights reserved.
+# Copyright (C) 2020-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.
#
# List of short names for all supported apps, including simulators etc
-APP_SHORT_NAMES="A1PMS ICS SDNC CP NGW RC RICSIM HTTPPROXY DMAAPMR MR CR PRODSTUB KUBEPROXY DMAAPMED DMAAPADP PVCCLEANER KAFKAPC CHARTMUS HELMMANAGER LOCALHELM KEYCLOAK ISTIO AUTHSIDECAR"
+APP_SHORT_NAMES="A1PMS ICS SDNC CP NGW RC RICSIM RICMEDIATORSIM HTTPPROXY DMAAPMR MR CR PRODSTUB KUBEPROXY DMAAPMED DMAAPADP PVCCLEANER KAFKAPC CHARTMUS HELMMANAGER LOCALHELM KEYCLOAK ISTIO AUTHSIDECAR"
# List of available apps that built and released of the project
PROJECT_IMAGES="A1PMS ICS SDNC CP NGW RICSIM RC DMAAPMED DMAAPADP HELMMANAGER AUTHSIDECAR"
# List of available apps to override with local or remote staging/snapshot/release image
-AVAILABLE_IMAGES_OVERRIDE="A1PMS ICS SDNC CP NGW RICSIM RC DMAAPMED DMAAPADP HELMMANAGER AUTHSIDECAR"
+AVAILABLE_IMAGES_OVERRIDE="A1PMS ICS SDNC CP NGW RICSIM RICMEDIATORSIM RC DMAAPMED DMAAPADP HELMMANAGER AUTHSIDECAR"
# List of available apps where the image is built by the test environment
LOCAL_IMAGE_BUILD="MR CR PRODSTUB KUBEPROXY HTTPPROXY KAFKAPC"
# ============LICENSE_START===============================================
-# Copyright (C) 2020 Nordix Foundation. All rights reserved.
+# Copyright (C) 2020-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.
ARG NEXUS_PROXY_REPO
-FROM ${NEXUS_PROXY_REPO}python:3.8-slim-buster
+FROM ${NEXUS_PROXY_REPO}alpine:3.17.3
-#install nginx
-RUN apt-get update; apt-get install -y nginx=1.14.*
-
-COPY app/ /usr/src/app/
-COPY cert/ /usr/src/app/cert/
+RUN apk add --update --no-cache python3 py3-pip nginx
WORKDIR /usr/src/app
-RUN pip install -r requirements.txt
+COPY app/ .
+COPY cert/ ./cert/
+
+RUN pip3 install -r requirements.txt
RUN chmod +x start.sh
# ============LICENSE_START===============================================
-# Copyright (C) 2020-2022 Nordix Foundation. All rights reserved.
+# Copyright (C) 2020-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.
# ============LICENSE_END=================================================
#
-user www-data;
worker_processes auto;
pid /run/nginx.pid;
include /etc/nginx/modules-enabled/*.conf;
-#!/bin/bash
+#!/bin/sh
# ============LICENSE_START===============================================
-# Copyright (C) 2020 Nordix Foundation. All rights reserved.
+# Copyright (C) 2020-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.
+# ============LICENSE_START===============================================
+# Copyright (C) 2020-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=================================================
+#
+
ARG NEXUS_PROXY_REPO
-FROM ${NEXUS_PROXY_REPO}node:16-alpine3.12
+FROM ${NEXUS_PROXY_REPO}alpine:3.17.3
-ENV NODE_ENV=production
+RUN apk add --update --no-cache nodejs
-WORKDIR /usr/src/app/cert
+WORKDIR /app
-# Need trailing slash on dest for multiple file copy
-COPY cert/*.crt ./
-COPY cert/pass .
+COPY cert/*.crt cert/
+COPY cert/pass cert/
-WORKDIR /usr/src/app
COPY http_proxy.js .
CMD [ "node", "http_proxy.js" ]
# ============LICENSE_START===============================================
-# Copyright (C) 2021 Nordix Foundation. All rights reserved.
+# Copyright (C) 2021-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.
ARG NEXUS_PROXY_REPO
-FROM ${NEXUS_PROXY_REPO}python:3.8-slim-buster
+FROM ${NEXUS_PROXY_REPO}alpine:3.17.3
-# Change order to fix problem with WSL
-
-#install nginx
-RUN apt-get update
-RUN apt-get install -y nginx=1.14.*
-
-COPY app/ /usr/src/app/
-COPY cert/ /usr/src/app/cert/
+RUN apk add --update --no-cache python3 py3-pip nginx
WORKDIR /usr/src/app
-RUN pip install -r requirements.txt
+COPY app/ .
+COPY cert/ ./cert/
+
+RUN pip3 install -r requirements.txt
RUN chmod +x start.sh
# ============LICENSE_START===============================================
-# Copyright (C) 2020-2022 Nordix Foundation. All rights reserved.
+# Copyright (C) 2020-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.
# ============LICENSE_END=================================================
#
-user www-data;
worker_processes auto;
pid /run/nginx.pid;
include /etc/nginx/modules-enabled/*.conf;
-#!/bin/bash
+#!/bin/sh
# ============LICENSE_START===============================================
-# Copyright (C) 2020 Nordix Foundation. All rights reserved.
+# Copyright (C) 2020-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.
# ============LICENSE_START===============================================
-# Copyright (C) 2020 Nordix Foundation. All rights reserved.
+# Copyright (C) 2020-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.
ARG NEXUS_PROXY_REPO
-FROM ${NEXUS_PROXY_REPO}python:3.8-slim-buster
+FROM ${NEXUS_PROXY_REPO}alpine:3.17.3
-COPY app/ /usr/src/app/
-COPY cert/ /usr/src/app/cert/
+RUN apk add --update --no-cache python3 py3-pip nginx
WORKDIR /usr/src/app
-RUN pip install -r requirements.txt
+COPY app/ .
+COPY cert/ ./cert/
-RUN chmod +x start.sh
+RUN pip3 install -r requirements.txt
-#install nginx
-RUN apt-get update
-RUN apt-get install -y nginx=1.14.*
+RUN chmod +x start.sh
CMD [ "./start.sh" ]
# ============LICENSE_START===============================================
-# Copyright (C) 2020-2022 Nordix Foundation. All rights reserved.
+# Copyright (C) 2020-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.
# ============LICENSE_END=================================================
#
-user www-data;
worker_processes auto;
pid /run/nginx.pid;
include /etc/nginx/modules-enabled/*.conf;
-#!/bin/bash
+#!/bin/sh
# ============LICENSE_START===============================================
-# Copyright (C) 2020 Nordix Foundation. All rights reserved.
+# Copyright (C) 2020-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.
# ============LICENSE_START=======================================================
-# Copyright (C) 2020-2022 Nordix Foundation
+# Copyright (C) 2020-2023 Nordix Foundation
# ================================================================================
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
initContainers:
- name: init-kafka
image: busybox
- command: ['sh', '-c', 'until nslookup $MR_ZOOKEEPER_APP_NAME; do echo waiting for $MR_ZOOKEEPER_APP_NAME; sleep 2; done;']
+ command: ['sh', '-c', 'until nslookup $MR_ZOOKEEPER_APP_NAME.$KUBE_ONAP_NAMESPACE.svc.cluster.local; do echo waiting for $MR_ZOOKEEPER_APP_NAME; sleep 2; done;']
volumes:
- configMap:
defaultMode: 420
initContainers:
- name: init-dmaap-mr
image: busybox
- command: ['sh', '-c', 'until nslookup $MR_KAFKA_APP_NAME; do echo waiting for $MR_KAFKA_APP_NAME; sleep 2; done;']
+ command: ['sh', '-c', 'until nslookup $MR_KAFKA_APP_NAME.$KUBE_ONAP_NAMESPACE.svc.cluster.local; do echo waiting for $MR_KAFKA_APP_NAME; sleep 2; done;']
volumes:
- configMap:
defaultMode: 420
# ============LICENSE_START===============================================
-# Copyright (C) 2020 Nordix Foundation. All rights reserved.
+# Copyright (C) 2020-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.
volumes:
- ${RIC_SIM_CERT_MOUNT_DIR}:/usr/src/app/cert:ro
labels:
+ - "a1sim=app"
- "nrttest_app=RICSIM"
- "nrttest_dp=${RIC_SIM_DISPLAY_NAME}"
--- /dev/null
+.tmp.json
+.dockererr
+.env
+fakedir
+gen_docker-compose*
\ No newline at end of file
--- /dev/null
+# ============LICENSE_START=======================================================
+# Copyright (C) 2023 Nordix Foundation
+# ================================================================================
+# 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.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+apiVersion: apps/v1
+kind: StatefulSet
+metadata:
+ name: $RICMEDIATOR_SIM_SET_NAME
+ namespace: $KUBE_A1SIM_NAMESPACE
+ labels:
+ run: $RICMEDIATOR_SIM_SET_NAME
+ autotest: RICMEDIATORSIM
+spec:
+ replicas: $RICMEDIATOR_SIM_COUNT
+ serviceName: $RICMEDIATOR_SIM_SET_NAME
+ selector:
+ matchLabels:
+ run: $RICMEDIATOR_SIM_SET_NAME
+ template:
+ metadata:
+ labels:
+ run: $RICMEDIATOR_SIM_SET_NAME
+ autotest: RICMEDIATORSIM
+ spec:
+ containers:
+ - name: $RICMEDIATOR_SIM_SET_NAME
+ image: $RICMEDIATOR_SIM_IMAGE
+ env:
+ - name: MY_POD_NAME
+ valueFrom:
+ fieldRef:
+ fieldPath: metadata.name
+ - name: DBAAS_SERVICE_HOST
+ value: $(MY_POD_NAME).$RICMEDIATOR_SIM_SET_NAME.$KUBE_A1SIM_NAMESPACE
+ - name: DBAAS_SERVICE_PORT
+ value: "6379"
+ imagePullPolicy: $KUBE_IMAGE_PULL_POLICY
+ ports:
+ - name: http
+ containerPort: $RICMEDIATOR_SIM_INTERNAL_PORT
+ - name: https
+ containerPort: $RICMEDIATOR_SIM_INTERNAL_SECURE_PORT
+ - name: dbaas
+ image: $RICMEDIATOR_SIM_DB_IMAGE
+ imagePullPolicy: $KUBE_IMAGE_PULL_POLICY
+ ports:
+ - name: http
+ containerPort: 6379
--- /dev/null
+# ============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=================================================
+#
+
+version: '3.0'
+
+# Compose file to bring up 3 groups of ric simulator containers with variable interface and count
+
+networks:
+ default:
+ external: true
+ name: ${DOCKER_SIM_NWNAME}
+
+services:
+ ${RICMEDIATOR_SIMCOMPOSE_SERVICE_NAME}:
+ image: ${RICMEDIATOR_SIM_IMAGE}
+ networks:
+ - default
+ ports:
+ - ${RICMEDIATOR_SIM_INTERNAL_PORT}/tcp
+ - ${RICMEDIATOR_SIM_INTERNAL_SECURE_PORT}/tcp
+ environment:
+ - DBAAS_SERVICE_HOST=dbaas
+ - DBAAS_SERVICE_PORT=6379
+ labels:
+ - "orana1sim=app"
+ - "nrttest_app=RICMEDIATORSIM"
+ - "nrttest_dp=${RICMEDIATOR_SIM_DISPLAY_NAME}"
+
+ dbaas:
+ image: ${RICMEDIATOR_SIM_DB_IMAGE}
+ networks:
+ - default
+ ports:
+ - 6379/tcp
+ labels:
+ - "nrttest_app=RICMEDIATORSIM"
+ - "nrttest_dp=${RICMEDIATOR_SIM_DISPLAY_NAME}"
\ No newline at end of file
--- /dev/null
+# ============LICENSE_START=======================================================
+# Copyright (C) 2023 Nordix Foundation
+# ================================================================================
+# 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.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+apiVersion: v1
+kind: Service
+metadata:
+ name: $RICMEDIATOR_SIM_SET_NAME
+ namespace: $KUBE_A1SIM_NAMESPACE
+ labels:
+ run: $RICMEDIATOR_SIM_SET_NAME
+ autotest: RICMEDIATORSIM
+spec:
+ ports:
+ - port: 80
+ name: http
+ clusterIP: None
+ selector:
+ run: $RICMEDIATOR_SIM_SET_NAME
.tmp.json
.dockererr
-gen_docker-compose*
\ No newline at end of file
+gen_docker-compose*
+REM_*
# ============LICENSE_START=======================================================
-# Copyright (C) 2020-2022 Nordix Foundation
+# Copyright (C) 2020-2023 Nordix Foundation
# ================================================================================
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
value: 'changeit'
command:
- /opt/onap/sdnc/bin/startODL.sh
+
---
+
apiVersion: apps/v1
kind: Deployment
metadata:
value: 'gamma'
- name: MYSQL_DATABASE
value: 'sdnctl'
-