at 22.05-pre 1.0 kB view raw
1import ./make-test-python.nix ({ pkgs, ... }: 2let 3 redisSocket = "/run/redis/redis.sock"; 4in 5{ 6 name = "redis"; 7 meta = with pkgs.lib.maintainers; { 8 maintainers = [ flokli ]; 9 }; 10 11 nodes = { 12 machine = 13 { pkgs, ... }: 14 15 { 16 services.redis.enable = true; 17 services.redis.unixSocket = redisSocket; 18 19 # Allow access to the unix socket for the "redis" group. 20 services.redis.unixSocketPerm = 770; 21 22 users.users."member" = { 23 createHome = false; 24 description = "A member of the redis group"; 25 isNormalUser = true; 26 extraGroups = [ 27 "redis" 28 ]; 29 }; 30 }; 31 }; 32 33 testScript = '' 34 start_all() 35 machine.wait_for_unit("redis") 36 machine.wait_for_open_port("6379") 37 38 # The unix socket is accessible to the redis group 39 machine.succeed('su member -c "redis-cli ping | grep PONG"') 40 41 machine.succeed("redis-cli ping | grep PONG") 42 machine.succeed("redis-cli -s ${redisSocket} ping | grep PONG") 43 ''; 44})