nixpkgs/nixos/tests/nginx-unix-socket.nix
Bert Proesmans 871a9b2890 nixos/nginx: add unix-socket default-listen test case
Includes timeout=1 while checking existence of unix socket file paths
2025-04-03 19:57:26 +00:00

39 lines
1.2 KiB
Nix

{ ... }:
let
defaultNginxSocketPath = "/var/run/nginx/default-test.sock";
nginxSocketPath = "/var/run/nginx/test.sock";
in
{
name = "nginx-unix-socket";
nodes = {
webserver =
{ pkgs, lib, ... }:
{
services.nginx = {
enable = true;
defaultListen = [ { addr = "unix:${defaultNginxSocketPath}"; } ];
virtualHosts.defaultLocalhost = {
serverName = "defaultLocalhost";
locations."/default".return = "200 'bar'";
};
virtualHosts.localhost = {
serverName = "localhost";
listen = [ { addr = "unix:${nginxSocketPath}"; } ];
locations."/test".return = "200 'foo'";
};
};
};
};
testScript = ''
webserver.wait_for_unit("nginx")
webserver.wait_for_open_unix_socket("${defaultNginxSocketPath}", timeout=1)
webserver.wait_for_open_unix_socket("${nginxSocketPath}", timeout=1)
webserver.succeed("curl --fail --silent --unix-socket '${defaultNginxSocketPath}' http://defaultLocalhost/default | grep '^bar$'")
webserver.succeed("curl --fail --silent --unix-socket '${nginxSocketPath}' http://localhost/test | grep '^foo$'")
'';
}