diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix
index 1aa54c48d472..d2940b2c437f 100644
--- a/nixos/tests/all-tests.nix
+++ b/nixos/tests/all-tests.nix
@@ -552,7 +552,7 @@ in
freenet = runTest ./freenet.nix;
freeswitch = runTest ./freeswitch.nix;
freetube = discoverTests (import ./freetube.nix);
- freshrss = handleTest ./freshrss { };
+ freshrss = import ./freshrss { inherit runTest; };
frigate = runTest ./frigate.nix;
froide-govplan = runTest ./web-apps/froide-govplan.nix;
frp = runTest ./frp.nix;
diff --git a/nixos/tests/freshrss/caddy-sqlite.nix b/nixos/tests/freshrss/caddy-sqlite.nix
index 69b62ab3b899..3c2e60e5e3bb 100644
--- a/nixos/tests/freshrss/caddy-sqlite.nix
+++ b/nixos/tests/freshrss/caddy-sqlite.nix
@@ -1,30 +1,28 @@
-import ../make-test-python.nix (
- { lib, pkgs, ... }:
- {
- name = "freshrss-caddy-sqlite";
- meta.maintainers = with lib.maintainers; [
- etu
- stunkymonkey
- ];
+{ lib, ... }:
+{
+ name = "freshrss-caddy-sqlite";
+ 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";
- webserver = "caddy";
- virtualHost = "freshrss:80";
- };
+ nodes.machine =
+ { pkgs, ... }:
+ {
+ services.freshrss = {
+ enable = true;
+ baseUrl = "http://localhost";
+ passwordFile = pkgs.writeText "password" "secret";
+ dataDir = "/srv/freshrss";
+ webserver = "caddy";
+ virtualHost = "freshrss:80";
};
+ };
- testScript = ''
- machine.wait_for_unit("multi-user.target")
- machine.wait_for_open_port(80)
- response = machine.succeed("curl -vvv -s -H 'Host: freshrss' http://localhost:80/i/")
- assert '
Login · FreshRSS' in response, "Login page didn't load successfully"
- '';
- }
-)
+ testScript = ''
+ machine.wait_for_unit("multi-user.target")
+ machine.wait_for_open_port(80)
+ response = machine.succeed("curl -vvv -s -H 'Host: freshrss' http://localhost:80/i/")
+ assert 'Login · FreshRSS' in response, "Login page didn't load successfully"
+ '';
+}
diff --git a/nixos/tests/freshrss/default.nix b/nixos/tests/freshrss/default.nix
index 9253ee7f7e4a..b5af365749df 100644
--- a/nixos/tests/freshrss/default.nix
+++ b/nixos/tests/freshrss/default.nix
@@ -1,10 +1,10 @@
-{ system, pkgs, ... }:
+{ runTest }:
{
- extensions = import ./extensions.nix { inherit system pkgs; };
- http-auth = import ./http-auth.nix { inherit system pkgs; };
- none-auth = import ./none-auth.nix { inherit system pkgs; };
- pgsql = import ./pgsql.nix { inherit system pkgs; };
- nginx-sqlite = import ./nginx-sqlite.nix { inherit system pkgs; };
- caddy-sqlite = import ./caddy-sqlite.nix { inherit system pkgs; };
+ extensions = runTest ./extensions.nix;
+ http-auth = runTest ./http-auth.nix;
+ none-auth = runTest ./none-auth.nix;
+ pgsql = runTest ./pgsql.nix;
+ nginx-sqlite = runTest ./nginx-sqlite.nix;
+ caddy-sqlite = runTest ./caddy-sqlite.nix;
}
diff --git a/nixos/tests/freshrss/extensions.nix b/nixos/tests/freshrss/extensions.nix
index d2758fd387b4..8b0d306e6b01 100644
--- a/nixos/tests/freshrss/extensions.nix
+++ b/nixos/tests/freshrss/extensions.nix
@@ -1,24 +1,21 @@
-import ../make-test-python.nix (
- { lib, pkgs, ... }:
- {
- name = "freshrss-extensions";
+{
+ name = "freshrss-extensions";
- nodes.machine =
- { pkgs, ... }:
- {
- services.freshrss = {
- enable = true;
- baseUrl = "http://localhost";
- authType = "none";
- extensions = [ pkgs.freshrss-extensions.youtube ];
- };
+ nodes.machine =
+ { pkgs, ... }:
+ {
+ services.freshrss = {
+ enable = true;
+ baseUrl = "http://localhost";
+ authType = "none";
+ extensions = [ pkgs.freshrss-extensions.youtube ];
};
+ };
- testScript = ''
- machine.wait_for_unit("multi-user.target")
- machine.wait_for_open_port(80)
- response = machine.succeed("curl -vvv -s http://localhost:80/i/?c=extension")
- assert 'YouTube Video Feed' in response, "Extension not present in extensions page."
- '';
- }
-)
+ testScript = ''
+ machine.wait_for_unit("multi-user.target")
+ machine.wait_for_open_port(80)
+ response = machine.succeed("curl -vvv -s http://localhost:80/i/?c=extension")
+ assert 'YouTube Video Feed' in response, "Extension not present in extensions page."
+ '';
+}
diff --git a/nixos/tests/freshrss/http-auth.nix b/nixos/tests/freshrss/http-auth.nix
index f0fb28ee188f..1f6fd1ad8e7d 100644
--- a/nixos/tests/freshrss/http-auth.nix
+++ b/nixos/tests/freshrss/http-auth.nix
@@ -1,25 +1,21 @@
-import ../make-test-python.nix (
- { lib, pkgs, ... }:
- {
- name = "freshrss-http-auth";
- meta.maintainers = with lib.maintainers; [ mattchrist ];
+{ lib, ... }:
+{
+ name = "freshrss-http-auth";
+ meta.maintainers = with lib.maintainers; [ mattchrist ];
- nodes.machine =
- { pkgs, ... }:
- {
- services.freshrss = {
- enable = true;
- baseUrl = "http://localhost";
- dataDir = "/srv/freshrss";
- authType = "http_auth";
- };
- };
+ nodes.machine = {
+ services.freshrss = {
+ enable = true;
+ baseUrl = "http://localhost";
+ dataDir = "/srv/freshrss";
+ authType = "http_auth";
+ };
+ };
- testScript = ''
- machine.wait_for_unit("multi-user.target")
- machine.wait_for_open_port(80)
- response = machine.succeed("curl -vvv -s -H 'Host: freshrss' -H 'Remote-User: testuser' http://localhost:80/i/")
- assert 'Account: testuser' in response, "http_auth method didn't work."
- '';
- }
-)
+ testScript = ''
+ machine.wait_for_unit("multi-user.target")
+ machine.wait_for_open_port(80)
+ response = machine.succeed("curl -vvv -s -H 'Host: freshrss' -H 'Remote-User: testuser' http://localhost:80/i/")
+ assert 'Account: testuser' in response, "http_auth method didn't work."
+ '';
+}
diff --git a/nixos/tests/freshrss/nginx-sqlite.nix b/nixos/tests/freshrss/nginx-sqlite.nix
index 2425dc086549..c8097465d8cd 100644
--- a/nixos/tests/freshrss/nginx-sqlite.nix
+++ b/nixos/tests/freshrss/nginx-sqlite.nix
@@ -1,28 +1,26 @@
-import ../make-test-python.nix (
- { lib, pkgs, ... }:
- {
- name = "freshrss-nginx-sqlite";
- meta.maintainers = with lib.maintainers; [
- etu
- stunkymonkey
- ];
+{ lib, ... }:
+{
+ name = "freshrss-nginx-sqlite";
+ 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";
- };
+ nodes.machine =
+ { pkgs, ... }:
+ {
+ services.freshrss = {
+ enable = true;
+ baseUrl = "http://localhost";
+ passwordFile = pkgs.writeText "password" "secret";
+ dataDir = "/srv/freshrss";
};
+ };
- testScript = ''
- machine.wait_for_unit("multi-user.target")
- machine.wait_for_open_port(80)
- response = machine.succeed("curl -vvv -s -H 'Host: freshrss' http://localhost:80/i/")
- assert 'Login · FreshRSS' in response, "Login page didn't load successfully"
- '';
- }
-)
+ testScript = ''
+ machine.wait_for_unit("multi-user.target")
+ machine.wait_for_open_port(80)
+ response = machine.succeed("curl -vvv -s -H 'Host: freshrss' http://localhost:80/i/")
+ assert 'Login · FreshRSS' in response, "Login page didn't load successfully"
+ '';
+}
diff --git a/nixos/tests/freshrss/none-auth.nix b/nixos/tests/freshrss/none-auth.nix
index 97c950b4b514..77d636f88071 100644
--- a/nixos/tests/freshrss/none-auth.nix
+++ b/nixos/tests/freshrss/none-auth.nix
@@ -1,24 +1,20 @@
-import ../make-test-python.nix (
- { lib, pkgs, ... }:
- {
- name = "freshrss-none-auth";
- meta.maintainers = with lib.maintainers; [ mattchrist ];
+{ lib, ... }:
+{
+ name = "freshrss-none-auth";
+ meta.maintainers = with lib.maintainers; [ mattchrist ];
- nodes.machine =
- { pkgs, ... }:
- {
- services.freshrss = {
- enable = true;
- baseUrl = "http://localhost";
- authType = "none";
- };
- };
+ nodes.machine = {
+ services.freshrss = {
+ enable = true;
+ baseUrl = "http://localhost";
+ authType = "none";
+ };
+ };
- testScript = ''
- machine.wait_for_unit("multi-user.target")
- machine.wait_for_open_port(80)
- response = machine.succeed("curl -vvv -s http://localhost:80/i/")
- assert ' · FreshRSS' in response, "FreshRSS stream page didn't load successfully"
- '';
- }
-)
+ testScript = ''
+ machine.wait_for_unit("multi-user.target")
+ machine.wait_for_open_port(80)
+ response = machine.succeed("curl -vvv -s http://localhost:80/i/")
+ assert ' · FreshRSS' in response, "FreshRSS stream page didn't load successfully"
+ '';
+}
diff --git a/nixos/tests/freshrss/pgsql.nix b/nixos/tests/freshrss/pgsql.nix
index 971ea7b15bc4..5fceb98b0efb 100644
--- a/nixos/tests/freshrss/pgsql.nix
+++ b/nixos/tests/freshrss/pgsql.nix
@@ -1,54 +1,52 @@
-import ../make-test-python.nix (
- { lib, pkgs, ... }:
- {
- name = "freshrss-pgsql";
- meta.maintainers = with lib.maintainers; [
- etu
- stunkymonkey
- ];
+{ lib, ... }:
+{
+ name = "freshrss-pgsql";
+ 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";
- ensureDBOwnership = true;
- }
- ];
- initialScript = pkgs.writeText "postgresql-password" ''
- CREATE ROLE freshrss WITH LOGIN PASSWORD 'db-secret' CREATEDB;
- '';
- };
-
- systemd.services."freshrss-config" = {
- requires = [ "postgresql.target" ];
- after = [ "postgresql.target" ];
+ 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";
};
};
- 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://localhost:80/i/")
- assert 'Login · FreshRSS' in response, "Login page didn't load successfully"
- '';
- }
-)
+ services.postgresql = {
+ enable = true;
+ ensureDatabases = [ "freshrss" ];
+ ensureUsers = [
+ {
+ name = "freshrss";
+ ensureDBOwnership = true;
+ }
+ ];
+ initialScript = pkgs.writeText "postgresql-password" ''
+ CREATE ROLE freshrss WITH LOGIN PASSWORD 'db-secret' CREATEDB;
+ '';
+ };
+
+ systemd.services."freshrss-config" = {
+ requires = [ "postgresql.target" ];
+ after = [ "postgresql.target" ];
+ };
+ };
+
+ 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://localhost:80/i/")
+ assert 'Login · FreshRSS' in response, "Login page didn't load successfully"
+ '';
+}