1import ./make-test.nix ({ lib, ... }: with lib;
2
3rec {
4 name = "tor";
5 meta.maintainers = with maintainers; [ joachifm ];
6
7 common =
8 { ... }:
9 { boot.kernelParams = [ "audit=0" "apparmor=0" "quiet" ];
10 networking.firewall.enable = false;
11 networking.useDHCP = false;
12 };
13
14 nodes.client =
15 { pkgs, ... }:
16 { imports = [ common ];
17 environment.systemPackages = with pkgs; [ netcat ];
18 services.tor.enable = true;
19 services.tor.client.enable = true;
20 services.tor.controlPort = 9051;
21 };
22
23 testScript = ''
24 $client->waitForUnit("tor.service");
25 $client->waitForOpenPort(9051);
26 $client->succeed("echo GETINFO version | nc 127.0.0.1 9051") =~ /514 Authentication required./ or die;
27 '';
28})