X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=test%2Fauto-test%2FFTC1100.sh;h=cc23abb58852ed6863e61fe211d33e8f1b279f3f;hb=79e37003f5c94bfe12d197727dd31334e50397a6;hp=d312caa7609b6d3c06cb62262beb081ef9e539b4;hpb=cdc8a586be446a08d1d43f1f8a56115d5f72d9c6;p=nonrtric.git diff --git a/test/auto-test/FTC1100.sh b/test/auto-test/FTC1100.sh index d312caa7..cc23abb5 100755 --- a/test/auto-test/FTC1100.sh +++ b/test/auto-test/FTC1100.sh @@ -18,28 +18,29 @@ # -TC_ONELINE_DESCR="ECS full intefaces walkthrough" +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" +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 " +KUBE_INCLUDED_IMAGES="PRODSTUB CR ECS RICSIM CP HTTPPROXY KUBEPROXY NGW" #Prestarted app (not started by script) to include in the test when running kubernetes, space separated list -KUBE_PRESTARTED_IMAGES=" " +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="ONAP-HONOLULU ORAN-CHERRY ORAN-DAWN" +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/testcase_common.sh $@ + +setup_testenvironment #### TEST BEGIN #### @@ -47,6 +48,8 @@ FLAT_A1_EI="1" clean_environment +start_kube_proxy + use_ecs_rest_https use_prod_stub_https @@ -55,7 +58,9 @@ use_simulator_https use_cr_https -start_ecs $SIM_GROUP/$ECS_COMPOSE_DIR/application.yaml +start_http_proxy + +start_ecs NOPROXY $SIM_GROUP/$ECS_COMPOSE_DIR/$ECS_CONFIG_FILE #Change NOPROXY to PROXY to run with http proxy if [ $RUNMODE == "KUBE" ]; then ecs_api_admin_reset @@ -63,29 +68,123 @@ fi start_prod_stub -set_ecs_trace +set_ecs_debug -start_control_panel $SIM_GROUP/$CONTROL_PANEL_COMPOSE_DIR/application.properties +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 [ "$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" +#Targets for ei jobs TARGET1="$RIC_SIM_HTTPX://ricsim_g3_1:$RIC_SIM_PORT/datadelivery" TARGET2="$RIC_SIM_HTTPX://ricsim_g3_2:$RIC_SIM_PORT/datadelivery" TARGET3="$RIC_SIM_HTTPX://ricsim_g3_3:$RIC_SIM_PORT/datadelivery" TARGET8="$RIC_SIM_HTTPX://ricsim_g3_4:$RIC_SIM_PORT/datadelivery" TARGET10="$RIC_SIM_HTTPX://ricsim_g3_4:$RIC_SIM_PORT/datadelivery" -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" +#Targets for info jobs +TARGET101="http://localhost:80/target" # Dummy target, no target for info data in this env... +TARGET102="http://localhost:80/target" # Dummy target, no target for info data in this env... +TARGET103="http://localhost:80/target" # Dummy target, no target for info data in this env... +TARGET108="http://localhost:80/target" # Dummy target, no target for info data in this env... +TARGET110="http://localhost:80/target" # Dummy target, no target for info data in this env... +TARGET150="http://localhost:80/target" # Dummy target, no target for info data in this env... +TARGET160="http://localhost:80/target" # Dummy target, no target for info data in this env... + +#Status callbacks for eijobs +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_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 @@ -143,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 0 received_callbacks 0 ### Initial tests - no config made ### GET: type ids, types, producer ids, producers, job ids, jobs @@ -191,7 +290,11 @@ else ecs_api_a1_delete_job 404 test-job fi -ecs_api_edp_get_producer_jobs 404 test-prod +if [ $ECS_VERSION == "V1-1" ]; then + ecs_api_edp_get_producer_jobs 404 test-prod +else + ecs_api_edp_get_producer_jobs_2 404 test-prod +fi if [ $ECS_VERSION == "V1-2" ]; then ecs_api_edp_get_type_2 404 test-type @@ -217,14 +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 - ecs_api_edp_delete_type_2 406 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 @@ -239,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 @@ -270,8 +391,11 @@ else ecs_api_a1_get_job_status 404 test-job fi - -ecs_api_edp_get_producer_jobs 200 prod-a EMPTY +if [ $ECS_VERSION == "V1-1" ]; then + ecs_api_edp_get_producer_jobs 200 prod-a EMPTY +else + ecs_api_edp_get_producer_jobs_2 200 prod-a EMPTY +fi ## Create a job for prod-a ## job1 - prod-a @@ -282,7 +406,15 @@ else fi # Check the job data in the producer -prodstub_check_jobdata 200 prod-a job1 type1 $TARGET1 ricsim_g3_1 testdata/ecs/job-template.json +if [ $ECS_VERSION == "V1-1" ]; then + prodstub_check_jobdata 200 prod-a job1 type1 $TARGET1 ricsim_g3_1 testdata/ecs/job-template.json +else + if [[ "$ECS_FEATURE_LEVEL" != *"INFO-TYPES"* ]]; then + prodstub_check_jobdata_2 200 prod-a job1 type1 $TARGET1 ricsim_g3_1 testdata/ecs/job-template.json + else + prodstub_check_jobdata_3 200 prod-a job1 type1 $TARGET1 ricsim_g3_1 testdata/ecs/job-template.json + fi +fi ecs_api_a1_get_job_ids 200 type1 NOWNER job1 ecs_api_a1_get_job_ids 200 type1 ricsim_g3_1 job1 @@ -303,7 +435,11 @@ fi prodstub_equal create/prod-a/job1 1 -ecs_api_edp_get_producer_jobs 200 prod-a job1 type1 $TARGET1 ricsim_g3_1 testdata/ecs/job-template.json +if [ $ECS_VERSION == "V1-1" ]; then + ecs_api_edp_get_producer_jobs 200 prod-a job1 type1 $TARGET1 ricsim_g3_1 testdata/ecs/job-template.json +else + ecs_api_edp_get_producer_jobs_2 200 prod-a job1 type1 $TARGET1 ricsim_g3_1 testdata/ecs/job-template.json +fi ## Create a second job for prod-a ## job2 - prod-a @@ -314,8 +450,15 @@ else fi # Check the job data in the producer -prodstub_check_jobdata 200 prod-a job2 type1 $TARGET2 ricsim_g3_2 testdata/ecs/job-template.json - +if [ $ECS_VERSION == "V1-1" ]; then + prodstub_check_jobdata 200 prod-a job2 type1 $TARGET2 ricsim_g3_2 testdata/ecs/job-template.json +else + if [[ "$ECS_FEATURE_LEVEL" != *"INFO-TYPES"* ]]; then + prodstub_check_jobdata_2 200 prod-a job2 type1 $TARGET2 ricsim_g3_2 testdata/ecs/job-template.json + else + prodstub_check_jobdata_3 200 prod-a job2 type1 $TARGET2 ricsim_g3_2 testdata/ecs/job-template.json + fi +fi ecs_api_a1_get_job_ids 200 type1 NOWNER job1 job2 ecs_api_a1_get_job_ids 200 type1 ricsim_g3_1 job1 ecs_api_a1_get_job_ids 200 type1 ricsim_g3_2 job2 @@ -335,7 +478,11 @@ fi prodstub_equal create/prod-a/job2 1 -ecs_api_edp_get_producer_jobs 200 prod-a job1 type1 $TARGET1 ricsim_g3_1 testdata/ecs/job-template.json job2 type1 $TARGET2 ricsim_g3_2 testdata/ecs/job-template.json +if [ $ECS_VERSION == "V1-1" ]; then + ecs_api_edp_get_producer_jobs 200 prod-a job1 type1 $TARGET1 ricsim_g3_1 testdata/ecs/job-template.json job2 type1 $TARGET2 ricsim_g3_2 testdata/ecs/job-template.json +else + ecs_api_edp_get_producer_jobs_2 200 prod-a job1 type1 $TARGET1 ricsim_g3_1 testdata/ecs/job-template.json job2 type1 $TARGET2 ricsim_g3_2 testdata/ecs/job-template.json +fi ## Setup prod-b if [ $ECS_VERSION == "V1-1" ]; then @@ -343,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 @@ -360,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 @@ -391,7 +549,15 @@ fi prodstub_equal create/prod-b/job3 1 # Check the job data in the producer -prodstub_check_jobdata 200 prod-b job3 type2 $TARGET3 ricsim_g3_3 testdata/ecs/job-template.json +if [ $ECS_VERSION == "V1-1" ]; then + prodstub_check_jobdata 200 prod-b job3 type2 $TARGET3 ricsim_g3_3 testdata/ecs/job-template.json +else + if [[ "$ECS_FEATURE_LEVEL" != *"INFO-TYPES"* ]]; then + prodstub_check_jobdata_2 200 prod-b job3 type2 $TARGET3 ricsim_g3_3 testdata/ecs/job-template.json + else + prodstub_check_jobdata_3 200 prod-b job3 type2 $TARGET3 ricsim_g3_3 testdata/ecs/job-template.json + fi +fi ecs_api_a1_get_job_ids 200 type1 NOWNER job1 job2 ecs_api_a1_get_job_ids 200 type2 NOWNER job3 @@ -409,9 +575,13 @@ else ecs_api_a1_get_job_status 200 job3 ENABLED fi -ecs_api_edp_get_producer_jobs 200 prod-a job1 type1 $TARGET1 ricsim_g3_1 testdata/ecs/job-template.json job2 type1 $TARGET2 ricsim_g3_2 testdata/ecs/job-template.json -ecs_api_edp_get_producer_jobs 200 prod-b job3 type2 $TARGET3 ricsim_g3_3 testdata/ecs/job-template.json - +if [ $ECS_VERSION == "V1-1" ]; then + ecs_api_edp_get_producer_jobs 200 prod-a job1 type1 $TARGET1 ricsim_g3_1 testdata/ecs/job-template.json job2 type1 $TARGET2 ricsim_g3_2 testdata/ecs/job-template.json + ecs_api_edp_get_producer_jobs 200 prod-b job3 type2 $TARGET3 ricsim_g3_3 testdata/ecs/job-template.json +else + ecs_api_edp_get_producer_jobs_2 200 prod-a job1 type1 $TARGET1 ricsim_g3_1 testdata/ecs/job-template.json job2 type1 $TARGET2 ricsim_g3_2 testdata/ecs/job-template.json + ecs_api_edp_get_producer_jobs_2 200 prod-b job3 type2 $TARGET3 ricsim_g3_3 testdata/ecs/job-template.json +fi ## Setup prod-c (no types) if [ $ECS_VERSION == "V1-1" ]; then @@ -507,7 +677,15 @@ else ecs_api_a1_get_job_status 200 job3 ENABLED fi -prodstub_check_jobdata 200 prod-b job3 type2 $TARGET3 ricsim_g3_3 testdata/ecs/job-template2.json +if [ $ECS_VERSION == "V1-1" ]; then + prodstub_check_jobdata 200 prod-b job3 type2 $TARGET3 ricsim_g3_3 testdata/ecs/job-template2.json +else + if [[ "$ECS_FEATURE_LEVEL" != *"INFO-TYPES"* ]]; then + prodstub_check_jobdata_2 200 prod-b job3 type2 $TARGET3 ricsim_g3_3 testdata/ecs/job-template2.json + else + prodstub_check_jobdata_3 200 prod-b job3 type2 $TARGET3 ricsim_g3_3 testdata/ecs/job-template2.json + fi +fi ecs_api_a1_get_job_ids 200 NOTYPE NOWNER job1 job2 job3 if [ $ECS_VERSION == "V1-1" ]; then @@ -541,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 @@ -560,21 +745,41 @@ 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 - -prodstub_check_jobdata 200 prod-b job3 type2 $TARGET3 ricsim_g3_3 testdata/ecs/job-template2.json +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 +else + if [[ "$ECS_FEATURE_LEVEL" != *"INFO-TYPES"* ]]; then + prodstub_check_jobdata_2 200 prod-b job3 type2 $TARGET3 ricsim_g3_3 testdata/ecs/job-template2.json + else + prodstub_check_jobdata_3 200 prod-b job3 type2 $TARGET3 ricsim_g3_3 testdata/ecs/job-template2.json + fi +fi ## Setup prod-d 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 @@ -583,7 +788,15 @@ else ecs_api_a1_put_job 201 job8 type4 $TARGET8 ricsim_g3_4 $STATUS8 testdata/ecs/job-template.json fi -prodstub_check_jobdata 200 prod-d job8 type4 $TARGET8 ricsim_g3_4 testdata/ecs/job-template.json +if [ $ECS_VERSION == "V1-1" ]; then + prodstub_check_jobdata 200 prod-d job8 type4 $TARGET8 ricsim_g3_4 testdata/ecs/job-template.json +else + if [[ "$ECS_FEATURE_LEVEL" != *"INFO-TYPES"* ]]; then + prodstub_check_jobdata_2 200 prod-d job8 type4 $TARGET8 ricsim_g3_4 testdata/ecs/job-template.json + else + prodstub_check_jobdata_3 200 prod-d job8 type4 $TARGET8 ricsim_g3_4 testdata/ecs/job-template.json + fi +fi prodstub_equal create/prod-d/job8 1 prodstub_equal delete/prod-d/job8 0 @@ -616,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 @@ -649,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 @@ -665,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 @@ -673,7 +907,15 @@ else ecs_api_a1_put_job 201 job10 type6 $TARGET10 ricsim_g3_4 $STATUS10 testdata/ecs/job-template.json fi -prodstub_check_jobdata 200 prod-e job10 type6 $TARGET10 ricsim_g3_4 testdata/ecs/job-template.json +if [ $ECS_VERSION == "V1-1" ]; then + prodstub_check_jobdata 200 prod-e job10 type6 $TARGET10 ricsim_g3_4 testdata/ecs/job-template.json +else + if [[ "$ECS_FEATURE_LEVEL" != *"INFO-TYPES"* ]]; then + prodstub_check_jobdata_2 200 prod-e job10 type6 $TARGET10 ricsim_g3_4 testdata/ecs/job-template.json + else + prodstub_check_jobdata_3 200 prod-e job10 type6 $TARGET10 ricsim_g3_4 testdata/ecs/job-template.json + fi +fi prodstub_equal create/prod-e/job10 1 prodstub_equal delete/prod-e/job10 0 @@ -694,9 +936,23 @@ 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 -prodstub_check_jobdata 200 prod-f job10 type6 $TARGET10 ricsim_g3_4 testdata/ecs/job-template.json +if [ $ECS_VERSION == "V1-1" ]; then + prodstub_check_jobdata 200 prod-f job10 type6 $TARGET10 ricsim_g3_4 testdata/ecs/job-template.json +else + if [[ "$ECS_FEATURE_LEVEL" != *"INFO-TYPES"* ]]; then + prodstub_check_jobdata_2 200 prod-f job10 type6 $TARGET10 ricsim_g3_4 testdata/ecs/job-template.json + else + prodstub_check_jobdata_3 200 prod-f job10 type6 $TARGET10 ricsim_g3_4 testdata/ecs/job-template.json + fi +fi prodstub_equal create/prod-f/job10 1 prodstub_equal delete/prod-f/job10 0 @@ -825,7 +1081,11 @@ else fi # Wait for producer prod-a to be removed -ecs_equal json:ei-producer/v1/eiproducers 5 1000 +if [[ "$ECS_FEATURE_LEVEL" == *"INFO-TYPES"* ]]; then + ecs_equal json:data-producer/v1/info-producers 5 1000 +else + ecs_equal json:ei-producer/v1/eiproducers 5 1000 +fi if [ $ECS_VERSION == "V1-1" ]; then ecs_api_edp_get_producer_ids 200 prod-b prod-c prod-d prod-e prod-f @@ -855,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_api_check_all_ecs_events 200 job1-status DISABLED -cr_api_check_all_ecs_events 200 job2-status DISABLED +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 0 job1-status DISABLED +cr_api_check_all_ecs_events 200 0 job2-status DISABLED # Arm producer prod-e for supervision failure @@ -919,13 +1184,25 @@ fi #Wait for job to be updated sleep_wait 120 -prodstub_check_jobdata 200 prod-f job10 type6 $TARGET10 ricsim_g3_4 testdata/ecs/job-template2.json +if [ $ECS_VERSION == "V1-1" ]; then + prodstub_check_jobdata 200 prod-f job10 type6 $TARGET10 ricsim_g3_4 testdata/ecs/job-template2.json +else + if [[ "$ECS_FEATURE_LEVEL" != *"INFO-TYPES"* ]]; then + prodstub_check_jobdata_2 200 prod-f job10 type6 $TARGET10 ricsim_g3_4 testdata/ecs/job-template2.json + else + prodstub_check_jobdata_3 200 prod-f job10 type6 $TARGET10 ricsim_g3_4 testdata/ecs/job-template2.json + fi +fi prodstub_arm_producer 200 prod-f 400 ecs_api_edp_get_producer_status 200 prod-f DISABLED 360 -ecs_equal json:ei-producer/v1/eiproducers 4 1000 +if [[ "$ECS_FEATURE_LEVEL" == *"INFO-TYPES"* ]]; then + ecs_equal json:data-producer/v1/info-producers 4 1000 +else + ecs_equal json:ei-producer/v1/eiproducers 4 1000 +fi if [ $ECS_VERSION == "V1-1" ]; then ecs_api_edp_get_producer_ids 200 prod-b prod-c prod-d prod-e @@ -954,7 +1231,753 @@ 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 + + # End test if info types is not impl in tested version + check_ecs_logs + + store_logs END + + #### TEST COMPLETE #### + + print_result + + auto_clean_environment +fi + + +############################################ +# Test of info types +############################################ + +### Setup prodstub sim to accept calls for producers, info types and jobs +## prod-ia type101 +## prod-ib type101 and type102 +## prod-ic no-type +## prod-id type104 +## prod-ie type106 +## prod-if type106 +## prod-ig type150 (configured later) +## prod-ig type160 (configured later) + +## job101 -> prod-ia +## job102 -> prod-ia +## job103 -> prod-ib +## job104 -> prod-ia +## job106 -> prod-ib +## job108 -> prod-id +## job110 -> prod-ie and prod-if +## job150 -> prod-ig (configured later) + +prodstub_arm_producer 200 prod-ia +prodstub_arm_producer 200 prod-ib +prodstub_arm_producer 200 prod-ic +prodstub_arm_producer 200 prod-id +prodstub_arm_producer 200 prod-ie +prodstub_arm_producer 200 prod-if + +prodstub_arm_type 200 prod-ia type101 +prodstub_arm_type 200 prod-ib type102 +prodstub_arm_type 200 prod-ib type103 +prodstub_arm_type 200 prod-id type104 +prodstub_arm_type 200 prod-ie type106 +prodstub_arm_type 200 prod-if type106 + +prodstub_disarm_type 200 prod-ib type103 +prodstub_arm_type 200 prod-ib type101 +prodstub_disarm_type 200 prod-ib type101 + + +prodstub_arm_job_create 200 prod-ia job101 +prodstub_arm_job_create 200 prod-ia job102 +prodstub_arm_job_create 200 prod-ib job103 + +prodstub_arm_job_delete 200 prod-ia job101 +prodstub_arm_job_delete 200 prod-ia job102 +prodstub_arm_job_delete 200 prod-ib job103 + +prodstub_arm_job_create 200 prod-ib job104 +prodstub_arm_job_create 200 prod-ia job104 + +prodstub_arm_job_create 200 prod-ib job106 + +prodstub_arm_job_create 200 prod-id job108 + +prodstub_arm_job_create 200 prod-ie job110 +prodstub_arm_job_create 200 prod-if job110 + + +# NOTE: types, jobs and producers are still present related to eitypes + + +### Initial tests - no config made +### GET: type ids, types, producer ids, producers, job ids, jobs +### DELETE: jobs +ecs_api_idc_get_type_ids 200 type1 type2 type4 type6 +ecs_api_idc_get_type 404 test-type + +ecs_api_edp_get_type_ids 200 type1 type2 type4 type6 +ecs_api_edp_get_type_2 404 test-type + +ecs_api_edp_get_producer_ids_2 200 NOTYPE prod-b prod-c prod-d prod-e +ecs_api_edp_get_producer_2 404 test-prod +ecs_api_edp_get_producer_status 404 test-prod + +ecs_api_edp_delete_producer 404 test-prod + +ecs_api_idc_get_job_ids 200 test-type NOWNER EMPTY +ecs_api_idc_get_job_ids 200 test-type test-owner EMPTY + +ecs_api_idc_get_job 404 test-job + +ecs_api_idc_get_job_status2 404 test-job + +ecs_api_idc_delete_job 404 test-job + +ecs_api_edp_get_producer_jobs_2 404 test-prod + +ecs_api_edp_get_type_2 404 test-type +ecs_api_edp_delete_type_2 404 test-type + +### Setup of producer/job and testing apis ### + +## Setup prod-ia +ecs_api_edp_get_type_ids 200 type1 type2 type4 type6 +ecs_api_edp_get_type_2 404 type101 +ecs_api_edp_put_producer_2 404 prod-ia $CB_JOB/prod-ia $CB_SV/prod-ia type101 + +# Create type, delete and create again +ecs_api_edp_put_type_2 201 type101 testdata/ecs/info-type-1.json +ecs_api_edp_get_type_2 200 type101 +ecs_api_edp_get_type_ids 200 type101 type1 type2 type4 type6 +ecs_api_edp_delete_type_2 204 type101 +ecs_api_edp_get_type_2 404 type101 +ecs_api_edp_get_type_ids 200 type1 type2 type4 type6 +ecs_api_edp_put_type_2 201 type101 testdata/ecs/info-type-1.json +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 + +ecs_api_edp_put_producer_2 201 prod-ia $CB_JOB/prod-ia $CB_SV/prod-ia type101 +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 + +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 + +ecs_api_edp_get_producer_ids_2 200 NOTYPE prod-ia prod-b prod-c prod-d prod-e +ecs_api_edp_get_producer_ids_2 200 type101 prod-ia +ecs_api_edp_get_producer_ids_2 200 type102 EMPTY + +ecs_api_edp_get_producer_2 200 prod-ia $CB_JOB/prod-ia $CB_SV/prod-ia type101 + +ecs_api_edp_get_producer_status 200 prod-ia ENABLED + +ecs_api_idc_get_job_ids 200 type101 NOWNER EMPTY +ecs_api_idc_get_job_ids 200 type101 test-owner EMPTY + +ecs_api_idc_get_job 404 test-job + +ecs_api_idc_get_job_status2 404 test-job +ecs_api_edp_get_producer_jobs_2 200 prod-ia EMPTY + +## Create a job for prod-ia +## job101 - prod-ia +ecs_api_idc_put_job 201 job101 type101 $TARGET101 info-owner-1 $INFOSTATUS101 testdata/ecs/job-template.json VALIDATE + +# Check the job data in the producer +prodstub_check_jobdata_3 200 prod-ia job101 type101 $TARGET101 info-owner-1 testdata/ecs/job-template.json + +ecs_api_idc_get_job_ids 200 type101 NOWNER job101 +ecs_api_idc_get_job_ids 200 type101 info-owner-1 job101 + +ecs_api_idc_get_job_ids 200 NOTYPE NOWNER job101 job1 job2 job3 job8 job10 + +ecs_api_idc_get_job 200 job101 type101 $TARGET101 info-owner-1 $INFOSTATUS101 testdata/ecs/job-template.json + +ecs_api_idc_get_job_status2 200 job101 ENABLED 1 prod-ia + +prodstub_equal create/prod-ia/job101 1 + +ecs_api_edp_get_producer_jobs_2 200 prod-ia job101 type101 $TARGET101 info-owner-1 testdata/ecs/job-template.json + +## Create a second job for prod-ia +## job102 - prod-ia +ecs_api_idc_put_job 201 job102 type101 $TARGET102 info-owner-2 $INFOSTATUS102 testdata/ecs/job-template.json VALIDATE + +# Check the job data in the producer +prodstub_check_jobdata_3 200 prod-ia job102 type101 $TARGET102 info-owner-2 testdata/ecs/job-template.json +ecs_api_idc_get_job_ids 200 type101 NOWNER job101 job102 +ecs_api_idc_get_job_ids 200 type101 info-owner-1 job101 +ecs_api_idc_get_job_ids 200 type101 info-owner-2 job102 +ecs_api_idc_get_job_ids 200 NOTYPE NOWNER job101 job102 job1 job2 job3 job8 job10 + +ecs_api_idc_get_job 200 job102 type101 $TARGET102 info-owner-2 $INFOSTATUS102 testdata/ecs/job-template.json + +ecs_api_idc_get_job_status2 200 job102 ENABLED 1 prod-ia + +prodstub_equal create/prod-ia/job102 1 + +ecs_api_edp_get_producer_jobs_2 200 prod-ia job101 type101 $TARGET101 info-owner-1 testdata/ecs/job-template.json job102 type101 $TARGET102 info-owner-2 testdata/ecs/job-template.json + + +## Setup prod-ib +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 + +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 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 +ecs_api_edp_get_type_2 200 type102 testdata/ecs/info-type-2.json + +ecs_api_edp_get_producer_ids_2 200 NOTYPE prod-ia prod-ib prod-b prod-c prod-d prod-e + +ecs_api_edp_get_producer_2 200 prod-ia $CB_JOB/prod-ia $CB_SV/prod-ia type101 +ecs_api_edp_get_producer_2 200 prod-ib $CB_JOB/prod-ib $CB_SV/prod-ib type102 + +ecs_api_edp_get_producer_status 200 prod-ib ENABLED + +## Create job for prod-ib +## job103 - prod-ib +ecs_api_idc_put_job 201 job103 type102 $TARGET103 info-owner-3 $INFOSTATUS103 testdata/ecs/job-template.json VALIDATE + +prodstub_equal create/prod-ib/job103 1 + +# Check the job data in the producer +prodstub_check_jobdata_3 200 prod-ib job103 type102 $TARGET103 info-owner-3 testdata/ecs/job-template.json + +ecs_api_idc_get_job_ids 200 type101 NOWNER job101 job102 +ecs_api_idc_get_job_ids 200 type102 NOWNER job103 +ecs_api_idc_get_job_ids 200 type101 info-owner-1 job101 +ecs_api_idc_get_job_ids 200 type101 info-owner-2 job102 +ecs_api_idc_get_job_ids 200 type102 info-owner-3 job103 + +ecs_api_idc_get_job 200 job103 type102 $TARGET103 info-owner-3 $INFOSTATUS103 testdata/ecs/job-template.json + +ecs_api_idc_get_job_status2 200 job103 ENABLED 1 prod-ib + +ecs_api_edp_get_producer_jobs_2 200 prod-ia job101 type101 $TARGET101 info-owner-1 testdata/ecs/job-template.json job102 type101 $TARGET102 info-owner-2 testdata/ecs/job-template.json +ecs_api_edp_get_producer_jobs_2 200 prod-ib job103 type102 $TARGET103 info-owner-3 testdata/ecs/job-template.json + +## Setup prod-ic (no types) +ecs_api_edp_put_producer_2 201 prod-ic $CB_JOB/prod-ic $CB_SV/prod-ic NOTYPE + +ecs_api_edp_get_producer_ids_2 200 NOTYPE prod-ia prod-ib prod-ic prod-b prod-c prod-d prod-e + +ecs_api_edp_get_producer_2 200 prod-ia $CB_JOB/prod-ia $CB_SV/prod-ia type101 +ecs_api_edp_get_producer_2 200 prod-ib $CB_JOB/prod-ib $CB_SV/prod-ib type102 +ecs_api_edp_get_producer_2 200 prod-ic $CB_JOB/prod-ic $CB_SV/prod-ic EMPTY + +ecs_api_edp_get_producer_status 200 prod-ic ENABLED + + +## Delete job103 and prod-ib and re-create if different order + +# Delete job then producer +ecs_api_idc_get_job_ids 200 NOTYPE NOWNER job101 job102 job103 job1 job2 job3 job8 job10 +ecs_api_edp_get_producer_ids_2 200 NOTYPE prod-ia prod-ib prod-ic prod-b prod-c prod-d prod-e + +ecs_api_idc_delete_job 204 job103 + +ecs_api_idc_get_job_ids 200 NOTYPE NOWNER job101 job102 job1 job2 job3 job8 job10 +ecs_api_edp_get_producer_ids_2 200 NOTYPE prod-ia prod-ib prod-ic prod-b prod-c prod-d prod-e + +ecs_api_edp_delete_producer 204 prod-ib + +ecs_api_edp_get_producer_status 404 prod-ib + +ecs_api_idc_get_job_ids 200 NOTYPE NOWNER job101 job102 job1 job2 job3 job8 job10 +ecs_api_edp_get_producer_ids_2 200 NOTYPE prod-ia prod-ic prod-b prod-c prod-d prod-e + +prodstub_equal delete/prod-ib/job103 1 + +ecs_api_idc_put_job 201 job103 type102 $TARGET103 info-owner-3 $INFOSTATUS103 testdata/ecs/job-template.json VALIDATE +ecs_api_idc_get_job_status2 200 job103 DISABLED EMPTYPROD + +# Put producer then job +ecs_api_edp_put_producer_2 201 prod-ib $CB_JOB/prod-ib $CB_SV/prod-ib type102 + +ecs_api_edp_get_producer_status 200 prod-ib ENABLED + +ecs_api_idc_put_job 200 job103 type102 $TARGET103 info-owner-3 $INFOSTATUS103 testdata/ecs/job-template2.json VALIDATE +ecs_api_idc_get_job_status2 200 job103 ENABLED 1 prod-ib + +prodstub_check_jobdata_3 200 prod-ib job103 type102 $TARGET103 info-owner-3 testdata/ecs/job-template2.json + +ecs_api_idc_get_job_ids 200 NOTYPE NOWNER job101 job102 job103 job1 job2 job3 job8 job10 +ecs_api_edp_get_producer_ids_2 200 NOTYPE prod-ia prod-ib prod-ic prod-b prod-c prod-d prod-e + +prodstub_equal create/prod-ib/job103 3 +prodstub_equal delete/prod-ib/job103 1 + +# Delete only the producer +ecs_api_edp_delete_producer 204 prod-ib + +ecs_api_edp_get_producer_status 404 prod-ib + +ecs_api_idc_get_job_ids 200 NOTYPE NOWNER job101 job102 job103 job1 job2 job3 job8 job10 +ecs_api_edp_get_producer_ids_2 200 NOTYPE prod-ia prod-ic prod-b prod-c prod-d prod-e + +ecs_api_idc_get_job_status2 200 job103 DISABLED EMPTYPROD + +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 + +ecs_api_edp_get_producer_status 200 prod-ib ENABLED + +ecs_api_idc_get_job_status2 200 job103 ENABLED 1 prod-ib + +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 + +## Setup prod-id +ecs_api_edp_put_type_2 201 type104 testdata/ecs/info-type-4.json +ecs_api_edp_put_producer_2 201 prod-id $CB_JOB/prod-id $CB_SV/prod-id type104 + +ecs_api_idc_get_job_ids 200 type104 NOWNER EMPTY + +ecs_api_idc_put_job 201 job108 type104 $TARGET108 info-owner-4 $INFOSTATUS108 testdata/ecs/job-template.json VALIDATE + +prodstub_check_jobdata_3 200 prod-id job108 type104 $TARGET108 info-owner-4 testdata/ecs/job-template.json + +prodstub_equal create/prod-id/job108 1 +prodstub_equal delete/prod-id/job108 0 + +ecs_api_idc_get_job_ids 200 type104 NOWNER job108 + +ecs_api_idc_get_job_status2 200 job108 ENABLED 1 prod-id + +# Re-PUT the producer with zero types +ecs_api_edp_put_producer_2 200 prod-id $CB_JOB/prod-id $CB_SV/prod-id NOTYPE + +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 + +ecs_api_idc_get_job_status2 200 job108 DISABLED EMPTYPROD + +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 + +## Re-setup prod-id +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 + +ecs_api_idc_get_job_status2 200 job108 ENABLED 1 prod-id + +ecs_api_edp_get_producer_status 200 prod-ia ENABLED +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 + +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 + + +## Setup prod-ie +ecs_api_edp_put_type_2 201 type106 testdata/ecs/info-type-6.json +ecs_api_edp_put_producer_2 201 prod-ie $CB_JOB/prod-ie $CB_SV/prod-ie type106 + +ecs_api_idc_get_job_ids 200 type106 NOWNER EMPTY + +ecs_api_idc_put_job 201 job110 type106 $TARGET110 info-owner-4 $INFOSTATUS110 testdata/ecs/job-template.json VALIDATE + +prodstub_check_jobdata_3 200 prod-ie job110 type106 $TARGET110 info-owner-4 testdata/ecs/job-template.json + +prodstub_equal create/prod-ie/job110 1 +prodstub_equal delete/prod-ie/job110 0 + +ecs_api_idc_get_job_ids 200 type106 NOWNER job110 + +ecs_api_idc_get_job_status2 200 job110 ENABLED 1 prod-ie + +## Setup prod-if +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 + +prodstub_equal create/prod-if/job110 1 +prodstub_equal delete/prod-if/job110 0 + +ecs_api_idc_get_job_ids 200 type106 NOWNER job110 + +ecs_api_idc_get_job_status2 200 job110 ENABLED 2 prod-ie prod-if + +## Status updates prod-ia and jobs + +ecs_api_edp_get_producer_ids_2 200 NOTYPE prod-ia prod-ib prod-ic prod-id prod-ie prod-if prod-b prod-c prod-d prod-e + +ecs_api_edp_get_producer_status 200 prod-ia ENABLED +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 +ecs_api_edp_get_producer_status 200 prod-ie ENABLED +ecs_api_edp_get_producer_status 200 prod-if ENABLED + +# Arm producer prod-ia for supervision failure +prodstub_arm_producer 200 prod-ia 400 + +# Wait for producer prod-ia to go disabled +ecs_api_edp_get_producer_status 200 prod-ia DISABLED 360 + +ecs_api_edp_get_producer_ids_2 200 NOTYPE prod-ia prod-ib prod-ic prod-id prod-ie prod-if prod-b prod-c prod-d prod-e + +ecs_api_edp_get_producer_status 200 prod-ia DISABLED +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 +ecs_api_edp_get_producer_status 200 prod-ie ENABLED +ecs_api_edp_get_producer_status 200 prod-if ENABLED + + +ecs_api_idc_get_job_status2 200 job101 ENABLED 1 prod-ia +ecs_api_idc_get_job_status2 200 job102 ENABLED 1 prod-ia +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 + +# Arm producer prod-ia for supervision +prodstub_arm_producer 200 prod-ia 200 + +# Wait for producer prod-ia to go enabled +ecs_api_edp_get_producer_status 200 prod-ia ENABLED 360 + +ecs_api_edp_get_producer_ids_2 200 NOTYPE prod-ia prod-ib prod-ic prod-id prod-ie prod-if prod-b prod-c prod-d prod-e + +ecs_api_edp_get_producer_status 200 prod-ia ENABLED +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 +ecs_api_edp_get_producer_status 200 prod-ie ENABLED +ecs_api_edp_get_producer_status 200 prod-if ENABLED + +ecs_api_idc_get_job_status2 200 job101 ENABLED 1 prod-ia +ecs_api_idc_get_job_status2 200 job102 ENABLED 1 prod-ia +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 + +# Arm producer prod-ia for supervision failure +prodstub_arm_producer 200 prod-ia 400 + +# Wait for producer prod-ia to go disabled +ecs_api_edp_get_producer_status 200 prod-ia DISABLED 360 + +ecs_api_edp_get_producer_ids_2 200 NOTYPE prod-ia prod-ib prod-ic prod-id prod-ie prod-if prod-b prod-c prod-d prod-e + +ecs_api_edp_get_producer_status 200 prod-ia DISABLED +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 +ecs_api_edp_get_producer_status 200 prod-ie ENABLED +ecs_api_edp_get_producer_status 200 prod-if ENABLED + +ecs_api_idc_get_job_status2 200 job101 ENABLED 1 prod-ia +ecs_api_idc_get_job_status2 200 job102 ENABLED 1 prod-ia +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 + +# Wait for producer prod-ia to be removed +if [[ "$ECS_FEATURE_LEVEL" == *"INFO-TYPES"* ]]; then + ecs_equal json:data-producer/v1/info-producers 9 1000 +else + ecs_equal json:ei-producer/v1/eiproducers 9 1000 +fi + +ecs_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 + + +ecs_api_edp_get_producer_status 404 prod-ia +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 +ecs_api_edp_get_producer_status 200 prod-ie ENABLED +ecs_api_edp_get_producer_status 200 prod-if ENABLED + +ecs_api_idc_get_job_status2 200 job101 DISABLED EMPTYPROD +ecs_api_idc_get_job_status2 200 job102 DISABLED EMPTYPROD +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 + + +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 +prodstub_arm_producer 200 prod-ie 400 + +ecs_api_edp_get_producer_status 200 prod-ie DISABLED 1000 + +ecs_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 + +ecs_api_edp_get_producer_status 404 prod-ia +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 +ecs_api_edp_get_producer_status 200 prod-ie DISABLED +ecs_api_edp_get_producer_status 200 prod-if ENABLED + +ecs_api_idc_get_job_status2 200 job101 DISABLED EMPTYPROD +ecs_api_idc_get_job_status2 200 job102 DISABLED EMPTYPROD +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 + +#Disable create for job110 in prod-ie +prodstub_arm_job_create 200 prod-ie job110 400 + +#Update tjob 10 - only prod-if will be updated +ecs_api_idc_put_job 200 job110 type106 $TARGET110 info-owner-4 $INFOSTATUS110 testdata/ecs/job-template2.json VALIDATE +#Reset producer and job responses +prodstub_arm_producer 200 prod-ie 200 +prodstub_arm_job_create 200 prod-ie job110 200 + +ecs_api_edp_get_producer_status 200 prod-ie ENABLED 360 + +ecs_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 + +#Wait for job to be updated +sleep_wait 120 + +prodstub_check_jobdata_3 200 prod-if job110 type106 $TARGET110 info-owner-4 testdata/ecs/job-template2.json + +prodstub_arm_producer 200 prod-if 400 + +ecs_api_edp_get_producer_status 200 prod-if DISABLED 360 + +if [[ "$ECS_FEATURE_LEVEL" == *"INFO-TYPES"* ]]; then + ecs_equal json:data-producer/v1/info-producers 8 1000 +else + ecs_equal json:ei-producer/v1/eiproducers 8 1000 +fi + +ecs_api_edp_get_producer_ids_2 200 NOTYPE prod-ib prod-ic prod-id prod-ie prod-b prod-c prod-d prod-e + +ecs_api_edp_get_producer_status 404 prod-ia +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 +ecs_api_edp_get_producer_status 200 prod-ie ENABLED +ecs_api_edp_get_producer_status 404 prod-if + +ecs_api_idc_get_job_status2 200 job101 DISABLED EMPTYPROD +ecs_api_idc_get_job_status2 200 job102 DISABLED EMPTYPROD +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 + +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 +ecs_api_idc_put_job 404 job150 type150 $TARGET150 info-owner-1 $INFOSTATUS150 testdata/ecs/job-template.json VALIDATE +ecs_api_idc_put_job 201 job160 type160 $TARGET160 info-owner-1 $INFOSTATUS160 testdata/ecs/job-template.json + +ecs_api_idc_get_job_status2 404 job150 +ecs_api_idc_get_job_status2 200 job160 DISABLED EMPTYPROD 60 + +prodstub_arm_producer 200 prod-ig +prodstub_arm_job_create 200 prod-ig job150 +prodstub_arm_job_create 200 prod-ig job160 + +ecs_api_edp_put_producer_2 201 prod-ig $CB_JOB/prod-ig $CB_SV/prod-ig NOTYPE +ecs_api_edp_get_producer_status 200 prod-ig ENABLED 360 + +ecs_api_edp_get_producer_2 200 prod-ig $CB_JOB/prod-ig $CB_SV/prod-ig EMPTY + +ecs_api_idc_get_job_status2 404 job150 +ecs_api_idc_get_job_status2 200 job160 DISABLED EMPTYPROD 60 + +prodstub_arm_type 200 prod-ig type160 + +ecs_api_edp_put_type_2 201 type160 testdata/ecs/info-type-60.json +ecs_api_idc_get_type_ids 200 type1 type2 type4 type6 type101 type102 type104 type106 type160 + +ecs_api_edp_put_producer_2 200 prod-ig $CB_JOB/prod-ig $CB_SV/prod-ig type160 +ecs_api_edp_get_producer_status 200 prod-ig ENABLED 360 +ecs_api_edp_get_producer_2 200 prod-ig $CB_JOB/prod-ig $CB_SV/prod-ig type160 + +ecs_api_idc_put_job 404 job150 type150 $TARGET150 info-owner-1 $INFOSTATUS150 testdata/ecs/job-template.json VALIDATE + +ecs_api_idc_get_job_status2 404 job150 +ecs_api_idc_get_job_status2 200 job160 ENABLED 1 prod-ig 60 + +prodstub_check_jobdata_3 200 prod-ig job160 type160 $TARGET160 info-owner-1 testdata/ecs/job-template.json + +prodstub_equal create/prod-ig/job160 1 +prodstub_equal delete/prod-ig/job160 0 + +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 + +ecs_api_edp_get_producer_2 200 prod-ig $CB_JOB/prod-ig $CB_SV/prod-ig type160 type150 + +ecs_api_idc_get_job_status2 404 job150 +ecs_api_idc_get_job_status2 200 job160 ENABLED 1 prod-ig + +ecs_api_idc_put_job 201 job150 type150 $TARGET150 info-owner-1 $INFOSTATUS150 testdata/ecs/job-template.json VALIDATE + +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 + +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 @@ -964,4 +1987,4 @@ store_logs END print_result -auto_clean_environment +auto_clean_environment \ No newline at end of file