Allows setting arbitrary config options through the REST API. Also switches to the [new](https://docs.syncthing.net/rest/config.html) config endpoints.
34 lines
816 B
Nix
34 lines
816 B
Nix
import ./make-test-python.nix ({ lib, pkgs, ... }: let
|
|
|
|
testId = "7CFNTQM-IMTJBHJ-3UWRDIU-ZGQJFR6-VCXZ3NB-XUH3KZO-N52ITXR-LAIYUAU";
|
|
|
|
in {
|
|
name = "syncthing-init";
|
|
meta.maintainers = with pkgs.lib.maintainers; [ lassulus ];
|
|
|
|
machine = {
|
|
services.syncthing = {
|
|
enable = true;
|
|
declarative = {
|
|
devices.testDevice = {
|
|
id = testId;
|
|
};
|
|
folders.testFolder = {
|
|
path = "/tmp/test";
|
|
devices = [ "testDevice" ];
|
|
};
|
|
extraOptions.gui.user = "guiUser";
|
|
};
|
|
};
|
|
};
|
|
|
|
testScript = ''
|
|
machine.wait_for_unit("syncthing-init.service")
|
|
config = machine.succeed("cat /var/lib/syncthing/.config/syncthing/config.xml")
|
|
|
|
assert "testFolder" in config
|
|
assert "${testId}" in config
|
|
assert "guiUser" in config
|
|
'';
|
|
})
|