test upload limits
This commit is contained in:
parent
fd750b54aa
commit
ec956c1ca8
3 changed files with 71 additions and 3 deletions
|
|
@ -7,7 +7,9 @@
|
|||
}:
|
||||
|
||||
let
|
||||
evaluatedHostName =
|
||||
uploadLimits = import ../upload-limits.nix;
|
||||
|
||||
evaluatedConfig =
|
||||
(nixpkgs.lib.nixosSystem {
|
||||
inherit system;
|
||||
modules = [
|
||||
|
|
@ -25,13 +27,48 @@ let
|
|||
};
|
||||
}
|
||||
];
|
||||
}).config.services.rabbi-gerzi.backend.hostName;
|
||||
}).config;
|
||||
|
||||
evaluatedHostName = evaluatedConfig.services.rabbi-gerzi.backend.hostName;
|
||||
|
||||
backendVirtualHost = evaluatedConfig.services.nginx.virtualHosts.${evaluatedHostName};
|
||||
|
||||
phpOptions = evaluatedConfig.services.phpfpm.pools.rabbi-gerzi.phpOptions;
|
||||
|
||||
expectedUploadMaxFilesize = "upload_max_filesize = ${uploadLimits.phpUploadLimit}";
|
||||
|
||||
expectedPostMaxSize = "post_max_size = ${uploadLimits.phpUploadLimit}";
|
||||
|
||||
expectedNginxClientMaxBodySize = "client_max_body_size ${uploadLimits.nginxClientMaxBodySize};";
|
||||
|
||||
assertions = [
|
||||
{
|
||||
passed = lib.hasInfix expectedUploadMaxFilesize phpOptions;
|
||||
message = "php-fpm upload_max_filesize is not 6M";
|
||||
}
|
||||
{
|
||||
passed = lib.hasInfix expectedPostMaxSize phpOptions;
|
||||
message = "php-fpm post_max_size is not 6M";
|
||||
}
|
||||
{
|
||||
passed = lib.hasInfix expectedNginxClientMaxBodySize backendVirtualHost.extraConfig;
|
||||
message = "nginx client_max_body_size is not 6m";
|
||||
}
|
||||
];
|
||||
|
||||
failedAssertions = lib.filter (assertion: !assertion.passed) assertions;
|
||||
in
|
||||
pkgs.runCommand "rabbi-gerzi-module-eval"
|
||||
{
|
||||
failures = lib.concatMapStringsSep "\n" (assertion: assertion.message) failedAssertions;
|
||||
value = evaluatedHostName;
|
||||
preferLocalBuild = true;
|
||||
}
|
||||
''
|
||||
if [ -n "$failures" ]; then
|
||||
printf '%s\n' "$failures" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "$value" > $out
|
||||
''
|
||||
|
|
|
|||
4
nix/upload-limits.nix
Normal file
4
nix/upload-limits.nix
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
{
|
||||
nginxClientMaxBodySize = "6m";
|
||||
phpUploadLimit = "6M";
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue