+ done
+
+ # Check the schemas in STD
+ for ((i=1; i<=$STD_NUM_RICS; i++))
+ do
+ a1pms_api_get_policy_type 200 STD_QOS_0_2_0 demo-testdata/STD2/qos-a1pms-modified.json
+ a1pms_api_get_policy_type 200 'STD_QOS2_0.1.0' demo-testdata/STD2/qos2-a1pms-modified.json
+ done
+
+ #Check the number of types
+ if [ "$A1PMS_VERSION" == "V3" ]; then
+ total_policy_type_entries=$((STD_NUM_RICS * total_policy_types))
+ a1pms_equal json:policytypes ${total_policy_type_entries} 300
+ else
+ a1pms_equal json:policy-types ${total_policy_types} 300
+ fi
+
+ a1pms_api_put_service 201 "Emergency-response-app" 0 "$CR_SERVICE_APP_PATH_0/1"
+
+ # Create policies in STD
+ for ((i=1; i<=$STD_NUM_RICS; i++))
+ do
+ sim_generate_policy_uuid
+ if [ "$A1PMS_VERSION" == "V3" ]; then
+ a1pms_api_post_policy_v3 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
+ sim_generate_policy_uuid
+ a1pms_api_post_policy_v3 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
+ else
+ 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
+ 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
+ fi
+ done
+
+
+ # Check the number of policies in STD
+ for ((i=1; i<=$STD_NUM_RICS; i++))
+ do
+ sim_equal $RIC_SIM_PREFIX"_g3_"$i num_instances 2
+ done
+
+ # Print calling hosts STD 2.X
+ for ((i=1; i<=$STD_NUM_RICS; i++))
+ do
+ sim_print $RIC_SIM_PREFIX"_g3_"$i remote_hosts
+ sim_contains_str $RIC_SIM_PREFIX"_g3_"$i remote_hosts proxy
+ done
+
+
+ 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"
+ RIC_G1_2=$RIC_SIM_PREFIX"_g3_2"
+ if [ $RUNMODE == "KUBE" ]; then
+ RIC_G1_1=$(get_kube_sim_host $RIC_G1_1)
+ RIC_G1_2=$(get_kube_sim_host $RIC_G1_2)
+ fi
+ TARGET1="$RIC_SIM_HTTPX://$RIC_G1_1:$RIC_SIM_PORT/datadelivery"
+ TARGET2="$RIC_SIM_HTTPX://$RIC_G1_1:$RIC_SIM_PORT/datadelivery"
+
+ STATUS1="$CR_SERVICE_APP_PATH_0/job1-status"
+ STATUS2="$CR_SERVICE_APP_PATH_0/job2-status"
+
+ prodstub_arm_producer 200 prod-a
+ prodstub_arm_type 200 prod-a type1
+ prodstub_arm_job_create 200 prod-a job1
+ prodstub_arm_job_create 200 prod-a job2
+
+ ### ics status
+ ics_api_service_status 200
+
+ if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
+ #Type registration status callbacks
+ TYPESTATUS1="$CR_SERVICE_APP_PATH_0/type-status1"
+
+ ics_api_idc_put_subscription 201 subscription-id-1 owner1 $TYPESTATUS1
+
+ ics_api_idc_get_subscription_ids 200 owner1 subscription-id-1
+ fi
+
+ ## Setup prod-a
+ 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_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
+ 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
+ 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
+ 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
+ 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
+
+ ics_equal json:data-producer/v1/info-producers 0 1000
+
+ if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
+ cr_equal 0 received_callbacks 3 30
+ cr_api_check_all_ics_subscription_events 200 0 type-status1 type1 testdata/ics/ei-type-1.json REGISTERED
+ cr_api_check_all_ics_events 200 0 job1-status DISABLED
+ cr_api_check_all_ics_events 200 0 job2-status DISABLED
+ else
+ cr_equal 0 received_callbacks 2 30
+ cr_api_check_all_ics_events 200 0 job1-status DISABLED
+ cr_api_check_all_ics_events 200 0 job2-status DISABLED
+ fi