summaryrefslogtreecommitdiffstats
path: root/nixos/tests/whoami.nix
blob: 165d8ddb8072e9b00665df6bc9fd341bd503a295 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
{ lib, ... }:

{
  name = "echoip";
  meta.maintainers = with lib.maintainers; [ defelo ];

  nodes.machine = {
    services.whoami.enable = true;
  };

  interactive.nodes.machine = {
    networking.firewall.allowedTCPPorts = [ 8000 ];
    virtualisation.forwardPorts = [
      {
        from = "host";
        host.port = 8000;
        guest.port = 8000;
      }
    ];
  };

  testScript = ''
    import re

    machine.wait_for_unit("whoami.service")
    machine.wait_for_open_port(8000)

    response = machine.succeed("curl -H 'X-Test-Header: Hello World!' http://127.0.0.1:8000/test")
    assert re.search(r"^GET /test", response, re.M)
    assert re.search(r"^X-Test-Header: Hello World!", response, re.M)
  '';
}