1import ./make-test-python.nix (
2 { pkgs, ... }:
3 {
4 name = "rsyncd";
5 meta.maintainers = with pkgs.lib.maintainers; [ ehmry ];
6
7 nodes =
8 let
9 mkNode =
10 socketActivated:
11 { config, ... }:
12 {
13 networking.firewall.allowedTCPPorts = [ config.services.rsyncd.port ];
14 services.rsyncd = {
15 enable = true;
16 inherit socketActivated;
17 settings = {
18 globalSection = {
19 "reverse lookup" = false;
20 "forward lookup" = false;
21 };
22 sections = {
23 tmp = {
24 path = "/nix/store";
25 comment = "test module";
26 };
27 };
28 };
29 };
30 };
31 in
32 {
33 a = mkNode false;
34 b = mkNode true;
35 };
36
37 testScript = ''
38 start_all()
39 a.wait_for_unit("rsync")
40 b.wait_for_unit("sockets.target")
41 b.succeed("rsync a::")
42 a.succeed("rsync b::")
43 '';
44 }
45)