nixpkgs/nixos/tests/roundcube.nix
Maximilian Bosch d75c296dc2
roundcube: 1.3.10 -> 1.4.0
https://roundcube.net/news/2019/11/09/roundcube-1.4.0-released

* `curl` cmd in the test can fail as roundcube returns a http/401 if
  unauthorized (and we're explicitly requesting the login form). By
  checking if the `persistent_login` plugin is loaded, the assertion is
  still valid)

* Use `$argv[0]` to determine install path in the installer script. I'm
  not exactly sure why, but it seems as `__DIR__` now resolves symlinks
  which breaks the installer if roundcube is in a `buildEnv` with
  third-party plugins.
2019-11-10 18:41:26 +01:00

30 lines
872 B
Nix

import ./make-test-python.nix ({ pkgs, ...} : {
name = "roundcube";
meta = with pkgs.stdenv.lib.maintainers; {
maintainers = [ globin ];
};
nodes = {
roundcube = { config, pkgs, ... }: {
services.roundcube = {
enable = true;
hostName = "roundcube";
database.password = "notproduction";
package = pkgs.roundcube.withPlugins (plugins: [ plugins.persistent_login ]);
plugins = [ "persistent_login" ];
};
services.nginx.virtualHosts.roundcube = {
forceSSL = false;
enableACME = false;
};
};
};
testScript = ''
roundcube.start
roundcube.wait_for_unit("postgresql.service")
roundcube.wait_for_unit("phpfpm-roundcube.service")
roundcube.wait_for_unit("nginx.service")
roundcube.succeed("curl -sSL http://roundcube/ | grep 'Keep me logged in'")
'';
})