about summary refs log tree commit diff
path: root/nixos/tests/nginx-redirectcode.nix
blob: f60434a21a85d8a05164c6ee67b7fe141ff23643 (plain) (blame)
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
import ./make-test-python.nix ({ pkgs, 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'")
  '';
})