Merge pull request #122627 from primeos/nixos-tests-signal-desktop-db-encryption

nixos/tests/signal-desktop: test if the SQLite DB is (un)encrypted
This commit is contained in:
Michael Weiss 2021-05-13 21:40:07 +02:00 committed by GitHub
commit 28a1e9516d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -3,7 +3,7 @@ import ./make-test-python.nix ({ pkgs, ...} :
{
name = "signal-desktop";
meta = with pkgs.lib.maintainers; {
maintainers = [ flokli ];
maintainers = [ flokli primeos ];
};
machine = { ... }:
@ -16,7 +16,7 @@ import ./make-test-python.nix ({ pkgs, ...} :
services.xserver.enable = true;
test-support.displayManager.auto.user = "alice";
environment.systemPackages = [ pkgs.signal-desktop ];
environment.systemPackages = with pkgs; [ signal-desktop file ];
virtualisation.memorySize = 1024;
};
@ -39,5 +39,17 @@ import ./make-test-python.nix ({ pkgs, ...} :
machine.wait_for_text("Signal")
machine.wait_for_text("File Edit View Window Help")
machine.screenshot("signal_desktop")
# Test if the database is encrypted to prevent these issues:
# - https://github.com/NixOS/nixpkgs/issues/108772
# - https://github.com/NixOS/nixpkgs/pull/117555
print(machine.succeed("su - alice -c 'file ~/.config/Signal/sql/db.sqlite'"))
# TODO: The DB should be encrypted and the following should be machine.fail
# instead of machine.succeed but the DB is currently unencrypted and we
# want to notice if this isn't the case anymore as the transition to a
# encrypted DB can cause data loss!:
machine.succeed(
"su - alice -c 'file ~/.config/Signal/sql/db.sqlite' | grep -i sqlite"
)
'';
})