diff --git a/json/json_port_test3.sh b/json/json_port_test3.sh index ee893ce7..5ed3599d 100755 --- a/json/json_port_test3.sh +++ b/json/json_port_test3.sh @@ -5,6 +5,8 @@ unset http_proxy Q='"' q="'" S='*' +m=40 +n=42 application_json="application/json" accept_json="Accept: $application_json" accept_html='Accept: text/html' @@ -12,9 +14,11 @@ accept_text='Accept: text/plain' #accept_any="'Accept: */*'" # just dont use content_plain='Content-Type: text/plain' content_json="Content-Type: $application_json" -switches='-sqv' +headers="/var/tmp/headers.$$" +switches="-s -D $headers -o $result" #switches='-sq' data_file=/var/tmp/data.$$ +result=/var/tmp/result.$$ function Kurl() { echo "=======================================================================================" @@ -34,19 +38,33 @@ function Jurl() { echo "=J=====================================================================================" } +function Kuurl() { + echo "URL: ${@:$#}" + echo "" > $result + echo "" > $headers + #curl $switches -H "$accept_json" -H "$content_json" -X POST -d"@$data_file" "$@" ||: + set -x + curl "$@" ||: + set +x + grep 'HTTP/1.1 200' $headers || (echo "${@:$#}"; cat $headers) +} + #url="http://jed-f24m64-9119:8080" url="http://127.0.0.1:8080" function PortDown() { + switches="-s -D $headers -o $result" echo "{\"shelf\":1,\"resource\":3,\"port\":\"$1\",\"current_flags\":1, \"interest\":8388610}" > $data_file - curl $switches -H "$accept_json" -H "$content_json" -X POST -d"@$data_file" "$url/cli-json/set_port" || : + Kuurl $switches -H "$accept_json" -H "$content_json" -X POST -d"@$data_file" "$url/cli-json/set_port" sleep 0.3 for f in `seq 1 10`; do echo "{\"shelf\":1,\"resource\":3,\"port\":\"$1\"}" > $data_file - curl $switches -H "$accept_json" -H "$content_json" -X POST -d"@$data_file" "$url/cli-json/nc_show_ports" || : - sleep 0.5 - curl $switches "$url/port/1/3/$1?fields=alias,ip,down" | json_pp > /var/tmp/result - grep '"down" : true' /var/tmp/result && break || : + cat $data_file + Kuurl $switches -H "$accept_json" -H "$content_json" -X POST -d"@$data_file" "$url/cli-json/nc_show_ports" + sleep 0.5 + Kuurl $switches "$url/port/1/3/$1?fields=alias,ip,down" + json_pp < $result || cat $result + grep '"down".*true' $result && break || : done } @@ -54,40 +72,75 @@ function PortUp() { #set_port 1 3 sta3101 NA NA NA NA 0 NA NA NA NA 8388610 echo "{\"shelf\":1,\"resource\":3,\"port\":\"$1\",\"current_flags\":0, \"interest\":8388610}" > $data_file curl $switches -H "$accept_json" -H "$content_json" -X POST -d"@$data_file" "$url/cli-json/set_port" - sleep 1 + sleep 1 for f in `seq 1 100`; do echo "{\"shelf\":1,\"resource\":3,\"port\":\"$1\"}" > $data_file #Jurl -d"@$data_file" "$url/cli-json/nc_show_ports" curl $switches -H "$accept_json" -H "$content_json" -X POST -d"@$data_file" "$url/cli-json/nc_show_ports" - sleep 0.5 - curl $switches "$url/port/1/3/$1?fields=alias,ip,down" | json_pp > /var/tmp/result || : - #cat /tmp/result - grep '"down" : false' /var/tmp/result && break || : + sleep 0.5 + curl $switches "$url/port/1/3/$1?fields=alias,ip,down" + json_pp < $result || cat $result + grep '"down".*false' $result && break || : done } function CxToggle() { echo "{\"test_mgr\":\"all\",\"cx_name\":\"$1\",\"cx_state\":\"$2\"}" > $data_file - curl $switches -H "$accept_json" -H "$content_json" -X POST -d"@$data_file" "$url/cli-json/set_cx_state" || : + cat $data_file + Kuurl $switches -H "$accept_json" -H "$content_json" -X POST -d"@$data_file" "$url/cli-json/set_cx_state" } +function CxCreate() { # alias, port + echo "{\"alias\":\"$1-A\",\"shelf\":1,\"resource\":3,\"port\":\"$2\",\"type\":\"lf_udp\",\"ip_port\":\"AUTO\",\"is_rate_bursty\":\"NO\",\"min_rate\":164000,\"min_pkt\":-1,\"max_pkt\":0}" > $data_file + cat $data_file + Kuurl $switches -H "$accept_json" -H "$content_json" -X POST -d"@$data_file" "$url/cli-json/add_endp" + + echo "{\"alias\":\"$1-B\",\"shelf\":1,\"resource\":2,\"port\":\"b2000\",\"type\":\"lf_udp\",\"ip_port\":\"AUTO\",\"is_rate_bursty\":\"NO\",\"min_rate\":64000,\"min_pkt\":-1,\"max_pkt\":0}" > $data_file + cat $data_file + Kuurl $switches -H "$accept_json" -H "$content_json" -X POST -d"@$data_file" "$url/cli-json/add_endp" + + echo "{\"alias\":\"$1\",\"test_mgr\":\"default_tm\",\"tx_endp\":\"$1-A\",\"rx_endp\":\"$1-B\"}" > $data_file + cat $data_file + Kuurl $switches -H "$accept_json" -H "$content_json" -X POST -d"@$data_file" "$url/cli-json/add_cx" + + echo "{\"endpoint\":\"$1-A\"}" > $data_file + Kuurl $switches -H "$accept_json" -H "$content_json" -X POST -d"@$data_file" "$url/cli-json/nc_show_endpoints" + + echo "{\"endpoint\":\"$1-B\"}" > $data_file + Kuurl $switches -H "$accept_json" -H "$content_json" -X POST -d"@$data_file" "$url/cli-json/nc_show_endpoints" +} + +# create some cx +for eidcx in `seq $m $n` ; do + CxCreate "udp-$eidcx" "sta$((3060 + $eidcx))" + sleep 1 + Kuurl $switches -H "$accept_json" "$url/endp/udp-$eidcx-A?fields=name,run" + Kuurl $switches -H "$accept_json" "$url/endp/udp-$eidcx-B?fields=name,run" + Kuurl $switches -H "$accept_json" "$url/cx/udp-$eidcx?fields=name,state" +done + +sleep 5 while true; do - for eidcx in `seq 40 61` ; do - CxToggle "$eidcx" "STOPPED" - curl $switches -H "$accept_json" "$url/endp/$eidcx?fields=name,run" + for eidcx in `seq $m $n` ; do + CxToggle "udp-$eidcx" "STOPPED" + Kuurl $switches -H "$accept_json" "$url/endp/udp-$eidcx-A?fields=name,run" + Kuurl $switches -H "$accept_json" "$url/endp/udp-$eidcx-B?fields=name,run" + Kuurl $switches -H "$accept_json" "$url/cx/udp-$eidcx?fields=name,state" done - for sta in `seq 100 121`; do + for sta in `seq 100 120`; do stb=$(( $sta + 3000)) PortDown "sta$stb" done - for sta in `seq 100 121`; do + for sta in `seq 100 120`; do stb=$(( $sta + 3000)) PortUp "sta$stb" done sleep 4 - for eidcx in 34 35 36 37 38 39 ; do - CxToggle "$eidcx" "RUNNING" - curl $switches -H "$accept_json" "$url/endp/$eidcx?fields=name,run" || : + for eidcx in `seq $m $n` ; do + CxToggle "udp-$eidcx" "RUNNING" + Kuurl $switches -H "$accept_json" "$url/endp/udp-$eidcx-A?fields=name,run" + Kuurl $switches -H "$accept_json" "$url/endp/udp-$eidcx-B?fields=name,run" + Kuurl $switches -H "$accept_json" "$url/cx/udp-$eidcx?fields=name,state" done sleep 14 done