summaryrefslogtreecommitdiffstats
path: root/nixos/tests/nginx-redirectcode.nix
blob: a48b1021bb808d49cb9ec992c07f978741e38189 (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
{ lib, ... }:
{
  name = "nginx-redirectcode";
  meta.maintainers = with lib.maintainers; [ misterio77 ];

  nodes = {
    webserver =
      { pkgs, lib, ... }:
      {
        services.nginx = {
          enable = true;
          virtualHosts.localhost = {
            globalRedirect = "example.com/foo";
            # With 308 (and 307), the method and body are to be kept when following it
            redirectCode = 308;
          };
        };
      };
  };

  testScript = ''
    webserver.wait_for_unit("nginx")
    webserver.wait_for_open_port(80)

    # Check the status code
    webserver.succeed("curl -si http://localhost | grep '^HTTP/[0-9.]\+ 308 Permanent Redirect'")
  '';
}