test discourse module configuration

This commit is contained in:
Yisroel Baum 2026-07-19 10:20:13 +03:00
parent ae9dd787a6
commit 63a68f8ae0
Signed by: yisroelbaum
GPG key ID: 0FA60884F75520A9
2 changed files with 44 additions and 0 deletions

View file

@ -9,6 +9,10 @@
let let
pkgs = nixpkgs.legacyPackages.${system}; pkgs = nixpkgs.legacyPackages.${system};
in { in {
checks.tide-module = import ./nix/tests/module.nix {
inherit nixpkgs self system;
};
packages = { packages = {
tide-backend = pkgs.callPackage ./nix/packages/backend.nix { }; tide-backend = pkgs.callPackage ./nix/packages/backend.nix { };
tide-frontend = pkgs.callPackage ./nix/packages/frontend.nix { tide-frontend = pkgs.callPackage ./nix/packages/frontend.nix {

40
nix/tests/module.nix Normal file
View file

@ -0,0 +1,40 @@
{ nixpkgs, self, system }:
let
pkgs = nixpkgs.legacyPackages.${system};
evaluatedSystem = nixpkgs.lib.nixosSystem {
inherit system;
modules = [
self.nixosModules.tide
{
services.tide = {
enable = true;
secretFiles = {
adminPassword = "/run/secrets/tide-admin-password";
mailPassword = "/run/secrets/tide-mail-password";
secretKeyBase = "/run/secrets/tide-secret-key-base";
borgPassphrase = "/run/secrets/borg-passphrase";
borgPrivateKey = "/run/secrets/borg-private-key";
};
};
}
];
};
evaluatedConfig = evaluatedSystem.config;
discourseConfig = evaluatedConfig.services.discourse;
backupConfig = evaluatedConfig.services.borgbackup.jobs.discourse;
in
assert discourseConfig.enable;
assert discourseConfig.hostname == "discourse.torahimderecheretz.com";
assert discourseConfig.admin.email == "yisroel.d.baum@gmail.com";
assert discourseConfig.admin.fullName == "Yisroel Baum";
assert discourseConfig.admin.username == "yisroeldbaum";
assert discourseConfig.admin.passwordFile == "/run/secrets/tide-admin-password";
assert discourseConfig.mail.outgoing.passwordFile == "/run/secrets/tide-mail-password";
assert discourseConfig.secretKeyBaseFile == "/run/secrets/tide-secret-key-base";
assert backupConfig.repo ==
"ssh://oas17j8p@oas17j8p.repo.borgbase.com/./repo";
assert backupConfig.startAt == "*-*-* 07:15:00";
assert builtins.elem "/var/lib/discourse" backupConfig.paths;
pkgs.runCommand "tide-module-test" { } ''
touch "$out"
''