mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-06-09 19:13:26 +03:00
parent
ae0871bca2
commit
ca409e5a02
2 changed files with 62 additions and 64 deletions
|
@ -1285,7 +1285,7 @@ in {
|
|||
wrappers = handleTest ./wrappers.nix {};
|
||||
writefreely = handleTest ./web-apps/writefreely.nix {};
|
||||
wstunnel = runTest ./wstunnel.nix;
|
||||
xandikos = handleTest ./xandikos.nix {};
|
||||
xandikos = runTest ./xandikos.nix;
|
||||
xautolock = runTest ./xautolock.nix;
|
||||
xfce = runTest ./xfce.nix;
|
||||
xfce-wayland = runTest ./xfce-wayland.nix;
|
||||
|
|
|
@ -1,73 +1,71 @@
|
|||
import ./make-test-python.nix (
|
||||
{ pkgs, lib, ... }:
|
||||
{ lib, ... }:
|
||||
|
||||
{
|
||||
name = "xandikos";
|
||||
{
|
||||
name = "xandikos";
|
||||
|
||||
meta.maintainers = with lib.maintainers; [ _0x4A6F ];
|
||||
meta.maintainers = with lib.maintainers; [ _0x4A6F ];
|
||||
|
||||
nodes = {
|
||||
xandikos_client = { };
|
||||
xandikos_default = {
|
||||
networking.firewall.allowedTCPPorts = [ 8080 ];
|
||||
services.xandikos.enable = true;
|
||||
};
|
||||
xandikos_proxy = {
|
||||
networking.firewall.allowedTCPPorts = [
|
||||
80
|
||||
8080
|
||||
];
|
||||
services.xandikos.enable = true;
|
||||
services.xandikos.address = "localhost";
|
||||
services.xandikos.port = 8080;
|
||||
services.xandikos.routePrefix = "/xandikos-prefix/";
|
||||
services.xandikos.extraOptions = [
|
||||
"--defaults"
|
||||
];
|
||||
services.nginx = {
|
||||
enable = true;
|
||||
recommendedProxySettings = true;
|
||||
virtualHosts."xandikos" = {
|
||||
serverName = "xandikos.local";
|
||||
basicAuth.xandikos = "snakeOilPassword";
|
||||
locations."/xandikos/" = {
|
||||
proxyPass = "http://localhost:8080/xandikos-prefix/";
|
||||
};
|
||||
nodes = {
|
||||
xandikos_client = { };
|
||||
xandikos_default = {
|
||||
networking.firewall.allowedTCPPorts = [ 8080 ];
|
||||
services.xandikos.enable = true;
|
||||
};
|
||||
xandikos_proxy = {
|
||||
networking.firewall.allowedTCPPorts = [
|
||||
80
|
||||
8080
|
||||
];
|
||||
services.xandikos.enable = true;
|
||||
services.xandikos.address = "localhost";
|
||||
services.xandikos.port = 8080;
|
||||
services.xandikos.routePrefix = "/xandikos-prefix/";
|
||||
services.xandikos.extraOptions = [
|
||||
"--defaults"
|
||||
];
|
||||
services.nginx = {
|
||||
enable = true;
|
||||
recommendedProxySettings = true;
|
||||
virtualHosts."xandikos" = {
|
||||
serverName = "xandikos.local";
|
||||
basicAuth.xandikos = "snakeOilPassword";
|
||||
locations."/xandikos/" = {
|
||||
proxyPass = "http://localhost:8080/xandikos-prefix/";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
start_all()
|
||||
testScript = ''
|
||||
start_all()
|
||||
|
||||
with subtest("Xandikos default"):
|
||||
xandikos_default.wait_for_unit("multi-user.target")
|
||||
xandikos_default.wait_for_unit("xandikos.service")
|
||||
xandikos_default.wait_for_open_port(8080)
|
||||
xandikos_default.succeed("curl --fail http://localhost:8080/")
|
||||
xandikos_default.succeed(
|
||||
"curl -s --fail --location http://localhost:8080/ | grep -i Xandikos"
|
||||
)
|
||||
xandikos_client.wait_for_unit("network.target")
|
||||
xandikos_client.fail("curl --fail http://xandikos_default:8080/")
|
||||
with subtest("Xandikos default"):
|
||||
xandikos_default.wait_for_unit("multi-user.target")
|
||||
xandikos_default.wait_for_unit("xandikos.service")
|
||||
xandikos_default.wait_for_open_port(8080)
|
||||
xandikos_default.succeed("curl --fail http://localhost:8080/")
|
||||
xandikos_default.succeed(
|
||||
"curl -s --fail --location http://localhost:8080/ | grep -i Xandikos"
|
||||
)
|
||||
xandikos_client.wait_for_unit("network.target")
|
||||
xandikos_client.fail("curl --fail http://xandikos_default:8080/")
|
||||
|
||||
with subtest("Xandikos proxy"):
|
||||
xandikos_proxy.wait_for_unit("multi-user.target")
|
||||
xandikos_proxy.wait_for_unit("xandikos.service")
|
||||
xandikos_proxy.wait_for_open_port(8080)
|
||||
xandikos_proxy.succeed("curl --fail http://localhost:8080/")
|
||||
xandikos_proxy.succeed(
|
||||
"curl -s --fail --location http://localhost:8080/ | grep -i Xandikos"
|
||||
)
|
||||
xandikos_client.wait_for_unit("network.target")
|
||||
xandikos_client.fail("curl --fail http://xandikos_proxy:8080/")
|
||||
xandikos_client.succeed(
|
||||
"curl -s --fail -u xandikos:snakeOilPassword -H 'Host: xandikos.local' http://xandikos_proxy/xandikos/ | grep -i Xandikos"
|
||||
)
|
||||
xandikos_client.succeed(
|
||||
"curl -s --fail -u xandikos:snakeOilPassword -H 'Host: xandikos.local' http://xandikos_proxy/xandikos/user/ | grep -i Xandikos"
|
||||
)
|
||||
'';
|
||||
}
|
||||
)
|
||||
with subtest("Xandikos proxy"):
|
||||
xandikos_proxy.wait_for_unit("multi-user.target")
|
||||
xandikos_proxy.wait_for_unit("xandikos.service")
|
||||
xandikos_proxy.wait_for_open_port(8080)
|
||||
xandikos_proxy.succeed("curl --fail http://localhost:8080/")
|
||||
xandikos_proxy.succeed(
|
||||
"curl -s --fail --location http://localhost:8080/ | grep -i Xandikos"
|
||||
)
|
||||
xandikos_client.wait_for_unit("network.target")
|
||||
xandikos_client.fail("curl --fail http://xandikos_proxy:8080/")
|
||||
xandikos_client.succeed(
|
||||
"curl -s --fail -u xandikos:snakeOilPassword -H 'Host: xandikos.local' http://xandikos_proxy/xandikos/ | grep -i Xandikos"
|
||||
)
|
||||
xandikos_client.succeed(
|
||||
"curl -s --fail -u xandikos:snakeOilPassword -H 'Host: xandikos.local' http://xandikos_proxy/xandikos/user/ | grep -i Xandikos"
|
||||
)
|
||||
'';
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue