Further updates to the auto-test environment

Aligned python to python 3

Added test script of ric re-sync

Preparing for secure port of simulator and agent

Integrated SNDC ONAP adapter to the test environment

MR-stub now support long poll and message limits

Change-Id: I280f173f811a9fd859c4cc5234084a5a20f77a90
Issue-ID: NONRTRIC-154
Signed-off-by: BjornMagnussonXA <bjorn.magnusson@est.tech>
diff --git a/test/mrstub/basic_test.sh b/test/mrstub/basic_test.sh
index 13ea3a6..577894d 100755
--- a/test/mrstub/basic_test.sh
+++ b/test/mrstub/basic_test.sh
@@ -19,8 +19,27 @@
 
 # Automated test script for mrstub container
 
-# mr-stub port
-export PORT=3905
+# Run the build_and_start with the same arg as this script
+if [ $# -ne 1 ]; then
+    echo "Usage: ./basic_test nonsecure|secure"
+    exit 1
+fi
+if [ "$1" != "nonsecure" ] && [ "$1" != "secure" ]; then
+    echo "Usage: ./basic_test nonsecure|secure"
+    exit 1
+fi
+
+if [ $1 == "nonsecure" ]; then
+    #Default http port for the simulator
+    PORT=3905
+    # Set http protocol
+    HTTPX="http"
+else
+    #Default https port for the mr-stub
+    PORT=3906
+    # Set https protocol
+    HTTPX="https"
+fi
 
 # source function to do curl and check result
 . ../common/do_curl_function.sh
@@ -78,6 +97,53 @@
 RESULT="json:[{\"apiVersion\":\"1.0\",\"operation\":\"GET\",\"correlationId\":\""$CORRID"\",\"originatorId\": \"849e6c6b420\",\"payload\":{},\"requestId\":\"23343221\", \"target\":\"policy-agent\", \"timestamp\":\"????\", \"type\":\"request\",\"url\":\"/test2\"}]"
 do_curl GET '/events/A1-POLICY-AGENT-READ/users/policy-agent' 200
 
+echo "=== Fetch a request, empty. Shall delay 10 seconds ==="
+T1=$SECONDS
+RESULT="json:[]"
+do_curl GET '/events/A1-POLICY-AGENT-READ/users/policy-agent' 200
+T2=$SECONDS
+if [ $(($T2-$T1)) -lt 10 ] || [ $(($T2-$T1)) -gt 15 ]; then
+    echo "Delay to short or too long"$(($T2-$T1))". Should be default 10 sec"
+    exit 1
+else
+    echo "  Delay ok:"$(($T2-$T1))
+fi
+
+echo "=== Fetch a request, empty. Shall delay 5 seconds ==="
+T1=$SECONDS
+RESULT="json:[]"
+do_curl GET '/events/A1-POLICY-AGENT-READ/users/policy-agent?timeout=5000' 200
+T2=$SECONDS
+if [ $(($T2-$T1)) -lt 5 ] || [ $(($T2-$T1)) -gt 7 ]; then
+    echo "Delay to short or too long"$(($T2-$T1))". Should be 10 sec"
+    exit 1
+else
+    echo "  Delay ok:"$(($T2-$T1))
+fi
+
+echo "=== Fetch a request with limit 25, shall be empty.  ==="
+RESULT="json-array-size:0"
+do_curl GET '/events/A1-POLICY-AGENT-READ/users/policy-agent?timeout=1000&limit=25' 200
+
+echo "=== Send 5 request to test limit on MR GET==="
+RESULT="*"
+for i in {1..5}
+do
+    do_curl POST '/send-request?operation=GET&url=/test2' 200
+done
+
+echo "=== Fetch a request with limit 3.  ==="
+RESULT="json-array-size:3"
+do_curl GET '/events/A1-POLICY-AGENT-READ/users/policy-agent?timeout=1000&limit=3' 200
+
+echo "=== Fetch a request with limit 3, shall return 2.  ==="
+RESULT="json-array-size:2"
+do_curl GET '/events/A1-POLICY-AGENT-READ/users/policy-agent?timeout=1000&limit=3' 200
+
+echo "=== Fetch a request with limit 3, shall return 0.  ==="
+RESULT="json-array-size:0"
+do_curl GET '/events/A1-POLICY-AGENT-READ/users/policy-agent?timeout=1000&limit=3' 200
+
 echo "=== Send a json response ==="
 # Create minimal accepted response message
 echo "[{\"correlationId\": \""$CORRID"\", \"message\": \"test2-response\", \"status\": \"200\"}]" > .tmp.json