Merge pull request #111642 from turion/dev_test_keepassxc

nixos/tests: add keepassxc
This commit is contained in:
davidak 2021-02-21 03:12:07 +01:00 committed by GitHub
commit 01148a5ba7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 39 additions and 0 deletions

View File

@ -186,6 +186,7 @@ in
k3s = handleTest ./k3s.nix {}; k3s = handleTest ./k3s.nix {};
kafka = handleTest ./kafka.nix {}; kafka = handleTest ./kafka.nix {};
keepalived = handleTest ./keepalived.nix {}; keepalived = handleTest ./keepalived.nix {};
keepassxc = handleTest ./keepassxc.nix {};
kerberos = handleTest ./kerberos/default.nix {}; kerberos = handleTest ./kerberos/default.nix {};
kernel-latest = handleTest ./kernel-latest.nix {}; kernel-latest = handleTest ./kernel-latest.nix {};
kernel-lts = handleTest ./kernel-lts.nix {}; kernel-lts = handleTest ./kernel-lts.nix {};

34
nixos/tests/keepassxc.nix Normal file
View File

@ -0,0 +1,34 @@
import ./make-test-python.nix ({ pkgs, ...} :
{
name = "keepassxc";
meta = with pkgs.lib.maintainers; {
maintainers = [ turion ];
};
machine = { ... }:
{
imports = [
./common/user-account.nix
./common/x11.nix
];
services.xserver.enable = true;
test-support.displayManager.auto.user = "alice";
environment.systemPackages = [ pkgs.keepassxc ];
};
enableOCR = true;
testScript = { nodes, ... }: ''
start_all()
machine.wait_for_x()
# start KeePassXC window
machine.execute("su - alice -c keepassxc &")
machine.wait_for_text("KeePassXC ${pkgs.keepassxc.version}")
machine.screenshot("KeePassXC")
'';
})

View File

@ -34,6 +34,8 @@
, withKeePassNetworking ? true , withKeePassNetworking ? true
, withKeePassTouchID ? true , withKeePassTouchID ? true
, withKeePassFDOSecrets ? true , withKeePassFDOSecrets ? true
, nixosTests
}: }:
with lib; with lib;
@ -118,6 +120,8 @@ stdenv.mkDerivation rec {
wrapQtApp $out/Applications/KeePassXC.app/Contents/MacOS/KeePassXC wrapQtApp $out/Applications/KeePassXC.app/Contents/MacOS/KeePassXC
''; '';
passthru.tests = nixosTests.keepassxc;
meta = { meta = {
description = "Password manager to store your passwords safely and auto-type them into your everyday websites and applications"; description = "Password manager to store your passwords safely and auto-type them into your everyday websites and applications";
longDescription = "A community fork of KeePassX, which is itself a port of KeePass Password Safe. The goal is to extend and improve KeePassX with new features and bugfixes to provide a feature-rich, fully cross-platform and modern open-source password manager. Accessible via native cross-platform GUI, CLI, and browser integration with the KeePassXC Browser Extension (https://github.com/keepassxreboot/keepassxc-browser)."; longDescription = "A community fork of KeePassX, which is itself a port of KeePass Password Safe. The goal is to extend and improve KeePassX with new features and bugfixes to provide a feature-rich, fully cross-platform and modern open-source password manager. Accessible via native cross-platform GUI, CLI, and browser integration with the KeePassXC Browser Extension (https://github.com/keepassxreboot/keepassxc-browser).";