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