backups: add test for pre and post restore command
This commit is contained in:
@@ -76,7 +76,15 @@
|
|||||||
clanCore.secretStore = "vm";
|
clanCore.secretStore = "vm";
|
||||||
clanCore.clanDir = ../..;
|
clanCore.clanDir = ../..;
|
||||||
|
|
||||||
environment.systemPackages = [ self.packages.${pkgs.system}.clan-cli ];
|
environment.systemPackages = [
|
||||||
|
self.packages.${pkgs.system}.clan-cli
|
||||||
|
(pkgs.writeShellScriptBin "pre-restore-command" ''
|
||||||
|
touch /var/test-service/pre-restore-command
|
||||||
|
'')
|
||||||
|
(pkgs.writeShellScriptBin "post-restore-command" ''
|
||||||
|
touch /var/test-service/post-restore-command
|
||||||
|
'')
|
||||||
|
];
|
||||||
environment.etc.install-closure.source = "${closureInfo}/store-paths";
|
environment.etc.install-closure.source = "${closureInfo}/store-paths";
|
||||||
nix.settings = {
|
nix.settings = {
|
||||||
substituters = lib.mkForce [ ];
|
substituters = lib.mkForce [ ];
|
||||||
@@ -86,6 +94,12 @@
|
|||||||
};
|
};
|
||||||
system.extraDependencies = dependencies;
|
system.extraDependencies = dependencies;
|
||||||
clanCore.state.test-backups.folders = [ "/var/test-backups" ];
|
clanCore.state.test-backups.folders = [ "/var/test-backups" ];
|
||||||
|
|
||||||
|
clanCore.state.test-service = {
|
||||||
|
preRestoreCommand = "pre-restore-command";
|
||||||
|
postRestoreCommand = "post-restore-command";
|
||||||
|
folders = [ "/var/test-service" ];
|
||||||
|
};
|
||||||
clan.borgbackup.destinations.test-backup.repo = "borg@machine:.";
|
clan.borgbackup.destinations.test-backup.repo = "borg@machine:.";
|
||||||
|
|
||||||
services.borgbackup.repos.test-backups = {
|
services.borgbackup.repos.test-backups = {
|
||||||
@@ -110,7 +124,7 @@
|
|||||||
start_all()
|
start_all()
|
||||||
|
|
||||||
# dummy data
|
# dummy data
|
||||||
machine.succeed("mkdir -p /var/test-backups")
|
machine.succeed("mkdir -p /var/test-backups /var/test-service")
|
||||||
machine.succeed("echo testing > /var/test-backups/somefile")
|
machine.succeed("echo testing > /var/test-backups/somefile")
|
||||||
|
|
||||||
# create
|
# create
|
||||||
@@ -127,6 +141,8 @@
|
|||||||
machine.succeed("rm -f /var/test-backups/somefile")
|
machine.succeed("rm -f /var/test-backups/somefile")
|
||||||
machine.succeed(f"clan --debug --flake ${self} backups restore test-backup borgbackup {out} >&2")
|
machine.succeed(f"clan --debug --flake ${self} backups restore test-backup borgbackup {out} >&2")
|
||||||
assert machine.succeed("cat /var/test-backups/somefile").strip() == "testing", "restore failed"
|
assert machine.succeed("cat /var/test-backups/somefile").strip() == "testing", "restore failed"
|
||||||
|
machine.succeed("test -f /var/test-service/pre-restore-command")
|
||||||
|
machine.succeed("test -f /var/test-service/post-restore-command")
|
||||||
'';
|
'';
|
||||||
} { inherit pkgs self; };
|
} { inherit pkgs self; };
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user