]> git.scottworley.com Git - syncthing-autoregister/blobdiff - tests/automatic-enrollment.nix
setConfig() helper
[syncthing-autoregister] / tests / automatic-enrollment.nix
index cac1b28ba83956bea3ea77f67fbe355ea4b81411..49325fa90e5f71d19270683c93f0964087b978fb 100644 (file)
@@ -9,10 +9,23 @@ import <nixpkgs/nixos/tests/make-test-python.nix> ({ pkgs, lib, ... }:
         services.syncthing = {
           enable = true;
           openDefaultPorts = true;
         services.syncthing = {
           enable = true;
           openDefaultPorts = true;
+          autoRegister = {
+            enable = true;
+            path = "/tmp/syncthing-auto-register-test-device-ids.nix";
+          };
         };
         environment.systemPackages = with pkgs; [ nix ];
       }
     '';
         };
         environment.systemPackages = with pkgs; [ nix ];
       }
     '';
+    configurationWithDeviceIDs =
+      pkgs.writeText "configuration-with-device-ids.nix" ''
+        {
+          imports = [
+            ${configuration}
+            /tmp/syncthing-auto-register-test-device-ids.nix
+          ];
+        }
+      '';
   in {
 
     name = "syncthing";
   in {
 
     name = "syncthing";
@@ -20,13 +33,20 @@ import <nixpkgs/nixos/tests/make-test-python.nix> ({ pkgs, lib, ... }:
     machine = "${configuration}";
 
     testScript = ''
     machine = "${configuration}";
 
     testScript = ''
-      machine.copy_from_host(
-          "${configuration}",
-          "/etc/nixos/configuration.nix",
+      def setConfig(machine, config):
+          machine.copy_from_host(config, "/etc/nixos/configuration.nix")
+
+
+      initialConfiguration = "${configuration}"
+      configurationWithDeviceIDs = (
+          "${configurationWithDeviceIDs}"
       )
       )
+
+      setConfig(machine, initialConfiguration)
       machine.wait_for_unit("syncthing-autoregister.service")
       machine.wait_for_unit("syncthing-autoregister.service")
+      setConfig(machine, configurationWithDeviceIDs)
       machine.succeed(
       machine.succeed(
-          '(( "$(nix eval --raw -f /tmp/syncthing-auto-register-test-device-ids.nix services.syncthing.declarative.devices.machine.id | wc -c)" == 63 ))'
+          '(( "$(nix eval --raw -f "<nixos/nixos>" config.services.syncthing.declarative.devices.machine.id | wc -c)" == 63 ))'
       )
     '';
   })
       )
     '';
   })