about summary refs log tree commit diff stats
path: root/tests/common/acme
diff options
context:
space:
mode:
Diffstat (limited to 'tests/common/acme')
-rw-r--r--tests/common/acme/default.nix (renamed from tests/common/acme/scripts.nix)29
1 files changed, 23 insertions, 6 deletions
diff --git a/tests/common/acme/scripts.nix b/tests/common/acme/default.nix
index 2228823..c756a4f 100644
--- a/tests/common/acme/scripts.nix
+++ b/tests/common/acme/default.nix
@@ -1,9 +1,5 @@
-{pkgs}:
-/*
-* Extra functions useful for the test script.
-*/
-{
-  add_pebble_acme_ca = pkgs.writeShellScript "fetch-and-set-ca" ''
+{pkgs}: let
+  add_pebble_ca_certs = pkgs.writeShellScript "fetch-and-set-ca" ''
     set -xe
 
     # Fetch the randomly generated ca certificate
@@ -27,4 +23,25 @@
     # # P11-Kit trust source.
     # environment.etc."ssl/trust-source".source = "$${cacertPackage.p11kit}/etc/ssl/trust-source";
   '';
+in {
+  prepare = clients: extra:
+  # The parens are needed for the syntax highlighting to work.
+    ( # python
+      ''
+        # Start dependencies for the other services
+        acme.start()
+        acme.wait_for_unit("pebble.service")
+        name_server.start()
+        name_server.wait_for_unit("nsd.service")
+
+        # Start actual test
+        start_all()
+
+        with subtest("Add pebble ca key to all services"):
+          for node in [name_server, ${builtins.concatStringsSep "," clients}]:
+            node.wait_until_succeeds("curl https://acme.test:15000/roots/0")
+            node.succeed("${add_pebble_ca_certs}")
+      ''
+    )
+    + extra;
 }