Fix RTD buile fails - tox.ini whitelist->allowlist
[nonrtric.git] / test / common / sdnc_api_functions.sh
index 3ac0a6c..511d258 100644 (file)
@@ -1,7 +1,7 @@
 #!/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.
@@ -33,8 +33,8 @@ __SDNC_imagesetup() {
                        sdnc_suffix_tag="REMOTE_RELEASE_ONAP"
                fi
        done
-       __check_and_create_image_var SDNC "SDNC_A1_CONTROLLER_IMAGE" "SDNC_A1_CONTROLLER_IMAGE_BASE" "SDNC_A1_CONTROLLER_IMAGE_TAG" $sdnc_suffix_tag "$SDNC_DISPLAY_NAME"
-       __check_and_create_image_var SDNC "SDNC_DB_IMAGE" "SDNC_DB_IMAGE_BASE" "SDNC_DB_IMAGE_TAG" REMOTE_PROXY "SDNC DB"
+       __check_and_create_image_var SDNC "SDNC_A1_CONTROLLER_IMAGE" "SDNC_A1_CONTROLLER_IMAGE_BASE" "SDNC_A1_CONTROLLER_IMAGE_TAG" $sdnc_suffix_tag "$SDNC_DISPLAY_NAME" ""
+       __check_and_create_image_var SDNC "SDNC_DB_IMAGE" "SDNC_DB_IMAGE_BASE" "SDNC_DB_IMAGE_TAG" REMOTE_PROXY "SDNC DB" ""
 
 }
 
@@ -77,12 +77,12 @@ __SDNC_kube_scale_zero() {
 }
 
 # 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.
+# This function is called for pre-started apps not managed by the test script.
 __SDNC_kube_scale_zero_and_wait() {
        echo -e " SDNC replicas kept as is"
 }
 
-# Delete all kube resouces for the app
+# Delete all kube resources for the app
 # This function is called for apps managed by the test script.
 __SDNC_kube_delete_all() {
        __kube_delete_all_resources $KUBE_SDNC_NAMESPACE autotest SDNC
@@ -90,12 +90,12 @@ __SDNC_kube_delete_all() {
 
 # Store docker logs
 # This function is called for apps managed by the test script.
-# args: <log-dir> <file-prexix>
+# args: <log-dir> <file-prefix>
 __SDNC_store_docker_logs() {
        if [ $RUNMODE == "KUBE" ]; then
-               kubectl  logs -l "autotest=SDNC" -n $KUBE_SDNC_NAMESPACE --tail=-1 > $1$2_SDNC.log 2>&1
-               podname=$(kubectl get pods -n $KUBE_SDNC_NAMESPACE -l "autotest=SDNC" -o custom-columns=":metadata.name")
-               kubectl exec -t -n $KUBE_SDNC_NAMESPACE $podname -- cat $SDNC_KARAF_LOG> $1$2_SDNC_karaf.log 2>&1
+               kubectl $KUBECONF  logs -l "autotest=SDNC" -n $KUBE_SDNC_NAMESPACE --tail=-1 > $1$2_SDNC.log 2>&1
+               podname=$(kubectl $KUBECONF get pods -n $KUBE_SDNC_NAMESPACE -l "autotest=SDNC" -o custom-columns=":metadata.name")
+               kubectl $KUBECONF exec -t -n $KUBE_SDNC_NAMESPACE $podname -- cat $SDNC_KARAF_LOG> $1$2_SDNC_karaf.log 2>&1
        else
                docker exec -t $SDNC_APP_NAME cat $SDNC_KARAF_LOG> $1$2_SDNC_karaf.log 2>&1
        fi
@@ -108,11 +108,11 @@ __SDNC_initial_setup() {
        use_sdnc_http
 }
 
-# Set app short-name, app name and namespace for logging runtime statistics of kubernets pods or docker containers
+# Set app short-name, app name and namespace for logging runtime statistics of kubernetes 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.
+# This function is called for apps managed by the test script as well as for pre-started apps.
 # args: -
-__SDNC_statisics_setup() {
+__SDNC_statistics_setup() {
        if [ $RUNMODE == "KUBE" ]; then
                echo "SDNC $SDNC_APP_NAME $KUBE_SDNC_NAMESPACE"
        else
@@ -120,6 +120,12 @@ __SDNC_statisics_setup() {
        fi
 }
 
+# Check application requirements, e.g. helm, the the test needs. Exit 1 if req not satisfied
+# args: -
+__SDNC_test_requirements() {
+       :
+}
+
 #######################################################
 
 # Set http as the protocol to use for all communication to SDNC
@@ -192,7 +198,7 @@ start_sdnc() {
                __check_included_image "SDNC"
                retcode_i=$?
 
-               # Check if app shall only be used by the testscipt
+               # Check if app shall only be used by the test script
                __check_prestarted_image "SDNC"
                retcode_p=$?
 
@@ -242,7 +248,7 @@ start_sdnc() {
                __check_included_image 'SDNC'
                if [ $? -eq 1 ]; then
                        echo -e $RED"The SDNC A1 Controller app is not included in this test script"$ERED
-                       echo -e $RED"The Policy Agent will not be started"$ERED
+                       echo -e $RED"The A1PMS will not be started"$ERED
                        exit
                fi
 
@@ -307,7 +313,7 @@ start_stopped_sdnc() {
        return 0
 }
 
-# Check the agent logs for WARNINGs and ERRORs
+# Check the sdnc logs for WARNINGs and ERRORs
 # args: -
 # (Function for test scripts)
 check_sdnc_logs() {
@@ -632,4 +638,37 @@ controller_api_get_A1_policy_status() {
 
        __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
+}