at 23.05-pre 1.5 kB view raw
1import ./make-test-python.nix ({ pkgs, ... }: 2{ 3 name = "redis"; 4 meta = with pkgs.lib.maintainers; { 5 maintainers = [ flokli ]; 6 }; 7 8 nodes = { 9 machine = 10 { pkgs, lib, ... }: with lib; 11 12 { 13 services.redis.servers."".enable = true; 14 services.redis.servers."test".enable = true; 15 16 users.users = listToAttrs (map (suffix: nameValuePair "member${suffix}" { 17 createHome = false; 18 description = "A member of the redis${suffix} group"; 19 isNormalUser = true; 20 extraGroups = [ "redis${suffix}" ]; 21 }) ["" "-test"]); 22 }; 23 }; 24 25 testScript = { nodes, ... }: let 26 inherit (nodes.machine.config.services) redis; 27 in '' 28 start_all() 29 machine.wait_for_unit("redis") 30 machine.wait_for_unit("redis-test") 31 32 # The unnamed Redis server still opens a port for backward-compatibility 33 machine.wait_for_open_port(6379) 34 35 machine.wait_for_file("${redis.servers."".unixSocket}") 36 machine.wait_for_file("${redis.servers."test".unixSocket}") 37 38 # The unix socket is accessible to the redis group 39 machine.succeed('su member -c "redis-cli ping | grep PONG"') 40 machine.succeed('su member-test -c "redis-cli ping | grep PONG"') 41 42 machine.succeed("redis-cli ping | grep PONG") 43 machine.succeed("redis-cli -s ${redis.servers."".unixSocket} ping | grep PONG") 44 machine.succeed("redis-cli -s ${redis.servers."test".unixSocket} ping | grep PONG") 45 ''; 46})