diff --git a/t/integration/query.sh b/t/integration/query.sh
index e034e7c1d697e1694cb14e849885037832b5a706..c9b21b6063d001ae29bd92d302259dc41671c043 100755 (executable)
--- a/t/integration/query.sh
+++ b/t/integration/query.sh
PluginDir "$PLUGIN_DIR"
Interval 2
+LoadPlugin mock_timeseries
+EOF
+
+run_sysdbd -D -C "$SYSDBD_CONF"
+wait_for_sysdbd
+
+cat <<EOF > "${SYSDBD_CONF}.sender"
+Listen "${SOCKET_FILE}.sender"
+PluginDir "$PLUGIN_DIR"
+Interval 2
+
+LoadPlugin "store::network"
+<Plugin "store::network">
+ Server "$SOCKET_FILE"
+</Plugin>
+
LoadBackend mock_plugin
<Backend "mock_plugin">
</Backend>
EOF
-run_sysdbd -D -C "$SYSDBD_CONF"
+run_sysdbd_foreground -D -C "${SYSDBD_CONF}.sender" &
+SYSDBD_PID2=$!
+trap "kill \$SYSDBD_PID2" EXIT
+wait_for_sysdbd "${SOCKET_FILE}.sender"
-wait_for_sysdbd
+# wait for initial data
sleep 3
+# Invalid user.
+output="$( run_sysdb_nouser -H "$SOCKET_FILE" \
+ -U $SYSDB_USER-invalid -c 'LIST hosts' 2>&1 )" && exit 1
+echo "$output" | grep -F 'Access denied'
+
# On parse errors, expect a non-zero exit code.
-output="$( run_sysdb -H "$SOCKET_FILE" -c INVALID )" && exit 1
+output="$( run_sysdb -H "$SOCKET_FILE" -c INVALID 2>&1 )" && exit 1
echo "$output" | grep "Failed to parse query 'INVALID'"
echo "$output" | grep "parse error: syntax error"
echo "$output" | grep -F 'other.host.name' && exit 1
echo "$output" | grep -F 'some.host.name' && exit 1
+output="$( run_sysdb -H "$SOCKET_FILE" \
+ -c "FETCH host 'host1.example.com' FILTER last_update < 0" 2>&1 )" \
+ && exit 1
+echo "$output" | grep -F 'not found'
+
(echo 'LIST hosts;'; sleep 1; echo "FETCH host 'host1.example.com'") \
| run_sysdb -H "$SOCKET_FILE"
# When requesting information for unknown hosts, expect a non-zero exit code.
-output="$( run_sysdb -H "$SOCKET_FILE" -c "FETCH host 'does.not.exist'" )" \
- && exit 1
+output="$( run_sysdb -H "$SOCKET_FILE" \
+ -c "FETCH host 'does.not.exist'" 2>&1 )" && exit 1
echo "$output" | grep -F 'not found'
run_sysdb -H "$SOCKET_FILE" \
-c "TIMESERIES 'invalid.host'.'invalid-metric'" && exit 1
# Does not work yet since there is no fetcher plugin.
-run_sysdb -H "$SOCKET_FILE" \
- -c "TIMESERIES 'some.host.name'.'foo/bar/qux'" && exit 1
+output="$( run_sysdb -H "$SOCKET_FILE" \
+ -c "TIMESERIES 'some.host.name'.'foo/bar/qux'" )"
+echo "$output" \
+ | grep -F '"value": "1.000000"' \
+ | grep -F '"value": "2.000000"' \
+ | grep -F '"value": "3.000000"' \
+ | grep -F '"value": "4.000000"' \
+ | grep -F '"value": "5.000000"' \
+ | grep -F '"value": "6.000000"' \
+ | grep -F '"value": "7.000000"' \
+ | grep -F '"value": "8.000000"' \
+ | grep -F '"value": "9.000000"' \
+ | grep -F '"value": "10.000000"'
stop_sysdbd
+# vim: set tw=78 sw=4 ts=4 noexpandtab :