summary refs log tree commit diff
diff options
context:
space:
mode:
authorJacek Galowicz <jacek.galowicz@cyberus-technology.de>2019-11-20 18:33:36 +0100
committerJacek Galowicz <jacek.galowicz@cyberus-technology.de>2019-11-20 19:08:18 +0100
commit855eb6f264ca1de1f2dbdc85df0382d1cd0170bf (patch)
tree87c8255b1ec3153fb996a89cc27808af3cdce4c1
parent6b2504f9f20e79711e835ef412173ee2be542dc2 (diff)
nixos/mosquitto: Port integration test to python
-rw-r--r--nixos/tests/mosquitto.nix49
1 files changed, 28 insertions, 21 deletions
diff --git a/nixos/tests/mosquitto.nix b/nixos/tests/mosquitto.nix
index b4c897c3ab5db..21df2a2ee1a4a 100644
--- a/nixos/tests/mosquitto.nix
+++ b/nixos/tests/mosquitto.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ... }:
+import ./make-test-python.nix ({ pkgs, ... }:
 
 let
   port = 1888;
@@ -52,37 +52,44 @@ in {
     sub = args:
       "(${cmd "sub"} -C 1 ${args} | tee ${file} &)";
   in ''
-    startAll;
-    $server->waitForUnit("mosquitto.service");
-
-    $server->fail("test -f ${file}");
-    $client1->fail("test -f ${file}");
-    $client2->fail("test -f ${file}");
+    start_all()
+    server.wait_for_unit("mosquitto.service")
 
+    for machine in server, client1, client2:
+        machine.fail("test -f ${file}")
 
     # QoS = 0, so only one subscribers should get it
-    $server->execute("${sub "-q 0"}");
+    server.execute(
+        "${sub "-q 0"}"
+    )
 
     # we need to give the subscribers some time to connect
-    $client2->execute("sleep 5");
-    $client2->succeed("${cmd "pub"} -m FOO -q 0");
-
-    $server->waitUntilSucceeds("grep -q FOO ${file}");
-    $server->execute("rm ${file}");
+    client2.execute("sleep 5")
+    client2.succeed(
+        "${cmd "pub"} -m FOO -q 0"
+    )
 
+    server.wait_until_succeeds("grep -q FOO ${file}")
+    server.execute("rm ${file}")
 
     # QoS = 1, so both subscribers should get it
-    $server->execute("${sub "-q 1"}");
-    $client1->execute("${sub "-q 1"}");
+    server.execute(
+        "${sub "-q 1"}"
+    )
+    client1.execute(
+        "${sub "-q 1"}"
+    )
 
     # we need to give the subscribers some time to connect
-    $client2->execute("sleep 5");
-    $client2->succeed("${cmd "pub"} -m BAR -q 1");
+    client2.execute("sleep 5")
+    client2.succeed(
+        "${cmd "pub"} -m BAR -q 1"
+    )
 
-    $server->waitUntilSucceeds("grep -q BAR ${file}");
-    $server->execute("rm ${file}");
+    server.wait_until_succeeds("grep -q BAR ${file}")
+    server.execute("rm ${file}")
 
-    $client1->waitUntilSucceeds("grep -q BAR ${file}");
-    $client1->execute("rm ${file}");
+    client1.wait_until_succeeds("grep -q BAR ${file}")
+    client1.execute("rm ${file}")
   '';
 })