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