1import ./make-test.nix ({ pkgs, ...} : {
2 name = "zookeeper";
3 meta = with pkgs.stdenv.lib.maintainers; {
4 maintainers = [ nequissimus ];
5 };
6
7 nodes = {
8 server = { pkgs, config, ... }: {
9 services.zookeeper = {
10 enable = true;
11 };
12
13 networking.firewall.allowedTCPPorts = [ 2181 ];
14 };
15 };
16
17 testScript = ''
18 startAll;
19
20 $server->waitForUnit("zookeeper");
21 $server->waitForUnit("network.target");
22 $server->waitForOpenPort(2181);
23
24 $server->waitUntilSucceeds("${pkgs.zookeeper}/bin/zkCli.sh -server localhost:2181 create /foo bar");
25 $server->waitUntilSucceeds("${pkgs.zookeeper}/bin/zkCli.sh -server localhost:2181 set /foo hello");
26 $server->waitUntilSucceeds("${pkgs.zookeeper}/bin/zkCli.sh -server localhost:2181 get /foo | grep hello");
27 '';
28})