diff options
author | Sumner Evans <me@sumnerevans.com> | 2021-05-03 09:38:02 -0600 |
---|---|---|
committer | Sumner Evans <me@sumnerevans.com> | 2021-05-03 13:27:23 -0600 |
commit | 1ce3067c425d7a105ea0bc133de255c9815e495f (patch) | |
tree | 4a5eb65011e0f331af3dcfc6c6bc0d5f77e942ce /nixos/tests/airsonic.nix | |
parent | 6dde6bf3bf129ca6c84a9472c7c210fd86fd7465 (diff) |
airsonic: add test for module
Diffstat (limited to 'nixos/tests/airsonic.nix')
-rw-r--r-- | nixos/tests/airsonic.nix | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/nixos/tests/airsonic.nix b/nixos/tests/airsonic.nix new file mode 100644 index 0000000000000..59bd84877c61c --- /dev/null +++ b/nixos/tests/airsonic.nix @@ -0,0 +1,32 @@ +import ./make-test-python.nix ({ pkgs, ... }: { + name = "airsonic"; + meta = with pkgs.lib.maintainers; { + maintainers = [ sumnerevans ]; + }; + + machine = + { pkgs, ... }: + { + services.airsonic = { + enable = true; + maxMemory = 800; + }; + + # Airsonic is a Java application, and unfortunately requires a significant + # amount of memory. + virtualisation.memorySize = 1024; + }; + + testScript = '' + def airsonic_is_up(_) -> bool: + return machine.succeed("curl --fail http://localhost:4040/login") + + + machine.start() + machine.wait_for_unit("airsonic.service") + machine.wait_for_open_port(4040) + + with machine.nested("Waiting for UI to work"): + retry(airsonic_is_up) + ''; +}) |