summaryrefslogtreecommitdiffstats
path: root/nixos/tests/web-apps/pretix.nix
blob: f58ad78146d29a65431007280943a2ff9086bb78 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
{
  pkgs,
  ...
}:

{
  name = "pretix";
  meta.maintainers = pkgs.pretix.meta.maintainers;

  containers.pretix = {
    networking.extraHosts = ''
      127.0.0.1 tickets.local
    '';

    services.pretix = {
      enable = true;
      nginx.domain = "tickets.local";
      plugins = with pkgs.pretix.plugins; [
        passbook
        pages
        zugferd
      ];
      settings = {
        pretix = {
          instance_name = "NixOS Test";
          url = "http://tickets.local";
        };
        mail.from = "hello@tickets.local";
      };
    };
  };

  testScript =
    # python
    ''
      start_all()

      pretix.wait_for_unit("pretix-web.service")
      pretix.wait_for_unit("pretix-worker.service")

      pretix.wait_until_succeeds("curl -q --fail http://tickets.local")

      pretix.succeed("pretix-manage --help | grep -q 'createsuperuser'")

      pretix.log(pretix.succeed("systemd-analyze security pretix-web.service"))
    '';
}