summaryrefslogtreecommitdiffstats
path: root/nixos/tests/txredisapi.nix
blob: 57a32e624c24551351d86f5bed20248190769000 (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
{ pkgs, ... }:
{
  name = "txredisapi";
  meta = with pkgs.lib.maintainers; {
    maintainers = [ dandellion ];
  };

  nodes = {
    machine =
      { pkgs, ... }:

      {
        services.redis.servers."".enable = true;

        environment.systemPackages = with pkgs; [
          (python3.withPackages (ps: [
            ps.twisted
            ps.txredisapi
            ps.mock
          ]))
        ];
      };
  };

  testScript =
    { nodes, ... }:
    let
      inherit (nodes.machine.services) redis;
    in
    ''
      start_all()
      machine.wait_for_unit("redis")
      machine.wait_for_file("${redis.servers."".unixSocket}")
      machine.succeed("ln -s ${redis.servers."".unixSocket} /tmp/redis.sock")

      tests = machine.succeed("PYTHONPATH=\"${pkgs.python3Packages.txredisapi.src}\" python -m twisted.trial ${pkgs.python3Packages.txredisapi.src}/tests")
    '';
}