1import ./make-test-python.nix ({ pkgs, ... }:
2
3{
4 name = "samba-wsdd";
5 meta.maintainers = with pkgs.lib.maintainers; [ izorkin ];
6
7 nodes = {
8 client_wsdd = { pkgs, ... }: {
9 services.samba-wsdd = {
10 enable = true;
11 interface = "eth1";
12 workgroup = "WORKGROUP";
13 hostname = "CLIENT-WSDD";
14 discovery = true;
15 extraOptions = [ "--no-host" ];
16 };
17 networking.firewall.allowedTCPPorts = [ 5357 ];
18 networking.firewall.allowedUDPPorts = [ 3702 ];
19 };
20
21 server_wsdd = { ... }: {
22 services.samba-wsdd = {
23 enable = true;
24 interface = "eth1";
25 workgroup = "WORKGROUP";
26 hostname = "SERVER-WSDD";
27 };
28 networking.firewall.allowedTCPPorts = [ 5357 ];
29 networking.firewall.allowedUDPPorts = [ 3702 ];
30 };
31 };
32
33 testScript = ''
34 client_wsdd.start()
35 client_wsdd.wait_for_unit("samba-wsdd")
36
37 server_wsdd.start()
38 server_wsdd.wait_for_unit("samba-wsdd")
39
40 client_wsdd.wait_until_succeeds(
41 "echo list | ${pkgs.libressl.nc}/bin/nc -N -U /run/wsdd/wsdd.sock | grep -i SERVER-WSDD"
42 )
43 '';
44})