X-Git-Url: http://git.scottworley.com/syncthing-autoregister/blobdiff_plain/97c3aa62b041338b32fc3755c8ff3483ea1acb9c..2475b5344ca33d7aad5b57f42310994d60b80ee3:/tests/automatic-enrollment.nix?ds=sidebyside diff --git a/tests/automatic-enrollment.nix b/tests/automatic-enrollment.nix index 49325fa..1a6b360 100644 --- a/tests/automatic-enrollment.nix +++ b/tests/automatic-enrollment.nix @@ -17,6 +17,18 @@ import ({ pkgs, lib, ... }: 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" '' { @@ -30,23 +42,29 @@ import ({ pkgs, lib, ... }: name = "syncthing"; - machine = "${configuration}"; + nodes = { + a = "${initialConfiguration}"; + b = "${initialConfiguration}"; + }; testScript = '' def setConfig(machine, config): machine.copy_from_host(config, "/etc/nixos/configuration.nix") - initialConfiguration = "${configuration}" + def verifyDeviceIDSet(machine, expectedDevice): + machine.succeed( + '(( "$(nix eval --raw -f "" config.services.syncthing.declarative.devices.%s.id | wc -c)" == 63 ))' + % expectedDevice + ) + + configurationWithDeviceIDs = ( "${configurationWithDeviceIDs}" ) - setConfig(machine, initialConfiguration) - machine.wait_for_unit("syncthing-autoregister.service") - setConfig(machine, configurationWithDeviceIDs) - machine.succeed( - '(( "$(nix eval --raw -f "" config.services.syncthing.declarative.devices.machine.id | wc -c)" == 63 ))' - ) + a.wait_for_unit("syncthing-autoregister.service") + setConfig(a, configurationWithDeviceIDs) + verifyDeviceIDSet(a, "a") ''; })