about summary refs log tree commit diff
path: root/nixos/tests/odoo.nix
blob: 45ec7b7d7a6b7e3cd48276e5a507f870935cd335 (plain) (blame)
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
import ./make-test-python.nix ({ pkgs, lib, package ? pkgs.odoo, ...} : {
  name = "odoo";
  meta.maintainers = with lib.maintainers; [ mkg20001 ];

  nodes = {
    server = { ... }: {
      services.nginx = {
        enable = true;
        recommendedProxySettings = true;
      };

      services.odoo = {
        enable = true;
        package = package;
        domain = "localhost";
      };

      # odoo does not automatically initialize its database,
      # even if passing what _should_ be the equivalent of these options:
      #  settings = {
      #    options = {
      #      database = "odoo";
      #      init = "base";
      #    };
      #  };
      systemd.services.odoo.preStart = ''
        HOME=$STATE_DIRECTORY ${package}/bin/odoo -d odoo -i base --stop-after-init --without-demo all
      '';
    };
  };

  testScript = { nodes, ... }:
  ''
    server.wait_for_unit("odoo.service")
    server.wait_until_succeeds("curl -s http://localhost:8069/web/database/selector | grep '<title>Odoo</title>'")
    server.succeed("curl -s http://localhost/web/database/selector | grep '<title>Odoo</title>'")
  '';
})