diff options
Diffstat (limited to 'nixos/tests/signal-desktop.nix')
-rw-r--r-- | nixos/tests/signal-desktop.nix | 26 |
1 files changed, 21 insertions, 5 deletions
diff --git a/nixos/tests/signal-desktop.nix b/nixos/tests/signal-desktop.nix index e4b830e9e23..42485cd0da7 100644 --- a/nixos/tests/signal-desktop.nix +++ b/nixos/tests/signal-desktop.nix @@ -2,8 +2,8 @@ import ./make-test-python.nix ({ pkgs, ...} : { name = "signal-desktop"; - meta = with pkgs.stdenv.lib.maintainers; { - maintainers = [ flokli ]; + meta = with pkgs.lib.maintainers; { + 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; }; @@ -31,8 +31,24 @@ import ./make-test-python.nix ({ pkgs, ...} : # start signal desktop machine.execute("su - alice -c signal-desktop &") - # wait for the "Link your phone to Signal Desktop" message - machine.wait_for_text("Link your phone to Signal Desktop") + # Wait for the Signal window to appear. Since usually the tests + # are run sandboxed and therfore with no internet, we can not wait + # for the message "Link your phone ...". Nor should we wait for + # the "Failed to connect to server" message, because when manually + # running this test it will be not sandboxed. + 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'")) + machine.succeed( + "su - alice -c 'file ~/.config/Signal/sql/db.sqlite' | grep 'db.sqlite: data'" + ) + machine.fail( + "su - alice -c 'file ~/.config/Signal/sql/db.sqlite' | grep -e SQLite -e database" + ) ''; }) |