nixosTests.freshrss: handleTest -> runTest

+1 -1
nixos/tests/all-tests.nix
···
freenet = runTest ./freenet.nix;
freeswitch = runTest ./freeswitch.nix;
freetube = discoverTests (import ./freetube.nix);
-
freshrss = handleTest ./freshrss { };
frigate = runTest ./frigate.nix;
froide-govplan = runTest ./web-apps/froide-govplan.nix;
frp = runTest ./frp.nix;
···
freenet = runTest ./freenet.nix;
freeswitch = runTest ./freeswitch.nix;
freetube = discoverTests (import ./freetube.nix);
+
freshrss = import ./freshrss { inherit runTest; };
frigate = runTest ./frigate.nix;
froide-govplan = runTest ./web-apps/froide-govplan.nix;
frp = runTest ./frp.nix;
+25 -27
nixos/tests/freshrss/caddy-sqlite.nix
···
-
import ../make-test-python.nix (
-
{ lib, pkgs, ... }:
-
{
-
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";
-
};
};
-
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 '<title>Login · FreshRSS</title>' in response, "Login page didn't load successfully"
-
'';
-
}
-
)
···
+
{ 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";
};
+
};
+
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 '<title>Login · FreshRSS</title>' in response, "Login page didn't load successfully"
+
'';
+
}
+7 -7
nixos/tests/freshrss/default.nix
···
-
{ system, pkgs, ... }:
{
-
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; };
}
···
+
{ runTest }:
{
+
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;
}
+18 -21
nixos/tests/freshrss/extensions.nix
···
-
import ../make-test-python.nix (
-
{ lib, pkgs, ... }:
-
{
-
name = "freshrss-extensions";
-
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 '<span class="ext_name disabled">YouTube Video Feed</span>' in response, "Extension not present in extensions page."
-
'';
-
}
-
)
···
+
{
+
name = "freshrss-extensions";
+
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 '<span class="ext_name disabled">YouTube Video Feed</span>' in response, "Extension not present in extensions page."
+
'';
+
}
+19 -23
nixos/tests/freshrss/http-auth.nix
···
-
import ../make-test-python.nix (
-
{ lib, pkgs, ... }:
-
{
-
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";
-
};
-
};
-
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."
-
'';
-
}
-
)
···
+
{ lib, ... }:
+
{
+
name = "freshrss-http-auth";
+
meta.maintainers = with lib.maintainers; [ mattchrist ];
+
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."
+
'';
+
}
+23 -25
nixos/tests/freshrss/nginx-sqlite.nix
···
-
import ../make-test-python.nix (
-
{ lib, pkgs, ... }:
-
{
-
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";
-
};
};
-
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 '<title>Login · FreshRSS</title>' in response, "Login page didn't load successfully"
-
'';
-
}
-
)
···
+
{ 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";
};
+
};
+
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 '<title>Login · FreshRSS</title>' in response, "Login page didn't load successfully"
+
'';
+
}
+18 -22
nixos/tests/freshrss/none-auth.nix
···
-
import ../make-test-python.nix (
-
{ lib, pkgs, ... }:
-
{
-
name = "freshrss-none-auth";
-
meta.maintainers = with lib.maintainers; [ mattchrist ];
-
nodes.machine =
-
{ pkgs, ... }:
-
{
-
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 '<title> · FreshRSS</title>' in response, "FreshRSS stream page didn't load successfully"
-
'';
-
}
-
)
···
+
{ lib, ... }:
+
{
+
name = "freshrss-none-auth";
+
meta.maintainers = with lib.maintainers; [ mattchrist ];
+
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 '<title> · FreshRSS</title>' in response, "FreshRSS stream page didn't load successfully"
+
'';
+
}
+46 -48
nixos/tests/freshrss/pgsql.nix
···
-
import ../make-test-python.nix (
-
{ lib, pkgs, ... }:
-
{
-
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" ];
-
};
};
-
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 '<title>Login · FreshRSS</title>' in response, "Login page didn't load successfully"
-
'';
-
}
-
)
···
+
{ 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" ];
};
+
};
+
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 '<title>Login · FreshRSS</title>' in response, "Login page didn't load successfully"
+
'';
+
}