nixVersions.stable: 2.15 -> 2.17
[NixPkgs.git] / nixos / tests / airsonic.nix
blob69f979726bce4bda218e33a41bba069bd7d8ae25
1 import ./make-test-python.nix ({ pkgs, ... }: {
2   name = "airsonic";
3   meta = with pkgs.lib.maintainers; {
4     maintainers = [ sumnerevans ];
5   };
7   nodes.machine =
8     { pkgs, ... }:
9     {
10       services.airsonic = {
11         enable = true;
12         maxMemory = 800;
13       };
14     };
16   testScript = ''
17     def airsonic_is_up(_) -> bool:
18         status, _ = machine.execute("curl --fail http://localhost:4040/login")
19         return status == 0
22     machine.start()
23     machine.wait_for_unit("airsonic.service")
24     machine.wait_for_open_port(4040)
26     with machine.nested("Waiting for UI to work"):
27         retry(airsonic_is_up)
28   '';