From 2afe9fe63d8ad41d1b38ad74ab44ba3d19e4f430 Mon Sep 17 00:00:00 2001 From: h7x4 Date: Mon, 22 Jun 2026 16:25:21 +0900 Subject: [PATCH] test/synapse-workers: init --- flake.nix | 1 + tests/default.nix | 1 + tests/synapse-workers/default.nix | 52 +++++++++++++++++++++++++++++++ 3 files changed, 54 insertions(+) create mode 100644 tests/synapse-workers/default.nix diff --git a/flake.nix b/flake.nix index 5768ebe..648e2b1 100644 --- a/flake.nix +++ b/flake.nix @@ -29,6 +29,7 @@ inherit (tests) nginx-pipeline-eval synapse + synapse-workers ; }); }; diff --git a/tests/default.nix b/tests/default.nix index f6c3990..e826ac9 100644 --- a/tests/default.nix +++ b/tests/default.nix @@ -3,4 +3,5 @@ nginx-pipeline-eval = pkgs.callPackage ./nginx-pipeline { inherit nixpkgs matrix-lib; }; synapse = pkgs.testers.runNixOSTest ./synapse; + synapse-workers = pkgs.testers.runNixOSTest ./synapse-workers; } diff --git a/tests/synapse-workers/default.nix b/tests/synapse-workers/default.nix new file mode 100644 index 0000000..4ffd444 --- /dev/null +++ b/tests/synapse-workers/default.nix @@ -0,0 +1,52 @@ +{ pkgs, ... }: +{ + name = "matrix-synapse-workers"; + nodes = { + server = + { + pkgs, + nodes, + ... + }: + { + imports = [ + ../../synapse-module + ]; + + services.postgresql = { + enable = true; + initialScript = pkgs.writeText "synapse-init.sql" '' + CREATE ROLE "matrix-synapse" WITH LOGIN PASSWORD 'synapse'; + CREATE DATABASE "matrix-synapse" WITH OWNER "matrix-synapse" + TEMPLATE template0 + LC_COLLATE = "C" + LC_CTYPE = "C"; + ''; + }; + + services.matrix-synapse-next = { + enable = true; + + workers.federationSenders = 1; + workers.federationReceivers = 1; + workers.initialSyncers = 1; + workers.normalSyncers = 1; + workers.eventPersisters = 1; + workers.useUserDirectoryWorker = true; + + settings = { + server_name = "example.com"; + database = { + args.password = "synapse"; + }; + }; + }; + + services.redis.servers."".enable = true; + }; + }; + + testScript = '' + server.wait_for_unit("matrix-synapse.target"); + ''; +}