depot/third_party/nixpkgs/nixos/tests/dconf.nix

34 lines
979 B
Nix

import ./make-test-python.nix
({ lib, ... }:
{
name = "dconf";
meta.maintainers = with lib.maintainers; [
linsui
];
nodes.machine = { config, pkgs, lib, ... }: {
users.extraUsers.alice = { isNormalUser = true; };
programs.dconf = with lib.gvariant; {
enable = true;
profiles.user.databases = [
{
settings = {
"test/not".locked = mkInt32 1;
"test/is".locked = "locked";
};
locks = [
"/test/is/locked"
];
}
];
};
};
testScript = ''
machine.succeed("test $(dconf read -d /test/not/locked) == 1")
machine.succeed("test $(dconf read -d /test/is/locked) == \"'locked'\"")
machine.fail("sudo -u alice dbus-run-session -- dconf write /test/is/locked \"@s 'unlocked'\"")
machine.succeed("sudo -u alice dbus-run-session -- dconf write /test/not/locked \"@i 2\"")
'';
})