diff options
author | Felix Bühler <Stunkymonkey@users.noreply.github.com> | 2023-01-07 19:13:30 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-01-07 19:13:30 +0100 |
commit | a4eb1b11bce6d3f0104b97585f7d275d13ec8843 (patch) | |
tree | 80f3cb2a072e430d5f24c4beb91f2d337d9d066d /nixos/tests | |
parent | 716cab14032dde128e5ef08c3ba31066d7802e51 (diff) | |
parent | 0e2787884e7d6c60e51da9e1c158e75406cac7a9 (diff) |
Merge pull request #209254 from Stunkymonkey/freshrss-srv-pgsql
nixos/freshrss: fix permissions and add database test
Diffstat (limited to 'nixos/tests')
-rw-r--r-- | nixos/tests/all-tests.nix | 3 | ||||
-rw-r--r-- | nixos/tests/freshrss-pgsql.nix | 48 | ||||
-rw-r--r-- | nixos/tests/freshrss-sqlite.nix (renamed from nixos/tests/freshrss.nix) | 1 |
3 files changed, 51 insertions, 1 deletions
diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index 83ad7c48a0892..e5dc4a82e1b41 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -225,7 +225,8 @@ in { fontconfig-default-fonts = handleTest ./fontconfig-default-fonts.nix {}; freenet = handleTest ./freenet.nix {}; freeswitch = handleTest ./freeswitch.nix {}; - freshrss = handleTest ./freshrss.nix {}; + freshrss-sqlite = handleTest ./freshrss-sqlite.nix {}; + freshrss-pgsql = handleTest ./freshrss-pgsql.nix {}; frr = handleTest ./frr.nix {}; fsck = handleTest ./fsck.nix {}; ft2-clone = handleTest ./ft2-clone.nix {}; diff --git a/nixos/tests/freshrss-pgsql.nix b/nixos/tests/freshrss-pgsql.nix new file mode 100644 index 0000000000000..055bd51ed43d7 --- /dev/null +++ b/nixos/tests/freshrss-pgsql.nix @@ -0,0 +1,48 @@ +import ./make-test-python.nix ({ lib, pkgs, ... }: { + name = "freshrss"; + meta.maintainers = with lib.maintainers; [ etu stunkymonkey ]; + + nodes.machine = { pkgs, ... }: { + services.freshrss = { + enable = true; + baseUrl = "http://localhost"; + passwordFile = pkgs.writeText "password" "secret"; + dataDir = "/srv/freshrss"; + database = { + type = "pgsql"; + port = 5432; + user = "freshrss"; + passFile = pkgs.writeText "db-password" "db-secret"; + }; + }; + + services.postgresql = { + enable = true; + ensureDatabases = [ "freshrss" ]; + ensureUsers = [ + { + name = "freshrss"; + ensurePermissions = { + "DATABASE freshrss" = "ALL PRIVILEGES"; + }; + } + ]; + initialScript = pkgs.writeText "postgresql-password" '' + CREATE ROLE freshrss WITH LOGIN PASSWORD 'db-secret' CREATEDB; + ''; + }; + + systemd.services."freshrss-config" = { + requires = [ "postgresql.service" ]; + after = [ "postgresql.service" ]; + }; + }; + + testScript = '' + machine.wait_for_unit("multi-user.target") + machine.wait_for_open_port(5432) + machine.wait_for_open_port(80) + response = machine.succeed("curl -vvv -s -H 'Host: freshrss' http://127.0.0.1:80/i/") + assert '<title>Login · FreshRSS</title>' in response, "Login page didn't load successfully" + ''; +}) diff --git a/nixos/tests/freshrss.nix b/nixos/tests/freshrss-sqlite.nix index 7bdbf29e9230b..b821c98a7e7ac 100644 --- a/nixos/tests/freshrss.nix +++ b/nixos/tests/freshrss-sqlite.nix @@ -7,6 +7,7 @@ import ./make-test-python.nix ({ lib, pkgs, ... }: { enable = true; baseUrl = "http://localhost"; passwordFile = pkgs.writeText "password" "secret"; + dataDir = "/srv/freshrss"; }; }; |