at 25.11-pre 1.2 kB view raw
1import ./make-test-python.nix ( 2 { lib, pkgs, ... }: 3 { 4 name = "livebook-service"; 5 6 nodes = { 7 machine = 8 { config, pkgs, ... }: 9 { 10 imports = [ 11 ./common/user-account.nix 12 ]; 13 14 services.livebook = { 15 enableUserService = true; 16 environment = { 17 LIVEBOOK_PORT = 20123; 18 }; 19 environmentFile = pkgs.writeText "livebook.env" '' 20 LIVEBOOK_PASSWORD = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" 21 ''; 22 }; 23 }; 24 }; 25 26 testScript = 27 { nodes, ... }: 28 let 29 user = nodes.machine.users.users.alice; 30 sudo = lib.concatStringsSep " " [ 31 "XDG_RUNTIME_DIR=/run/user/${toString user.uid}" 32 "sudo" 33 "--preserve-env=XDG_RUNTIME_DIR" 34 "-u" 35 "alice" 36 ]; 37 in 38 '' 39 machine.wait_for_unit("multi-user.target") 40 41 machine.succeed("loginctl enable-linger alice") 42 machine.wait_until_succeeds("${sudo} systemctl --user is-active livebook.service") 43 machine.wait_for_open_port(20123, timeout=10) 44 45 machine.succeed("curl -L localhost:20123 | grep 'Type password'") 46 ''; 47 } 48)