X-Git-Url: http://git.scottworley.com/syncthing-autoregister/blobdiff_plain/0a262b7925af942e617dd75bc531ec9d96836608..e16b7079a4e2f5c8e9c1168667c8420e2a751626:/tests/automatic-enrollment.nix diff --git a/tests/automatic-enrollment.nix b/tests/automatic-enrollment.nix index 8cbcdc4..803013d 100644 --- a/tests/automatic-enrollment.nix +++ b/tests/automatic-enrollment.nix @@ -1,5 +1,6 @@ import ({ pkgs, lib, ... }: let + deviceIDFilename = "/tmp/syncthing-auto-register-test-device-ids.nix"; configuration = pkgs.writeText "configuration.nix" '' { pkgs, ... }: { imports = [ @@ -11,18 +12,30 @@ import ({ pkgs, lib, ... }: openDefaultPorts = true; autoRegister = { enable = true; - path = "/tmp/syncthing-auto-register-test-device-ids.nix"; + path = "${deviceIDFilename}"; }; }; environment.systemPackages = with pkgs; [ nix ]; } ''; + initialConfiguration = pkgs.writeText "initial-configuration.nix" '' + { + imports = [ "${configuration}" ]; + system.activationScripts.installInitialConfiguration = { + text = ''' + mkdir -p /etc/nixos + cp "${configuration}" /etc/nixos/configuration.nix + '''; + deps = [ ]; + }; + } + ''; configurationWithDeviceIDs = pkgs.writeText "configuration-with-device-ids.nix" '' { imports = [ ${configuration} - /tmp/syncthing-auto-register-test-device-ids.nix + ${deviceIDFilename} ]; } ''; @@ -31,8 +44,8 @@ import ({ pkgs, lib, ... }: name = "syncthing"; nodes = { - a = "${configuration}"; - b = "${configuration}"; + a = "${initialConfiguration}"; + b = "${initialConfiguration}"; }; testScript = '' @@ -47,12 +60,10 @@ import ({ pkgs, lib, ... }: ) - initialConfiguration = "${configuration}" configurationWithDeviceIDs = ( "${configurationWithDeviceIDs}" ) - setConfig(a, initialConfiguration) a.wait_for_unit("syncthing-autoregister.service") setConfig(a, configurationWithDeviceIDs) verifyDeviceIDSet(a, "a")