at 23.05-pre 1.2 kB view raw
1import ./make-test-python.nix ({ pkgs, ...} : { 2 name = "moonraker"; 3 meta = with pkgs.lib.maintainers; { 4 maintainers = [ zhaofengli ]; 5 }; 6 7 nodes = { 8 printer = { config, pkgs, ... }: { 9 security.polkit.enable = true; 10 11 services.moonraker = { 12 enable = true; 13 allowSystemControl = true; 14 15 settings = { 16 authorization = { 17 trusted_clients = [ "127.0.0.0/8" "::1/128" ]; 18 }; 19 }; 20 }; 21 22 services.klipper = { 23 enable = true; 24 25 user = "moonraker"; 26 group = "moonraker"; 27 28 # No mcu configured so won't even enter `ready` state 29 settings = {}; 30 }; 31 }; 32 }; 33 34 testScript = '' 35 printer.start() 36 37 printer.wait_for_unit("klipper.service") 38 printer.wait_for_unit("moonraker.service") 39 printer.wait_until_succeeds("curl http://localhost:7125/printer/info | grep -v 'Not Found' >&2", timeout=30) 40 41 with subtest("Check that we can perform system-level operations"): 42 printer.succeed("curl -X POST http://localhost:7125/machine/services/stop?service=klipper | grep ok >&2") 43 printer.wait_until_succeeds("systemctl --no-pager show klipper.service | grep ActiveState=inactive", timeout=10) 44 ''; 45})