1{
2 runTest,
3 ...
4}:
5
6let
7 writefreelyTest =
8 { name, type }:
9 runTest {
10 name = "writefreely-${name}";
11
12 nodes.machine =
13 { config, pkgs, ... }:
14 {
15 services.writefreely = {
16 enable = true;
17 host = "localhost:3000";
18 admin.name = "nixos";
19
20 database = {
21 inherit type;
22 createLocally = type == "mysql";
23 passwordFile = pkgs.writeText "db-pass" "pass";
24 };
25
26 settings.server.port = 3000;
27 };
28 };
29
30 testScript = ''
31 start_all()
32 machine.wait_for_unit("writefreely.service")
33 machine.wait_for_open_port(3000)
34 machine.succeed("curl --fail http://localhost:3000")
35 '';
36 };
37in
38{
39 sqlite = writefreelyTest {
40 name = "sqlite";
41 type = "sqlite3";
42 };
43 mysql = writefreelyTest {
44 name = "mysql";
45 type = "mysql";
46 };
47}