···
+
import ./make-test-python.nix ({ pkgs, lib, ... }: {
meta.maintainers = with lib.maintainers; [ ma27 ];
···
+
machine.wait_for_unit("graylog.service")
+
machine.wait_for_open_port(9000)
+
machine.succeed("curl -sSfL http://127.0.0.1:9000/")
+
session = machine.succeed(
+
+ "-sSfL http://127.0.0.1:9000/api/system/sessions "
+
+ "-d $(cat ${payloads.login}) "
+
+ "-H 'Content-Type: application/json' "
+
+ "-H 'Accept: application/json' "
+
+ "-H 'x-requested-by: cli' "
+
+ "| jq .session_id | xargs echo"
+
+ f"-sSfL http://127.0.0.1:9000/api/system/inputs -u {session}:session "
+
+ '-d $(cat ${payloads.input} | sed -e "s,@node@,$(cat /var/lib/graylog/server/node-id),") '
+
+ "-H 'Accept: application/json' "
+
+ "-H 'Content-Type: application/json' "
+
+ "-H 'x-requested-by: cli' "
+
machine.wait_until_succeeds(
+
"test \"$(curl -sSfL 'http://127.0.0.1:9000/api/cluster/inputstates' "
+
+ f"-u {session}:session "
+
+ "-H 'Accept: application/json' "
+
+ "-H 'Content-Type: application/json' "
+
+ "-H 'x-requested-by: cli'"
+
+ "| jq 'to_entries[]|.value|.[0]|.state' | xargs echo"
+
"echo -n $(cat ${payloads.gelf_message}) | nc -w10 -u 127.0.0.1 12201"
+
+ "-sSfL 'http://127.0.0.1:9000/api/search/universal/relative?query=*' "
+
+ f"-u {session}:session "
+
+ "-H 'Accept: application/json' "
+
+ "-H 'Content-Type: application/json' "
+
+ "-H 'x-requested-by: cli'"
+
+ ' | jq \'.total_results\' | xargs echo)" = "1"'