From d5a2685930e88dc2ee3e02171e7812c77d6642b7 Mon Sep 17 00:00:00 2001 From: pinpox Date: Tue, 3 Jun 2025 14:43:27 +0200 Subject: [PATCH] Add test for deltachat clanService --- checks/deltachat/default.nix | 55 +++++++++++++------ checks/deltachat/sops/users/admin/key.json | 4 ++ checks/flake-module.nix | 4 +- clanModules/deltachat/{ => roles}/default.nix | 0 4 files changed, 45 insertions(+), 18 deletions(-) create mode 100644 checks/deltachat/sops/users/admin/key.json rename clanModules/deltachat/{ => roles}/default.nix (100%) diff --git a/checks/deltachat/default.nix b/checks/deltachat/default.nix index afd376845..6ee05759c 100644 --- a/checks/deltachat/default.nix +++ b/checks/deltachat/default.nix @@ -1,28 +1,51 @@ -(import ../lib/container-test.nix) ( - { pkgs, ... }: +{ + pkgs, + nixosLib, + clan-core, + ... +}: +nixosLib.runTest ( + { ... }: { + imports = [ + clan-core.modules.nixosVmTest.clanTest + ]; + + hostPkgs = pkgs; + name = "deltachat"; - nodes.machine = - { self, ... }: - { - imports = [ - self.clanModules.deltachat - self.nixosModules.clanCore - { - clan.core.settings.directory = ./.; - } - ]; + clan = { + directory = ./.; + modules."@clan/deltachat" = ../../clanServices/deltachat/default.nix; + inventory = { + machines.server = { }; + + instances = { + deltachat-test = { + module.name = "@clan/deltachat"; + roles.default.machines."server".settings = { }; + }; + }; }; + }; + + nodes = { + server = { }; + }; + testScript = '' start_all() - machine.wait_for_unit("maddy") + + server.wait_for_unit("network-online.target") + server.wait_for_unit("maddy") + # imap - machine.succeed("${pkgs.netcat}/bin/nc -z -v ::1 143") + server.succeed("${pkgs.netcat}/bin/nc -z -v ::1 143") # smtp submission - machine.succeed("${pkgs.netcat}/bin/nc -z -v ::1 587") + server.succeed("${pkgs.netcat}/bin/nc -z -v ::1 587") # smtp - machine.succeed("${pkgs.netcat}/bin/nc -z -v ::1 25") + server.succeed("${pkgs.netcat}/bin/nc -z -v ::1 25") ''; } ) diff --git a/checks/deltachat/sops/users/admin/key.json b/checks/deltachat/sops/users/admin/key.json new file mode 100644 index 000000000..e408aa96b --- /dev/null +++ b/checks/deltachat/sops/users/admin/key.json @@ -0,0 +1,4 @@ +{ + "publickey": "age1qm0p4vf9jvcnn43s6l4prk8zn6cx0ep9gzvevxecv729xz540v8qa742eg", + "type": "age" +} diff --git a/checks/flake-module.nix b/checks/flake-module.nix index 622cbf60f..66ebb0ab3 100644 --- a/checks/flake-module.nix +++ b/checks/flake-module.nix @@ -38,8 +38,8 @@ in }; nixosTests = lib.optionalAttrs (pkgs.stdenv.isLinux) { - # Deltachat is currently marked as broken - # deltachat = import ./deltachat nixosTestArgs; + # Deltachat test + deltachat = import ./deltachat nixosTestArgs; # Base Tests secrets = self.clanLib.test.baseTest ./secrets nixosTestArgs; diff --git a/clanModules/deltachat/default.nix b/clanModules/deltachat/roles/default.nix similarity index 100% rename from clanModules/deltachat/default.nix rename to clanModules/deltachat/roles/default.nix