tangled
alpha
login
or
join now
pyrox.dev
/
nixpkgs
0
fork
atom
lol
0
fork
atom
overview
issues
pulls
pipelines
nixos/tests/moonraker: init
Zhaofeng Li
4 years ago
b1431381
0527ccac
+51
-2
3 changed files
expand all
collapse all
unified
split
nixos
tests
all-tests.nix
moonraker.nix
pkgs
servers
moonraker
default.nix
+1
nixos/tests/all-tests.nix
···
307
307
molly-brown = handleTest ./molly-brown.nix {};
308
308
mongodb = handleTest ./mongodb.nix {};
309
309
moodle = handleTest ./moodle.nix {};
310
310
+
moonraker = handleTest ./moonraker.nix {};
310
311
morty = handleTest ./morty.nix {};
311
312
mosquitto = handleTest ./mosquitto.nix {};
312
313
moosefs = handleTest ./moosefs.nix {};
+45
nixos/tests/moonraker.nix
···
1
1
+
import ./make-test-python.nix ({ pkgs, ...} : {
2
2
+
name = "moonraker";
3
3
+
meta = with pkgs.lib.maintainers; {
4
4
+
maintainers = [ zhaofengli ];
5
5
+
};
6
6
+
7
7
+
nodes = {
8
8
+
printer = { config, pkgs, ... }: {
9
9
+
security.polkit.enable = true;
10
10
+
11
11
+
services.moonraker = {
12
12
+
enable = true;
13
13
+
allowSystemControl = true;
14
14
+
15
15
+
settings = {
16
16
+
authorization = {
17
17
+
trusted_clients = [ "127.0.0.0/8" "::1/128" ];
18
18
+
};
19
19
+
};
20
20
+
};
21
21
+
22
22
+
services.klipper = {
23
23
+
enable = true;
24
24
+
25
25
+
user = "moonraker";
26
26
+
group = "moonraker";
27
27
+
28
28
+
# No mcu configured so won't even enter `ready` state
29
29
+
settings = {};
30
30
+
};
31
31
+
};
32
32
+
};
33
33
+
34
34
+
testScript = ''
35
35
+
printer.start()
36
36
+
37
37
+
printer.wait_for_unit("klipper.service")
38
38
+
printer.wait_for_unit("moonraker.service")
39
39
+
printer.wait_until_succeeds("curl http://localhost:7125/printer/info | grep -v 'Not Found' >&2", timeout=30)
40
40
+
41
41
+
with subtest("Check that we can perform system-level operations"):
42
42
+
printer.succeed("curl -X POST http://localhost:7125/machine/services/stop?service=klipper | grep ok >&2")
43
43
+
printer.wait_until_succeeds("systemctl --no-pager show klipper.service | grep ActiveState=inactive", timeout=10)
44
44
+
'';
45
45
+
})
+5
-2
pkgs/servers/moonraker/default.nix
···
1
1
-
{ lib, stdenvNoCC, fetchFromGitHub, python3, makeWrapper, unstableGitUpdater }:
1
1
+
{ lib, stdenvNoCC, fetchFromGitHub, python3, makeWrapper, unstableGitUpdater, nixosTests }:
2
2
3
3
let
4
4
pythonEnv = python3.withPackages (packages: with packages; [
···
39
39
--add-flags "$out/lib/moonraker/moonraker.py"
40
40
'';
41
41
42
42
-
passthru.updateScript = unstableGitUpdater { url = meta.homepage; };
42
42
+
passthru = {
43
43
+
updateScript = unstableGitUpdater { url = meta.homepage; };
44
44
+
tests.moonraker = nixosTests.moonraker;
45
45
+
};
43
46
44
47
meta = with lib; {
45
48
description = "API web server for Klipper";