Skip to content

Commit

Permalink
nixos/octoprint: add tests for reachability over IPv6
Browse files Browse the repository at this point in the history
  • Loading branch information
PatrickDaG committed Dec 16, 2024
1 parent 3a41255 commit 5a85a54
Showing 1 changed file with 18 additions and 12 deletions.
30 changes: 18 additions & 12 deletions nixos/tests/octoprint.nix
Original file line number Diff line number Diff line change
Expand Up @@ -54,16 +54,22 @@ import ./make-test-python.nix (
curl_cmd = "curl --retry-all-errors --connect-timeout 5 --max-time 10 --retry 5 --retry-delay 0 \
--retry-max-time 40 -X GET --header 'X-API-Key: ${apikey}' "
# used to fail early, in case octoprint first starts and then crashes
with octoprint_running: # type: ignore[union-attr]
with subtest("Check for web interface"):
machine.wait_until_succeeds("curl -s localhost:5000")
# used to fail early, in case octoprint first starts and then crashes
with octoprint_running: # type: ignore[union-attr]
with subtest("Check for web interface"):
machine.wait_until_succeeds("curl -s -4 localhost:5000")
machine.wait_until_succeeds("curl -s -6 localhost:5000")
with subtest("Check API"):
version = json.loads(machine.succeed(curl_cmd + "localhost:5000/api/version"))
server = json.loads(machine.succeed(curl_cmd + "localhost:5000/api/server"))
assert version["server"] == str("${pkgs.octoprint.version}")
assert server["safemode"] == None
'';
}
)
with subtest("Check API IPv4"):
version = json.loads(machine.succeed(curl_cmd + "-4 localhost:5000/api/version"))
server = json.loads(machine.succeed(curl_cmd + "-4 localhost:5000/api/server"))
assert version["server"] == str("${pkgs.octoprint.version}")
assert server["safemode"] == None
with subtest("Check API IPv6"):
version = json.loads(machine.succeed(curl_cmd + "-6 localhost:5000/api/version"))
server = json.loads(machine.succeed(curl_cmd + "-6 localhost:5000/api/server"))
assert version["server"] == str("${pkgs.octoprint.version}")
assert server["safemode"] == None
'';
})

0 comments on commit 5a85a54

Please sign in to comment.