Code

integration/query.sh: Check that empty commands work fine.
[sysdb.git] / t / integration / query.sh
index b2e6ed82a644074cb3745b58b3d45e388a471313..46568569a57c307d9672a66472ce5f5456679ded 100755 (executable)
@@ -38,14 +38,33 @@ Listen "$SOCKET_FILE"
 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.
@@ -58,6 +77,10 @@ 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"
 
+# Empty query.
+output="$( run_sysdb -H "$SOCKET_FILE" -c '' )"
+test -z "$output"
+
 # Simple, successful commands.
 output="$( run_sysdb -H "$SOCKET_FILE" -c 'LIST hosts' )"
 echo "$output" \
@@ -99,13 +122,17 @@ 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 )" \
+  -c "FETCH host 'host1.example.com' FILTER last_update < 0s" 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"
 
+output="$( run_sysdb -H "$SOCKET_FILE" \
+       -c "FETCH host 'host1.example.com' FILTER age < 0s" 2>&1 )" && exit 1
+echo "$output" | grep -F 'not found'
+
 # When requesting information for unknown hosts, expect a non-zero exit code.
 output="$( run_sysdb -H "$SOCKET_FILE" \
        -c "FETCH host 'does.not.exist'" 2>&1 )" && exit 1