Kafka now works in kube for calls outside its namespace
[nonrtric.git] / test / auto-test / FTC1100.sh
index 14652d0..cc23abb 100755 (executable)
@@ -21,7 +21,7 @@
 TC_ONELINE_DESCR="ECS full interfaces walkthrough"
 
 #App names to include in the test when running docker, space separated list
-DOCKER_INCLUDED_IMAGES="ECS PRODSTUB CR RICSIM CP HTTPPROXY NGW"
+DOCKER_INCLUDED_IMAGES="ECS PRODSTUB CR RICSIM CP HTTPPROXY NGW KUBEPROXY"
 
 #App names to include in the test when running kubernetes, space separated list
 KUBE_INCLUDED_IMAGES="PRODSTUB CR ECS RICSIM CP HTTPPROXY KUBEPROXY NGW"
@@ -34,20 +34,11 @@ KUBE_PRESTARTED_IMAGES=""
 CONDITIONALLY_IGNORED_IMAGES="NGW"
 
 #Supported test environment profiles
-SUPPORTED_PROFILES="ONAP-HONOLULU ONAP-ISTANBUL ORAN-CHERRY ORAN-D-RELEASE"
+SUPPORTED_PROFILES="ONAP-HONOLULU ONAP-ISTANBUL ORAN-CHERRY ORAN-D-RELEASE ORAN-E-RELEASE"
 #Supported run modes
 SUPPORTED_RUNMODES="DOCKER KUBE"
 
-. ../common/testcase_common.sh  $@
-. ../common/ecs_api_functions.sh
-. ../common/prodstub_api_functions.sh
-. ../common/cr_api_functions.sh
-. ../common/control_panel_api_functions.sh
-. ../common/controller_api_functions.sh
-. ../common/ricsimulator_api_functions.sh
-. ../common/http_proxy_api_functions.sh
-. ../common/kube_proxy_api_functions.sh
-. ../common/gateway_api_functions.sh
+. ../common/testcase_common.sh $@
 
 setup_testenvironment
 
@@ -57,9 +48,7 @@ FLAT_A1_EI="1"
 
 clean_environment
 
-if [ $RUNMODE == "KUBE" ]; then
-    start_kube_proxy
-fi
+start_kube_proxy
 
 use_ecs_rest_https
 
@@ -91,7 +80,7 @@ if [ "$PMS_VERSION" == "V2" ]; then
     start_ric_simulators ricsim_g3 4  STD_2.0.0
 fi
 
-start_cr
+start_cr 1
 
 CB_JOB="$PROD_STUB_SERVICE_PATH$PROD_STUB_JOB_CALLBACK"
 CB_SV="$PROD_STUB_SERVICE_PATH$PROD_STUB_SUPERVISION_CALLBACK"
@@ -112,20 +101,90 @@ TARGET150="http://localhost:80/target"  # Dummy target, no target for info data
 TARGET160="http://localhost:80/target"  # Dummy target, no target for info data in this env...
 
 #Status callbacks for eijobs
-STATUS1="$CR_SERVICE_PATH/job1-status"
-STATUS2="$CR_SERVICE_PATH/job2-status"
-STATUS3="$CR_SERVICE_PATH/job3-status"
-STATUS8="$CR_SERVICE_PATH/job8-status"
-STATUS10="$CR_SERVICE_PATH/job10-status"
+STATUS1="$CR_SERVICE_APP_PATH_0/job1-status"
+STATUS2="$CR_SERVICE_APP_PATH_0/job2-status"
+STATUS3="$CR_SERVICE_APP_PATH_0/job3-status"
+STATUS8="$CR_SERVICE_APP_PATH_0/job8-status"
+STATUS10="$CR_SERVICE_APP_PATH_0/job10-status"
 
 #Status callbacks for infojobs
-INFOSTATUS101="$CR_SERVICE_PATH/info-job101-status"
-INFOSTATUS102="$CR_SERVICE_PATH/info-job102-status"
-INFOSTATUS103="$CR_SERVICE_PATH/info-job103-status"
-INFOSTATUS108="$CR_SERVICE_PATH/info-job108-status"
-INFOSTATUS110="$CR_SERVICE_PATH/info-job110-status"
-INFOSTATUS150="$CR_SERVICE_PATH/info-job150-status"
-INFOSTATUS160="$CR_SERVICE_PATH/info-job160-status"
+INFOSTATUS101="$CR_SERVICE_APP_PATH_0/info-job101-status"
+INFOSTATUS102="$CR_SERVICE_APP_PATH_0/info-job102-status"
+INFOSTATUS103="$CR_SERVICE_APP_PATH_0/info-job103-status"
+INFOSTATUS108="$CR_SERVICE_APP_PATH_0/info-job108-status"
+INFOSTATUS110="$CR_SERVICE_APP_PATH_0/info-job110-status"
+INFOSTATUS150="$CR_SERVICE_APP_PATH_0/info-job150-status"
+INFOSTATUS160="$CR_SERVICE_APP_PATH_0/info-job160-status"
+
+if [[ "$ECS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
+    #Type registration status callbacks
+    TYPESTATUS1="$CR_SERVICE_APP_PATH_0/type-status1"
+    TYPESTATUS2="$CR_SERVICE_APP_PATH_0/type-status2"
+
+    ecs_api_idc_put_subscription 201 subscription-id-1 owner1 $TYPESTATUS1
+
+    ecs_api_idc_get_subscription_ids 200 NOOWNER subscription-id-1
+
+    ecs_api_idc_get_subscription_ids 200 owner1 subscription-id-1
+
+    ecs_api_idc_get_subscription_ids 200 test EMPTY
+
+    ecs_api_idc_get_subscription 200 subscription-id-1 owner1 $TYPESTATUS1
+
+    ecs_api_idc_get_subscription 404 test
+
+    ecs_api_idc_put_subscription 200 subscription-id-1 owner1 $TYPESTATUS1
+
+    ecs_api_idc_put_subscription 200 subscription-id-1 owner1 $TYPESTATUS1
+
+    ecs_api_idc_put_subscription 201 subscription-id-2 owner2 $TYPESTATUS2
+
+    ecs_api_idc_get_subscription_ids 200 NOOWNER subscription-id-1 subscription-id-2
+
+    ecs_api_idc_get_subscription_ids 200 owner1 subscription-id-1
+
+    ecs_api_idc_get_subscription_ids 200 owner2 subscription-id-2
+
+    ecs_api_idc_get_subscription 200 subscription-id-1 owner1 $TYPESTATUS1
+    ecs_api_idc_get_subscription 200 subscription-id-2 owner2 $TYPESTATUS2
+
+    ecs_api_idc_delete_subscription 204 subscription-id-2
+
+    ecs_api_idc_get_subscription_ids 200 NOOWNER subscription-id-1
+
+    ecs_api_edp_put_type_2 201 type1 testdata/ecs/ei-type-1.json
+
+    cr_equal 0 received_callbacks 1 30
+    cr_equal 0 received_callbacks?id=type-status1 1
+    cr_api_check_all_ecs_subscription_events 200 0 type-status1 type1 testdata/ecs/ei-type-1.json REGISTERED
+
+    ecs_api_edp_delete_type_2 204 type1
+
+    cr_equal 0 received_callbacks 2 30
+    cr_equal 0 received_callbacks?id=type-status1 2
+    cr_api_check_all_ecs_subscription_events 200 0 type-status1 type1 testdata/ecs/ei-type-1.json DEREGISTERED
+
+    ecs_api_idc_put_subscription 201 subscription-id-2 owner2 $TYPESTATUS2
+    ecs_api_idc_get_subscription_ids 200 NOOWNER subscription-id-1 subscription-id-2
+
+    ecs_api_edp_put_type_2 201 type1 testdata/ecs/ei-type-1.json
+
+    cr_equal 0 received_callbacks 4 30
+    cr_equal 0 received_callbacks?id=type-status1 3
+    cr_equal 0 received_callbacks?id=type-status2 1
+    cr_api_check_all_ecs_subscription_events 200 0 type-status1 type1 testdata/ecs/ei-type-1.json REGISTERED
+
+    ecs_api_idc_delete_subscription 204 subscription-id-2
+
+    ecs_api_edp_delete_type_2 204 type1
+
+    cr_equal 0 received_callbacks 5 30
+    cr_equal 0 received_callbacks?id=type-status1 4
+    cr_equal 0 received_callbacks?id=type-status2 1
+    cr_api_check_all_ecs_subscription_events 200 0 type-status1 type1 testdata/ecs/ei-type-1.json DEREGISTERED
+
+    cr_api_reset 0
+fi
 
 ### Setup prodstub sim to accept calls for producers, types and jobs
 ## prod-a type1
@@ -183,7 +242,7 @@ prodstub_arm_job_create 200 prod-f job10
 ### ecs status
 ecs_api_service_status 200
 
-cr_equal received_callbacks 0
+cr_equal received_callbacks 0
 
 ### Initial tests - no config made
 ### GET: type ids, types, producer ids, producers, job ids, jobs
@@ -261,12 +320,28 @@ else
     ecs_api_edp_delete_type_2 204 type1
     ecs_api_edp_get_type_2 404 type1
     ecs_api_edp_get_type_ids 200 EMPTY
-    ecs_api_edp_put_type_2 201 type1 testdata/ecs/ei-type-1.json
+    if [[ "$ECS_FEATURE_LEVEL" == *"INFO-TYPE-INFO"* ]]; then
+        ecs_api_edp_put_type_2 201 type1 testdata/ecs/ei-type-1.json testdata/ecs/info-type-info.json
+    else
+        ecs_api_edp_put_type_2 201 type1 testdata/ecs/ei-type-1.json
+    fi
     ecs_api_edp_get_type_ids 200 type1
-    ecs_api_edp_get_type_2 200 type1 testdata/ecs/ei-type-1.json
+    if [[ "$ECS_FEATURE_LEVEL" == *"INFO-TYPE-INFO"* ]]; then
+        ecs_api_edp_get_type_2 200 type1 testdata/ecs/ei-type-1.json testdata/ecs/info-type-info.json
+    else
+        ecs_api_edp_get_type_2 200 type1 testdata/ecs/ei-type-1.json
+    fi
 
     ecs_api_edp_put_producer_2 201 prod-a $CB_JOB/prod-a $CB_SV/prod-a type1
     ecs_api_edp_put_producer_2 200 prod-a $CB_JOB/prod-a $CB_SV/prod-a type1
+
+    if [[ "$ECS_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_ecs_subscription_events 200 0 type-status1 type1 testdata/ecs/ei-type-1.json REGISTERED type1 testdata/ecs/ei-type-1.json DEREGISTERED type1 testdata/ecs/ei-type-1.json REGISTERED
+    else
+        cr_equal 0 received_callbacks 0
+    fi
 fi
 
 
@@ -281,7 +356,11 @@ ecs_api_edp_get_type_ids 200 type1
 if [ $ECS_VERSION == "V1-1" ]; then
     ecs_api_edp_get_type 200 type1 testdata/ecs/ei-type-1.json prod-a
 else
-    ecs_api_edp_get_type_2 200 type1 testdata/ecs/ei-type-1.json
+    if [[ "$ECS_FEATURE_LEVEL" == *"INFO-TYPE-INFO"* ]]; then
+        ecs_api_edp_get_type_2 200 type1 testdata/ecs/ei-type-1.json testdata/ecs/info-type-info.json
+    else
+        ecs_api_edp_get_type_2 200 type1 testdata/ecs/ei-type-1.json
+    fi
 fi
 
 if [ $ECS_VERSION == "V1-1" ]; then
@@ -411,6 +490,13 @@ if [ $ECS_VERSION == "V1-1" ]; then
 else
     ecs_api_edp_put_type_2 201 type2 testdata/ecs/ei-type-2.json
     ecs_api_edp_put_producer_2 201 prod-b $CB_JOB/prod-b $CB_SV/prod-b type2
+    if [[ "$ECS_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_ecs_subscription_events 200 0 type-status1 type2 testdata/ecs/ei-type-2.json REGISTERED
+    else
+        cr_equal 0 received_callbacks 0
+    fi
 fi
 
 
@@ -428,7 +514,11 @@ if [ $ECS_VERSION == "V1-1" ]; then
     ecs_api_edp_get_type 200 type1 testdata/ecs/ei-type-1.json prod-a
     ecs_api_edp_get_type 200 type2 testdata/ecs/ei-type-2.json prod-b
 else
-    ecs_api_edp_get_type_2 200 type1 testdata/ecs/ei-type-1.json
+    if [[ "$ECS_FEATURE_LEVEL" == *"INFO-TYPE-INFO"* ]]; then
+        ecs_api_edp_get_type_2 200 type1 testdata/ecs/ei-type-1.json testdata/ecs/info-type-info.json
+    else
+        ecs_api_edp_get_type_2 200 type1 testdata/ecs/ei-type-1.json
+    fi
     ecs_api_edp_get_type_2 200 type2 testdata/ecs/ei-type-2.json
 fi
 
@@ -629,9 +719,16 @@ else
     ecs_api_a1_get_job_status 200 job3 DISABLED
 fi
 
-cr_equal received_callbacks 1 30
-cr_equal received_callbacks?id=job3-status 1
-cr_api_check_all_ecs_events 200 job3-status DISABLED
+if [[ "$ECS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
+    cr_equal 0 received_callbacks 5 30
+    cr_equal 0 received_callbacks?id=type-status1 4
+    cr_equal 0 received_callbacks?id=job3-status 1
+    cr_api_check_all_ecs_events 200 0 job3-status DISABLED
+else
+    cr_equal 0 received_callbacks 1 30
+    cr_equal 0 received_callbacks?id=job3-status 1
+    cr_api_check_all_ecs_events 200 0 job3-status DISABLED
+fi
 
 # Re-create the producer
 if [ $ECS_VERSION == "V1-1" ]; then
@@ -648,9 +745,16 @@ else
     ecs_api_a1_get_job_status 200 job3 ENABLED
 fi
 
-cr_equal received_callbacks 2 30
-cr_equal received_callbacks?id=job3-status 2
-cr_api_check_all_ecs_events 200 job3-status ENABLED
+if [[ "$ECS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
+    cr_equal 0 received_callbacks 6 30
+    cr_equal 0 received_callbacks?id=type-status1 4
+    cr_equal 0 received_callbacks?id=job3-status 2
+    cr_api_check_all_ecs_events 200 0 job3-status ENABLED
+else
+    cr_equal 0 received_callbacks 2 30
+    cr_equal 0 received_callbacks?id=job3-status 2
+    cr_api_check_all_ecs_events 200 0 job3-status ENABLED
+fi
 
 if [ $ECS_VERSION == "V1-1" ]; then
     prodstub_check_jobdata 200 prod-b job3 type2 $TARGET3 ricsim_g3_3 testdata/ecs/job-template2.json
@@ -666,10 +770,16 @@ fi
 if [ $ECS_VERSION == "V1-1" ]; then
     ecs_api_edp_put_producer 201 prod-d $CB_JOB/prod-d $CB_SV/prod-d type4 testdata/ecs/ei-type-4.json
 else
-    ecs_api_edp_put_type_2 201 type4 testdata/ecs/ei-type-1.json
+    ecs_api_edp_put_type_2 201 type4 testdata/ecs/ei-type-4.json
     ecs_api_edp_put_producer_2 201 prod-d $CB_JOB/prod-d $CB_SV/prod-d type4
 fi
 
+if [[ "$ECS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
+    cr_equal 0 received_callbacks 7 30
+    cr_equal 0 received_callbacks?id=type-status1 5
+    cr_api_check_all_ecs_subscription_events 200 0 type-status1 type4 testdata/ecs/ei-type-4.json REGISTERED
+fi
+
 ecs_api_a1_get_job_ids 200 type4 NOWNER EMPTY
 
 if [  -z "$FLAT_A1_EI" ]; then
@@ -719,9 +829,16 @@ else
     ecs_api_a1_get_job_status 200 job8 DISABLED
 fi
 
-cr_equal received_callbacks 3 30
-cr_equal received_callbacks?id=job8-status 1
-cr_api_check_all_ecs_events 200 job8-status DISABLED
+if [[ "$ECS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
+    cr_equal 0 received_callbacks 8 30
+    cr_equal 0 received_callbacks?id=type-status1 5
+    cr_equal 0 received_callbacks?id=job8-status 1
+    cr_api_check_all_ecs_events 200 0 job8-status DISABLED
+else
+    cr_equal 0 received_callbacks 3 30
+    cr_equal 0 received_callbacks?id=job8-status 1
+    cr_api_check_all_ecs_events 200 0 job8-status DISABLED
+fi
 
 prodstub_equal create/prod-d/job8 1
 prodstub_equal delete/prod-d/job8 0
@@ -752,14 +869,22 @@ ecs_api_edp_get_producer_status 200 prod-b ENABLED
 ecs_api_edp_get_producer_status 200 prod-c ENABLED
 ecs_api_edp_get_producer_status 200 prod-d ENABLED
 
-cr_equal received_callbacks 4 30
-cr_equal received_callbacks?id=job8-status 2
-cr_api_check_all_ecs_events 200 job8-status ENABLED
+if [[ "$ECS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
+    cr_equal 0 received_callbacks 10 30
+    cr_equal 0 received_callbacks?id=type-status1 6
+    cr_api_check_all_ecs_subscription_events 200 0 type-status1 type4 testdata/ecs/ei-type-4.json REGISTERED
+
+    cr_equal 0 received_callbacks?id=job8-status 2
+    cr_api_check_all_ecs_events 200 0 job8-status ENABLED
+else
+    cr_equal 0 received_callbacks 4 30
+    cr_equal 0 received_callbacks?id=job8-status 2
+    cr_api_check_all_ecs_events 200 0 job8-status ENABLED
+fi
 
 prodstub_equal create/prod-d/job8 2
 prodstub_equal delete/prod-d/job8 0
 
-
 ## Setup prod-e
 if [ $ECS_VERSION == "V1-1" ]; then
     ecs_api_edp_put_producer 201 prod-e $CB_JOB/prod-e $CB_SV/prod-e type6 testdata/ecs/ei-type-6.json
@@ -768,6 +893,12 @@ else
     ecs_api_edp_put_producer_2 201 prod-e $CB_JOB/prod-e $CB_SV/prod-e type6
 fi
 
+if [[ "$ECS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
+    cr_equal 0 received_callbacks 11 30
+    cr_equal 0 received_callbacks?id=type-status1 7
+    cr_api_check_all_ecs_subscription_events 200 0 type-status1 type6 testdata/ecs/ei-type-6.json REGISTERED
+fi
+
 ecs_api_a1_get_job_ids 200 type6 NOWNER EMPTY
 
 if [  -z "$FLAT_A1_EI" ]; then
@@ -805,6 +936,12 @@ else
     ecs_api_edp_put_producer_2 201 prod-f $CB_JOB/prod-f $CB_SV/prod-f type6
 fi
 
+if [[ "$ECS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
+    cr_equal 0 received_callbacks 12 30
+    cr_equal 0 received_callbacks?id=type-status1 8
+    cr_api_check_all_ecs_subscription_events 200 0 type-status1 type6 testdata/ecs/ei-type-6.json REGISTERED
+fi
+
 ecs_api_a1_get_job_ids 200 type6 NOWNER job10
 
 if [ $ECS_VERSION == "V1-1" ]; then
@@ -978,12 +1115,17 @@ else
     ecs_api_a1_get_job_status 200 job10 ENABLED
 fi
 
-cr_equal received_callbacks 6 30
-cr_equal received_callbacks?id=job1-status 1
-cr_equal received_callbacks?id=job2-status 1
+if [[ "$ECS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
+    cr_equal 0 received_callbacks 14 30
+else
+    cr_equal 0 received_callbacks 6 30
+fi
+
+cr_equal 0 received_callbacks?id=job1-status 1
+cr_equal 0 received_callbacks?id=job2-status 1
 
-cr_api_check_all_ecs_events 200 job1-status DISABLED
-cr_api_check_all_ecs_events 200 job2-status DISABLED
+cr_api_check_all_ecs_events 200 job1-status DISABLED
+cr_api_check_all_ecs_events 200 job2-status DISABLED
 
 
 # Arm producer prod-e for supervision failure
@@ -1089,7 +1231,11 @@ else
     ecs_api_a1_get_job_status 200 job10 ENABLED
 fi
 
-cr_equal received_callbacks 6
+if [[ "$ECS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
+    cr_equal 0 received_callbacks 14 30
+else
+    cr_equal 0 received_callbacks 6 30
+fi
 
 
 if [[ "$ECS_FEATURE_LEVEL" != *"INFO-TYPES"* ]]; then
@@ -1223,9 +1369,13 @@ ecs_api_edp_put_producer_2 200 prod-ia $CB_JOB/prod-ia $CB_SV/prod-ia type101
 
 ecs_api_edp_delete_type_2 406 type101
 
-
-#ecs_api_idc_get_type_ids 200 type101
-#ecs_api_idc_get_type 200 type101 testdata/ecs/empty-type.json
+if [[ "$ECS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
+    cr_equal 0 received_callbacks 17 30
+    cr_equal 0 received_callbacks?id=type-status1 11
+    cr_api_check_all_ecs_subscription_events 200 0 type-status1 type101 testdata/ecs/info-type-1.json REGISTERED type101 testdata/ecs/info-type-1.json DEREGISTERED type101 testdata/ecs/info-type-1.json REGISTERED
+else
+    cr_equal 0 received_callbacks 6
+fi
 
 ecs_api_edp_get_type_ids 200 type101 type1 type2 type4 type6
 ecs_api_edp_get_type_2 200 type101 testdata/ecs/info-type-1.json
@@ -1290,12 +1440,25 @@ ecs_api_edp_get_producer_jobs_2 200 prod-ia job101 type101 $TARGET101 info-owner
 ecs_api_edp_put_type_2 201 type102 testdata/ecs/info-type-2.json
 ecs_api_edp_put_producer_2 201 prod-ib $CB_JOB/prod-ib $CB_SV/prod-ib type102
 
+if [[ "$ECS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
+    cr_equal 0 received_callbacks 18 30
+    cr_equal 0 received_callbacks?id=type-status1 12
+    cr_api_check_all_ecs_subscription_events 200 0 type-status1 type102 testdata/ecs/info-type-2.json REGISTERED
+else
+    cr_equal 0 received_callbacks 6
+fi
 
 ecs_api_idc_get_type_ids 200 type101 type102 type1 type2 type4 type6
 
-ecs_api_idc_get_type 200 type101 testdata/ecs/info-type-1.json
+if [[ "$ECS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
+    ecs_api_idc_get_type 200 type101 testdata/ecs/info-type-1.json ENABLED 1
 
-ecs_api_idc_get_type 200 type102 testdata/ecs/info-type-2.json
+    ecs_api_idc_get_type 200 type102 testdata/ecs/info-type-2.json ENABLED 1
+else
+    ecs_api_idc_get_type 200 type101 testdata/ecs/info-type-1.json
+
+    ecs_api_idc_get_type 200 type102 testdata/ecs/info-type-2.json
+fi
 
 ecs_api_edp_get_type_ids 200 type101 type102 type1 type2 type4 type6
 ecs_api_edp_get_type_2 200 type101 testdata/ecs/info-type-1.json
@@ -1391,9 +1554,16 @@ ecs_api_edp_get_producer_ids_2 200 NOTYPE prod-ia prod-ic prod-b prod-c prod-d p
 
 ecs_api_idc_get_job_status2 200 job103 DISABLED EMPTYPROD
 
-cr_equal received_callbacks 7 30
-cr_equal received_callbacks?id=info-job103-status 1
-cr_api_check_all_ecs_events 200 info-job103-status DISABLED
+if [[ "$ECS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
+    cr_equal 0 received_callbacks 19 30
+
+    cr_equal 0 received_callbacks?id=info-job103-status 1
+    cr_api_check_all_ecs_events 200 0 info-job103-status DISABLED
+else
+    cr_equal 0 received_callbacks 7 30
+    cr_equal 0 received_callbacks?id=info-job103-status 1
+    cr_api_check_all_ecs_events 200 0 info-job103-status DISABLED
+fi
 
 # Re-create the producer
 ecs_api_edp_put_producer_2 201 prod-ib $CB_JOB/prod-ib $CB_SV/prod-ib type102
@@ -1402,9 +1572,15 @@ ecs_api_edp_get_producer_status 200 prod-ib ENABLED
 
 ecs_api_idc_get_job_status2 200 job103 ENABLED 1 prod-ib
 
-cr_equal received_callbacks 8 30
-cr_equal received_callbacks?id=info-job103-status 2
-cr_api_check_all_ecs_events 200 info-job103-status ENABLED
+if [[ "$ECS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
+    cr_equal 0 received_callbacks 20 30
+    cr_equal 0 received_callbacks?id=info-job103-status 2
+    cr_api_check_all_ecs_events 200 0 info-job103-status ENABLED
+else
+    cr_equal 0 received_callbacks 8 30
+    cr_equal 0 received_callbacks?id=info-job103-status 2
+    cr_api_check_all_ecs_events 200 0 info-job103-status ENABLED
+fi
 
 prodstub_check_jobdata_3 200 prod-ib job103 type102 $TARGET103 info-owner-3 testdata/ecs/job-template2.json
 
@@ -1433,9 +1609,18 @@ ecs_api_idc_get_job_ids 200 NOTYPE NOWNER job101 job102 job103 job108  job1 job2
 
 ecs_api_idc_get_job_status2 200 job108 DISABLED EMPTYPROD
 
-cr_equal received_callbacks 9 30
-cr_equal received_callbacks?id=info-job108-status 1
-cr_api_check_all_ecs_events 200 info-job108-status DISABLED
+if [[ "$ECS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
+    cr_equal 0 received_callbacks 22 30
+    cr_equal 0 received_callbacks?id=type-status1 13
+    cr_api_check_all_ecs_subscription_events 200 0 type-status1 type104 testdata/ecs/info-type-4.json REGISTERED
+
+    cr_equal 0 received_callbacks?id=info-job108-status 1
+    cr_api_check_all_ecs_events 200 0 info-job108-status DISABLED
+else
+    cr_equal 0 received_callbacks 9 30
+    cr_equal 0 received_callbacks?id=info-job108-status 1
+    cr_api_check_all_ecs_events 200 0 info-job108-status DISABLED
+fi
 
 prodstub_equal create/prod-id/job108 1
 prodstub_equal delete/prod-id/job108 0
@@ -1444,6 +1629,7 @@ prodstub_equal delete/prod-id/job108 0
 ecs_api_edp_put_type_2 200 type104 testdata/ecs/info-type-4.json
 ecs_api_edp_put_producer_2 200 prod-id $CB_JOB/prod-id $CB_SV/prod-id type104
 
+
 ecs_api_idc_get_job_ids 200 type104 NOWNER job108
 ecs_api_idc_get_job_ids 200 NOTYPE NOWNER job101 job102 job103 job108 job1 job2 job3 job8 job10
 
@@ -1454,9 +1640,19 @@ ecs_api_edp_get_producer_status 200 prod-ib ENABLED
 ecs_api_edp_get_producer_status 200 prod-ic ENABLED
 ecs_api_edp_get_producer_status 200 prod-id ENABLED
 
-cr_equal received_callbacks 10 30
-cr_equal received_callbacks?id=info-job108-status 2
-cr_api_check_all_ecs_events 200 info-job108-status ENABLED
+if [[ "$ECS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
+    cr_equal 0 received_callbacks 24 30
+
+    cr_equal 0 received_callbacks?id=type-status1 14
+    cr_api_check_all_ecs_subscription_events 200 0 type-status1 type104 testdata/ecs/info-type-4.json REGISTERED
+
+    cr_equal 0 received_callbacks?id=info-job108-status 2
+    cr_api_check_all_ecs_events 200 0 info-job108-status ENABLED
+else
+    cr_equal 0 received_callbacks 10 30
+    cr_equal 0 received_callbacks?id=info-job108-status 2
+    cr_api_check_all_ecs_events 200 0 info-job108-status ENABLED
+fi
 
 prodstub_equal create/prod-id/job108 2
 prodstub_equal delete/prod-id/job108 0
@@ -1483,6 +1679,14 @@ ecs_api_idc_get_job_status2 200 job110 ENABLED 1 prod-ie
 ecs_api_edp_put_type_2 200 type106 testdata/ecs/info-type-6.json
 ecs_api_edp_put_producer_2 201 prod-if $CB_JOB/prod-if $CB_SV/prod-if type106
 
+if [[ "$ECS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
+    cr_equal 0 received_callbacks 26 30
+
+    cr_equal 0 received_callbacks?id=type-status1 16
+    cr_api_check_all_ecs_subscription_events 200 0 type-status1 type106 testdata/ecs/info-type-6.json REGISTERED type106 testdata/ecs/info-type-6.json REGISTERED
+fi
+
+
 ecs_api_idc_get_job_ids 200 type106 NOWNER job110
 
 prodstub_check_jobdata_3 200 prod-if job110 type106 $TARGET110 info-owner-4 testdata/ecs/job-template.json
@@ -1592,12 +1796,22 @@ ecs_api_idc_get_job_status2 200 job103 ENABLED 1 prod-ib
 ecs_api_idc_get_job_status2 200 job108 ENABLED 1 prod-id
 ecs_api_idc_get_job_status2 200 job110 ENABLED 2 prod-ie prod-if
 
-cr_equal received_callbacks 12 30
-cr_equal received_callbacks?id=info-job101-status 1
-cr_equal received_callbacks?id=info-job102-status 1
 
-cr_api_check_all_ecs_events 200 info-job101-status DISABLED
-cr_api_check_all_ecs_events 200 info-job102-status DISABLED
+if [[ "$ECS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
+    cr_equal 0 received_callbacks 28 30
+
+    cr_equal 0 received_callbacks?id=info-job101-status 1
+    cr_equal 0 received_callbacks?id=info-job102-status 1
+    cr_api_check_all_ecs_events 200 0 info-job101-status DISABLED
+    cr_api_check_all_ecs_events 200 0 info-job102-status DISABLED
+else
+    cr_equal 0 received_callbacks 12 30
+
+    cr_equal 0 received_callbacks?id=info-job101-status 1
+    cr_equal 0 received_callbacks?id=info-job102-status 1
+    cr_api_check_all_ecs_events 200 0 info-job101-status DISABLED
+    cr_api_check_all_ecs_events 200 0 info-job102-status DISABLED
+fi
 
 
 # Arm producer prod-ie for supervision failure
@@ -1663,8 +1877,11 @@ ecs_api_idc_get_job_status2 200 job103 ENABLED 1 prod-ib
 ecs_api_idc_get_job_status2 200 job108 ENABLED 1 prod-id
 ecs_api_idc_get_job_status2 200 job110 ENABLED 1 prod-ie
 
-cr_equal received_callbacks 12
-
+if [[ "$ECS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
+    cr_equal 0 received_callbacks 28
+else
+    cr_equal 0 received_callbacks 12
+fi
 ### Test of pre and post validation
 
 ecs_api_idc_get_type_ids 200 type1 type2 type4 type6 type101 type102 type104 type106
@@ -1710,6 +1927,14 @@ prodstub_arm_type 200 prod-ig type150
 ecs_api_edp_put_type_2 201 type150 testdata/ecs/info-type-50.json
 ecs_api_idc_get_type_ids 200 type1 type2 type4 type6 type101 type102 type104 type106 type160 type150
 
+if [[ "$ECS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
+    cr_equal 0 received_callbacks 30 30
+    cr_equal 0 received_callbacks?id=type-status1 18
+    cr_api_check_all_ecs_subscription_events 200 0 type-status1 type160 testdata/ecs/info-type-60.json REGISTERED type150 testdata/ecs/info-type-50.json REGISTERED
+else
+    cr_equal 0 received_callbacks 12
+fi
+
 ecs_api_edp_put_producer_2 200 prod-ig $CB_JOB/prod-ig $CB_SV/prod-ig type160 type150
 ecs_api_edp_get_producer_status 200 prod-ig ENABLED 360
 
@@ -1723,7 +1948,36 @@ ecs_api_idc_put_job 201 job150 type150 $TARGET150 info-owner-1 $INFOSTATUS150 te
 ecs_api_idc_get_job_status2 200 job150 ENABLED  1 prod-ig 60
 ecs_api_idc_get_job_status2 200 job160 ENABLED  1 prod-ig
 
-cr_equal received_callbacks 12
+if [[ "$ECS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
+    cr_equal 0 received_callbacks 30 30
+    cr_equal 0 received_callbacks?id=type-status1 18
+else
+    cr_equal 0 received_callbacks 12
+fi
+
+# Test job deletion at type delete
+
+if [[ "$ECS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
+
+    ecs_api_edp_delete_type_2 406 type104
+
+    ecs_api_edp_delete_producer 204 prod-id
+
+    ecs_api_edp_delete_type_2 204 type104
+
+    cr_equal 0 received_callbacks 32 30
+    cr_equal 0 received_callbacks?id=info-job108-status 3
+    cr_equal 0 received_callbacks?id=type-status1 19
+    cr_api_check_all_ecs_subscription_events 200 0 type-status1 type104 testdata/ecs/info-type-4.json DEREGISTERED
+    cr_api_check_all_ecs_events 200 0 info-job108-status DISABLED
+
+    ecs_api_edp_get_producer 404 prod-id
+
+    ecs_api_idc_get_job 404 job-108
+
+else
+    cr_equal 0 received_callbacks 12
+fi
 
 check_ecs_logs