From 004ef6eaafc52257ba1e96a6ce6102801e1d68eb Mon Sep 17 00:00:00 2001 From: Hamish Coleman Date: Sat, 6 Nov 2021 19:13:42 +0000 Subject: [PATCH] Add quick Json API test for edge --- scripts/test_integration_edge.sh | 47 ++++++++++++++++ tests/test_integration_edge.sh.expected | 71 +++++++++++++++++++++++++ tests/tests_integration.list | 1 + 3 files changed, 119 insertions(+) create mode 100755 scripts/test_integration_edge.sh create mode 100644 tests/test_integration_edge.sh.expected diff --git a/scripts/test_integration_edge.sh b/scripts/test_integration_edge.sh new file mode 100755 index 0000000..349c5b7 --- /dev/null +++ b/scripts/test_integration_edge.sh @@ -0,0 +1,47 @@ +#!/bin/sh +# +# Do some quick tests via the Json API against the edge +# + +AUTH=n2n + +# boilerplate so we can support whaky cmake dirs +[ -z "$TOPDIR" ] && TOPDIR=. +[ -z "$BINDIR" ] && BINDIR=. + +docmd() { + echo "###" + "$@" + echo +} + +# start a supernode +docmd ${BINDIR}/supernode -v + +# Start the edge in the background +docmd sudo ${BINDIR}/edge -l localhost:7654 -c test >/dev/null +# TODO: +# - send edge messages to stderr? + +docmd ${TOPDIR}/scripts/n2n-ctl communities +docmd ${TOPDIR}/scripts/n2n-ctl packetstats +docmd ${TOPDIR}/scripts/n2n-ctl edges --raw + +# TODO: +# docmd ${TOPDIR}/scripts/n2n-ctl supernodes --raw +# - need fixed mac address +# - need to mask out: +# - version string +# - last_seen timestamp +# - uptime + +docmd ${TOPDIR}/scripts/n2n-ctl verbose +docmd ${TOPDIR}/scripts/n2n-ctl -k $AUTH --write verbose 1 + +# looks strange, but we are querying the state of the "stop" verb +docmd ${TOPDIR}/scripts/n2n-ctl stop + +# stop them both +docmd ${TOPDIR}/scripts/n2n-ctl -k $AUTH --write stop +docmd ${TOPDIR}/scripts/n2n-ctl -t 5645 -k $AUTH --write stop + diff --git a/tests/test_integration_edge.sh.expected b/tests/test_integration_edge.sh.expected new file mode 100644 index 0000000..583b2aa --- /dev/null +++ b/tests/test_integration_edge.sh.expected @@ -0,0 +1,71 @@ +### + +### +[ + { + "community": "test" + } +] + +### +[ + { + "rx_pkt": 0, + "tx_pkt": 2, + "type": "transop" + }, + { + "rx_pkt": 0, + "tx_pkt": 0, + "type": "p2p" + }, + { + "rx_pkt": 0, + "tx_pkt": 2, + "type": "super" + }, + { + "rx_pkt": 0, + "tx_pkt": 2, + "type": "super_broadcast" + } +] + +### +[] + +### +[ + { + "traceLevel": 2 + } +] + +### +[ + { + "traceLevel": 1 + } +] + +### +[ + { + "keep_running": 1 + } +] + +### +[ + { + "keep_running": 0 + } +] + +### +[ + { + "keep_running": 0 + } +] + diff --git a/tests/tests_integration.list b/tests/tests_integration.list index d649c4b..ff7ffcc 100644 --- a/tests/tests_integration.list +++ b/tests/tests_integration.list @@ -2,3 +2,4 @@ # The integration tests test_integration_supernode.sh +test_integration_edge.sh