1import ../make-test-python.nix (
2 { pkgs, ... }:
3 {
4 name = "matrix-synapse-workers";
5 meta = {
6 inherit (pkgs.matrix-synapse.meta) maintainers;
7 };
8
9 nodes = {
10 homeserver =
11 {
12 pkgs,
13 nodes,
14 ...
15 }:
16 {
17 services.postgresql = {
18 enable = true;
19 initialScript = pkgs.writeText "synapse-init.sql" ''
20 CREATE ROLE "matrix-synapse" WITH LOGIN PASSWORD 'synapse';
21 CREATE DATABASE "matrix-synapse" WITH OWNER "matrix-synapse"
22 TEMPLATE template0
23 LC_COLLATE = "C"
24 LC_CTYPE = "C";
25 '';
26 };
27
28 services.matrix-synapse = {
29 enable = true;
30 settings = {
31 database = {
32 name = "psycopg2";
33 args.password = "synapse";
34 };
35 enable_registration = true;
36 enable_registration_without_verification = true;
37
38 federation_sender_instances = [ "federation_sender" ];
39 };
40 configureRedisLocally = true;
41 workers = {
42 "federation_sender" = { };
43 };
44 };
45 };
46 };
47
48 testScript = ''
49 start_all()
50
51 homeserver.wait_for_unit("matrix-synapse.service");
52 homeserver.wait_for_unit("matrix-synapse-worker-federation_sender.service");
53 '';
54 }
55)