Release NixOS 23.11
[NixPkgs.git] / nixos / tests / mobilizon.nix
blob398c8530dc5651d91ff6292bc72083081b5733a6
1 import ./make-test-python.nix ({ lib, ... }:
2   let
3     certs = import ./common/acme/server/snakeoil-certs.nix;
4     mobilizonDomain = certs.domain;
5     port = 41395;
6   in
8   {
9     name = "mobilizon";
10     meta.maintainers = with lib.maintainers; [ minijackson erictapen ];
12     nodes.server =
13       { pkgs, ... }:
14       {
15         services.mobilizon = {
16           enable = true;
17           settings = {
18             ":mobilizon" = {
19               ":instance" = {
20                 name = "Test Mobilizon";
21                 hostname = mobilizonDomain;
22               };
23               "Mobilizon.Web.Endpoint".http.port = port;
24             };
25           };
26         };
28         services.postgresql.package = pkgs.postgresql_14;
30         security.pki.certificateFiles = [ certs.ca.cert ];
32         services.nginx.virtualHosts."${mobilizonDomain}" = {
33           enableACME = lib.mkForce false;
34           sslCertificate = certs.${mobilizonDomain}.cert;
35           sslCertificateKey = certs.${mobilizonDomain}.key;
36         };
38         networking.hosts."::1" = [ mobilizonDomain ];
39       };
41     testScript = ''
42       server.wait_for_unit("mobilizon.service")
43       server.wait_for_open_port(${toString port})
44       server.succeed("curl --fail https://${mobilizonDomain}/")
45     '';
46   })