mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-11-10 17:54:53 +01:00
Also, add new pyjwt dependency. Test currently fail at the very last check, suggesting that the services does run but that our wrapper for manage.py is currently broken.
50 lines
1.4 KiB
Nix
50 lines
1.4 KiB
Nix
{ lib, pkgs, ... }:
|
|
{
|
|
name = "healthchecks";
|
|
|
|
meta = with lib.maintainers; {
|
|
maintainers = [ phaer ];
|
|
};
|
|
|
|
nodes.machine =
|
|
{ ... }:
|
|
{
|
|
services.healthchecks = {
|
|
enable = true;
|
|
settings = {
|
|
SITE_NAME = "MyUniqueInstance";
|
|
COMPRESS_ENABLED = "True";
|
|
SECRET_KEY_FILE = pkgs.writeText "secret" "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
|
|
};
|
|
};
|
|
};
|
|
|
|
testScript = ''
|
|
machine.start()
|
|
machine.wait_for_unit("healthchecks.target")
|
|
machine.wait_until_succeeds("journalctl --since -1m --unit healthchecks --grep Listening")
|
|
|
|
with subtest("Home screen loads"):
|
|
machine.succeed(
|
|
"curl -sSfL http://localhost:8000 | grep '<title>Log In'"
|
|
)
|
|
|
|
with subtest("Setting SITE_NAME via freeform option works"):
|
|
machine.succeed(
|
|
"curl -sSfL http://localhost:8000 | grep 'MyUniqueInstance</title>'"
|
|
)
|
|
|
|
with subtest("Manage script works"):
|
|
# "shell" sucommand should succeed, needs python in PATH.
|
|
t.assertIn(
|
|
"\nfoo\n",
|
|
machine.succeed("echo 'print(\"foo\")' | sudo -u healthchecks healthchecks-manage shell")
|
|
)
|
|
# Shouldn't fail if not called by healthchecks user
|
|
t.assertIn(
|
|
"\nfoo\n",
|
|
machine.succeed("echo 'print(\"foo\")' | healthchecks-manage shell")
|
|
)
|
|
'';
|
|
}
|