1{ pkgs, ... }:
2{
3 name = "txredisapi";
4 meta = with pkgs.lib.maintainers; {
5 maintainers = [ dandellion ];
6 };
7
8 nodes = {
9 machine =
10 { pkgs, ... }:
11
12 {
13 services.redis.servers."".enable = true;
14
15 environment.systemPackages = with pkgs; [
16 (python3.withPackages (ps: [
17 ps.twisted
18 ps.txredisapi
19 ps.mock
20 ]))
21 ];
22 };
23 };
24
25 testScript =
26 { nodes, ... }:
27 let
28 inherit (nodes.machine.config.services) redis;
29 in
30 ''
31 start_all()
32 machine.wait_for_unit("redis")
33 machine.wait_for_file("${redis.servers."".unixSocket}")
34 machine.succeed("ln -s ${redis.servers."".unixSocket} /tmp/redis.sock")
35
36 tests = machine.succeed("PYTHONPATH=\"${pkgs.python3Packages.txredisapi.src}\" python -m twisted.trial ${pkgs.python3Packages.txredisapi.src}/tests")
37 '';
38}