nixos/nginx: ensure all variants have a basic level of testing

Changed files
+34
nixos
+1
nixos/tests/all-tests.nix
···
nginx-pubhtml = handleTest ./nginx-pubhtml.nix {};
nginx-sandbox = handleTestOn ["x86_64-linux"] ./nginx-sandbox.nix {};
nginx-sso = handleTest ./nginx-sso.nix {};
nix-ssh-serve = handleTest ./nix-ssh-serve.nix {};
nixos-generate-config = handleTest ./nixos-generate-config.nix {};
novacomd = handleTestOn ["x86_64-linux"] ./novacomd.nix {};
···
nginx-pubhtml = handleTest ./nginx-pubhtml.nix {};
nginx-sandbox = handleTestOn ["x86_64-linux"] ./nginx-sandbox.nix {};
nginx-sso = handleTest ./nginx-sso.nix {};
+
nginx-variants = handleTest ./nginx-variants.nix {};
nix-ssh-serve = handleTest ./nix-ssh-serve.nix {};
nixos-generate-config = handleTest ./nixos-generate-config.nix {};
novacomd = handleTestOn ["x86_64-linux"] ./novacomd.nix {};
+33
nixos/tests/nginx-variants.nix
···
···
+
{ system ? builtins.currentSystem,
+
config ? {},
+
pkgs ? import ../.. { inherit system config; }
+
}:
+
+
with import ../lib/testing-python.nix { inherit system pkgs; };
+
+
builtins.listToAttrs (
+
builtins.map
+
(nginxName:
+
{
+
name = nginxName;
+
value = makeTest {
+
name = "nginx-variant-${nginxName}";
+
+
machine = { pkgs, ... }: {
+
services.nginx = {
+
enable = true;
+
virtualHosts.localhost.locations."/".return = "200 'foo'";
+
package = pkgs."${nginxName}";
+
};
+
};
+
+
testScript = ''
+
machine.wait_for_unit("nginx")
+
machine.wait_for_open_port(80)
+
machine.succeed('test "$(curl -fvvv http://localhost/)" = foo')
+
'';
+
};
+
}
+
)
+
[ "nginxStable" "nginxUnstable" "nginxShibboleth" "openresty" "tengine" ]
+
)