]> git.scottworley.com Git - syncthing-autoregister/blobdiff - tests/automatic-enrollment.nix
Verify b's device ID gets set also
[syncthing-autoregister] / tests / automatic-enrollment.nix
index 1a6b360bc28ebd6632598b43781d42b4a591b082..951a4153e000be6bb453522fab7f4bcde415d1f4 100644 (file)
@@ -1,5 +1,6 @@
 import <nixpkgs/nixos/tests/make-test-python.nix> ({ pkgs, lib, ... }:
   let
 import <nixpkgs/nixos/tests/make-test-python.nix> ({ pkgs, lib, ... }:
   let
+    deviceIDFilename = "/tmp/syncthing-auto-register-test-device-ids.nix";
     configuration = pkgs.writeText "configuration.nix" ''
       { pkgs, ... }: {
         imports = [
     configuration = pkgs.writeText "configuration.nix" ''
       { pkgs, ... }: {
         imports = [
@@ -11,7 +12,7 @@ import <nixpkgs/nixos/tests/make-test-python.nix> ({ pkgs, lib, ... }:
           openDefaultPorts = true;
           autoRegister = {
             enable = true;
           openDefaultPorts = true;
           autoRegister = {
             enable = true;
-            path = "/tmp/syncthing-auto-register-test-device-ids.nix";
+            path = "${deviceIDFilename}";
           };
         };
         environment.systemPackages = with pkgs; [ nix ];
           };
         };
         environment.systemPackages = with pkgs; [ nix ];
@@ -34,7 +35,7 @@ import <nixpkgs/nixos/tests/make-test-python.nix> ({ pkgs, lib, ... }:
         {
           imports = [
             ${configuration}
         {
           imports = [
             ${configuration}
-            /tmp/syncthing-auto-register-test-device-ids.nix
+            ${deviceIDFilename}
           ];
         }
       '';
           ];
         }
       '';
@@ -48,6 +49,9 @@ import <nixpkgs/nixos/tests/make-test-python.nix> ({ pkgs, lib, ... }:
     };
 
     testScript = ''
     };
 
     testScript = ''
+      import os
+
+
       def setConfig(machine, config):
           machine.copy_from_host(config, "/etc/nixos/configuration.nix")
 
       def setConfig(machine, config):
           machine.copy_from_host(config, "/etc/nixos/configuration.nix")
 
@@ -59,6 +63,21 @@ import <nixpkgs/nixos/tests/make-test-python.nix> ({ pkgs, lib, ... }:
           )
 
 
           )
 
 
+      def getDeviceFile(machine):
+          machine.copy_from_vm("${deviceIDFilename}")
+
+
+      def putDeviceFile(machine):
+          hostDeviceIDFilename = os.path.join(
+              os.environ["out"],
+              os.path.basename("${deviceIDFilename}"),
+          )
+          machine.copy_from_host(
+              hostDeviceIDFilename, "${deviceIDFilename}"
+          )
+          machine.succeed("chown syncthing ${deviceIDFilename}")
+
+
       configurationWithDeviceIDs = (
           "${configurationWithDeviceIDs}"
       )
       configurationWithDeviceIDs = (
           "${configurationWithDeviceIDs}"
       )
@@ -66,5 +85,13 @@ import <nixpkgs/nixos/tests/make-test-python.nix> ({ pkgs, lib, ... }:
       a.wait_for_unit("syncthing-autoregister.service")
       setConfig(a, configurationWithDeviceIDs)
       verifyDeviceIDSet(a, "a")
       a.wait_for_unit("syncthing-autoregister.service")
       setConfig(a, configurationWithDeviceIDs)
       verifyDeviceIDSet(a, "a")
+      getDeviceFile(a)
+
+      putDeviceFile(b)
+      setConfig(b, configurationWithDeviceIDs)
+      verifyDeviceIDSet(b, "a")
+      b.wait_for_unit("syncthing-autoregister.service")
+      verifyDeviceIDSet(b, "a")
+      verifyDeviceIDSet(b, "b")
     '';
   })
     '';
   })