Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s
33 lines
722 B
Nix
33 lines
722 B
Nix
{ 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)
|
|
'';
|
|
}
|