nixpkgs/nixos/tests/nginx-unix-socket.nix

40 lines
1.2 KiB
Nix
Raw Permalink Normal View History

{ ... }:
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$'")
'';
}