Files
wlan-lanforge-scripts/json/json_port_test.sh
2018-08-03 15:23:44 -07:00

253 lines
9.4 KiB
Bash
Executable File

#!/bin/bash
set -e
unset proxy
unset http_proxy
Q='"'
q="'"
S='*'
application_json="application/json"
accept_json="Accept: $application_json"
accept_html='Accept: text/html'
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'
function Kurl() {
echo =======================================================================================
echo curl $switches $@
echo =======================================================================================
#set -x
curl $switches "$@"
#set +x
echo ""
echo =======================================================================================
}
function Jurl() {
echo =J=====================================================================================
echo curl $switches -H "$accept_json" -H "$content_json" "$@"
echo =J=====================================================================================
set -x
curl $switches -H "$accept_json" -H "$content_json" "$@"
set +x
echo ""
echo =J=====================================================================================
}
url="http://localhost:8080"
if true; then
#echo 'shelf=1&resource=3&port=sta3000&mac=xx:xx:xx:xx:xx:*' > /tmp/curl_data
echo '{"shelf":1,"resource":1,"port":"eth3","current_flags":1, "interest":2}' > /tmp/curl_data
Jurl -X POST -d '@/tmp/curl_data' "http://localhost:8080/cli-json/set_port"
fi
exit
if false; then
Kurl $acept_json $url/resource/1/list
echo 'shelf=1&resource=3&port=sta3000&mac=xx:xx:xx:xx:xx:*' > /tmp/curl_data
curl -sqv -H 'Accept: application/json' -X POST -d '@/tmp/curl_data' http://localhost:8080/cli-form/set_port
url="http://localhost:8080/cli"
echo 'cmd=scan_wifi+1+3+sta30000' > /tmp/curl_data
Kurl -X POST -d '@/tmp/curl_data' -H "$accept_json" "$url"
# this is not supported
# url="http://localhost:8080/cli/scan_wifi"
# echo '1+3+sta30000' > /tmp/curl_data
# Kurl -X POST -d '@/tmp/curl_data' -H "$accept_json" "$url"
#Kurl -X GET "$url/help/set_wifi_radio?cli=1%203%20wiphy1%20NA%20-1%20NA%20NA%20NA%20NA%20NA%20NA%20NA%20NA%200x1%20NA"
#CMD: set_wifi_radio 1 3 wiphy1 NA -1 NA NA NA NA NA NA NA NA 0x1 NA
echo "shelf=1&resource=3&radio=wiphy1&channel=-1&antenna=3x3&flags=0x10" > /tmp/curl_data
Kurl -H "$accept_json" -X POST -d "@/tmp/curl_data" "$url/cli-form/set_wifi_radio"
#CMD: add_sta 1 3 wiphy1 sta3000 0 idtest-1000-open NA [BLANK] AUTO NA 00:0e:8e:98:64:45 8 NA NA NA NA NA 0
echo "shelf=1&resource=3&radio=wiphy1&sta_name=sta3000&flags=0&ssid=idtest-1000-open&key=[BLANK]&ap=AUTO&mac=00:0e:8e:98:64:45&mode=8&flags_mask=0" > /tmp/curl_data
Kurl -H "$accept_json" -X POST -d "@/tmp/curl_data" "$url/cli-form/add_sta"
#CMD: set_port 1 3 sta3000 0.0.0.0 255.255.0.0 0.0.0.0 NA 2147483648 00:0e:8e:98:64:45 NA NA NA 8405038 1000 NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NONE
echo 'shelf=&resource=1&port=3&ip_addr=sta3000&netmask=0.0.0.0&gateway=255.255.0.0&cmd_flags=0.0.0.0&mac=2147483648&mtu=00:0e:8e:98:64:45&report_timer=8405038&flags2=1000&ipv6_dflt_gw=N&bypass_wdt=A' > /tmp/curl_data
Kurl -H "$accept_json" -X POST -d "@/tmp/curl_data" "$url/cli-form/set_port"
echo -n "shelf=1&resource=3&radio=wiphy1&mode=NA&channel=-1&country=NA&frequency=NA&frag_thresh=NA" > /tmp/curl_data
echo -n "&rate=NA&rts=NA&txpower=NA&mac=NA&antenna=NA&flags=1&flags_mask=1&const_tx=NA" >> /tmp/curl_data
echo -n "&pulse_width=NA&pulse_interval=NA&vdev_count=NA&peer_count=NA&stations_count=NA" >> /tmp/curl_data
echo -n "&rate_ctrl_count=NA&fwname=NA&fwver=NA&txdesc_count=NA&tids_count=NA&skid_limit=NA" >> /tmp/curl_data
echo -n "&active_peer_count=NA&tx_pulses=NA&pulse2_interval_us=NA&max_amsdu=NA&pref_ap=NA" >> /tmp/curl_data
Kurl -X GET -d "@/tmp/curl_data" $url/help/set_wifi_radio
echo -n "http://cholla:8080/help/set_wifi_radio?"
echo -n "shelf=1&resource=3&radio=wiphy1&mac=02:04:05:06:07:11&flags=1&flags_mask=1"
# -1=auto or -1=ANY
#CMD: set_wifi_radio 1 3 wiphy1 NA -1 NA NA NA NA NA NA NA NA 0x1 NA
echo -n "shelf=1&resource=3&radio=NA&mode=NA&channel=NA&country=NA&frequency=NA&frag_thresh=NA" > /tmp/curl_data
echo -n "&rate=NA&rts=NA&txpower=NA&mac=NA&antenna=NA&flags=NA&flags_mask=NA&const_tx=NA" >> /tmp/curl_data
echo -n "&pulse_width=NA&pulse_interval=NA&vdev_count=NA&peer_count=NA&stations_count=NA" >> /tmp/curl_data
echo -n "&rate_ctrl_count=NA&fwname=NA&fwver=NA&txdesc_count=NA&tids_count=NA&skid_limit=NA" >> /tmp/curl_data
echo -n "&active_peer_count=NA&tx_pulses=NA&pulse2_interval_us=NA&max_amsdu=NA&pref_ap=NA" >> /tmp/curl_data
url="http://localhost:8080/cli-form/set_wifi_radio"
Kurl -X POST -d "@/tmp/curl_data" $url
#CMD: add_sta 1 3 wiphy1 sta3000 0 idtest-1000-open NA [BLANK] AUTO NA 00:0e:8e:98:64:45 8 NA NA NA NA NA 0
#CMD: set_port 1 3 sta3000 0.0.0.0 255.255.0.0 0.0.0.0 NA 2147483648 00:0e:8e:98:64:45 NA NA NA 8405038 1000 NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NONE
# help demo
url="http://localhost:8080/cli-form/add_vsta"
Kurl -X POST -d 'help=1' -H "$accept_json" "$url"
Kurl -X POST -d 'help=?' -H "$accept_json" "$url"
Kurl -X POST -d 'help=%63' -H "$accept_json" "$url"
#$::resource, $::sta_wiphy, $sta_name, "$flags", "$::ssid", "$::passphrase", $mac_addr, "$flagsmask", $wifi_m, $::bssid);
url="http://localhost:8080/cli-form/add_vsta"
echo 'shelf=1&resource=3&sta_wiphy=&sta_name=&flags=&ssid=&passphrase=&flagsmask=&wifi_m=&bssid=' > /tmp/curl_data
Kurl -X POST -d '@/tmp/curl_data' -H "$accept_json" "$url"
url="http://localhost:8080/cli-form/add_sta"
echo 'shelf=1&resource=3&sta_wiphy=&sta_name=&flags=&ssid=&passphrase=&flagsmask=&wifi_m=&bssid=' > /tmp/curl_data
Kurl -X POST -d '@/tmp/curl_data' -H "$accept_json" "$url"
#fmt_port_cmd($resource, $sta_name, $ip_addr, $mac_addr);
url="http://localhost:8080/cli-form/set_port"
echo 'shelf=1&resource=3&port=&ip_addr=&mac=' > /tmp/curl_data
Kurl -X POST -d '@/tmp/curl_data' -H "$accept_json" "$url"
#if ($::admin_down_on_add) {
# my $cur_flags = 0x1; # port down
# my $ist_flags = 0x800000; # port down
# $sta1_cmd = fmt_cmd("set_port", 1, $resource, $sta_name, "NA",
# "NA", "NA", "NA", "$cur_flags",
# "NA", "NA", "NA", "NA", "$ist_flags");
# 3doCmd($sta1_cmd);
#}
echo 'cmd=set_port_alias&shelf=1&resource=2&port=sta333&vport=NA&alias=bob33' > /tmp/curl_data
Kurl -X POST --data "@/tmp/curl_data" -H "$accept_json" -H "$content_plain" "$url"
sleep 5
echo 'cmd=set_port_alias&shelf=1&resource=2&port=sta333&vport=NA&alias=bob33' > /tmp/curl_data
Kurl -X POST --data "@/tmp/curl_data" -H "$accept_json" -H "$content_json" "$url"
echo 'shelf=1&resource=3&port=12&vport=NA&alias-64=Ym9iMzMK' > /tmp/curl_data
Kurl -X POST --data "@/tmp/curl_data" -H "$accept_json" "$url"
echo 'shelf=1&resource=3&port=12&vport=NA&alias=bob+33' > /tmp/curl_data
Kurl -X POST --data "@/tmp/curl_data" -H "$accept_json" "$url"
url="http://localhost:8080/cli-form/"
Kurl -X POST -d 'cmd=gossip&message=hi+there' -H "$accept_json" "$url"
url="http://localhost:8080/cli-form/scan_wifi"
echo 'shelf=1&resource=3&port=sta30000' > /tmp/curl_data
Kurl -X POST -d '@/tmp/curl_data' -H "$accept_json" "$url"
# the protocol command can only send back errors
# udp--2.b2000-03.sta30000
#url="http://localhost:8080/cli-form/getMAC"
#echo 'CX=udp--2.b2000-03.sta30000&AorB=A' > /tmp/curl_data
#Kurl -X POST --data "@/tmp/curl_data" -H "$accept_json" "$url"
fi
echo ""
echo "END"
exit
echo =======================================================================================
url="http://localhost:8080/port/1/2/2"
Kurl -X GET $url
Kurl -X HEAD $url
Kurl -X PUT $url
Kurl -X DELETE $url
port_fields=(
"Crypt"
"Beacon"
"MAC"
"QLEN"
"Misc"
"Phantom"
"TX Pkts"
"Login-Fail"
"IPv6 Gateway"
"Logout-OK"
"CX Time (us)"
"Connections"
"Mask"
"No CX (us)"
"Channel"
"RX Bytes"
"bps RX"
"TX Errors"
"RX-Rate"
"ANQP Time (us)"
"RX Miss"
"Bytes TX LL"
"SSID"
"TX Fifo"
"DHCP (ms)"
"Retry"
"Port"
"Bytes RX LL"
"RX Errors"
"4Way Time (us)"
"Logout-Fail"
"Pps RX"
"MTU"
"AP"
"RX Length"
"Parent Dev"
"bps RX LL"
"RX Fifo"
"RX Drop"
"Pps TX"
"Noise"
"IP"
"TX Wind"
"RX Frame"
"Key/Phrase"
"Signal"
"SEC"
"IPv6 Address"
"TX Abort"
"Device"
"Gateway IP"
"TX-Rate"
"CX Ago"
"RX Pkts"
"Reset"
"TX Crr"
"RX Over"
"TX Bytes"
"Activity"
"Collisions"
"Alias"
"bps TX"
"bps TX LL"
"Status"
"TX HB"
"Down"
"RX CRC"
"Login-OK"
)
for name in "${port_fields[@]}"; do
#echo "field <$name>"
name2="${name// /%20}"
url="http://localhost:8080/port/1/2/2,3,4?fields=$name2,Port"
echo -n "..."
curl -si -H 'Accept: application/json' "$url" > /tmp/response
echo "$url"
grep 'HTTP/1.1' /tmp/response
tail -1 /tmp/response
echo ""
sleep 0.05
done