nixosTests.freshrss: handleTest -> runTest
This commit is contained in:
parent
40a27ed8e7
commit
da6ecbe539
@ -552,7 +552,7 @@ in
|
|||||||
freenet = runTest ./freenet.nix;
|
freenet = runTest ./freenet.nix;
|
||||||
freeswitch = runTest ./freeswitch.nix;
|
freeswitch = runTest ./freeswitch.nix;
|
||||||
freetube = discoverTests (import ./freetube.nix);
|
freetube = discoverTests (import ./freetube.nix);
|
||||||
freshrss = handleTest ./freshrss { };
|
freshrss = import ./freshrss { inherit runTest; };
|
||||||
frigate = runTest ./frigate.nix;
|
frigate = runTest ./frigate.nix;
|
||||||
froide-govplan = runTest ./web-apps/froide-govplan.nix;
|
froide-govplan = runTest ./web-apps/froide-govplan.nix;
|
||||||
frp = runTest ./frp.nix;
|
frp = runTest ./frp.nix;
|
||||||
|
@ -1,30 +1,28 @@
|
|||||||
import ../make-test-python.nix (
|
{ lib, ... }:
|
||||||
{ lib, pkgs, ... }:
|
{
|
||||||
{
|
name = "freshrss-caddy-sqlite";
|
||||||
name = "freshrss-caddy-sqlite";
|
meta.maintainers = with lib.maintainers; [
|
||||||
meta.maintainers = with lib.maintainers; [
|
etu
|
||||||
etu
|
stunkymonkey
|
||||||
stunkymonkey
|
];
|
||||||
];
|
|
||||||
|
|
||||||
nodes.machine =
|
nodes.machine =
|
||||||
{ pkgs, ... }:
|
{ pkgs, ... }:
|
||||||
{
|
{
|
||||||
services.freshrss = {
|
services.freshrss = {
|
||||||
enable = true;
|
enable = true;
|
||||||
baseUrl = "http://localhost";
|
baseUrl = "http://localhost";
|
||||||
passwordFile = pkgs.writeText "password" "secret";
|
passwordFile = pkgs.writeText "password" "secret";
|
||||||
dataDir = "/srv/freshrss";
|
dataDir = "/srv/freshrss";
|
||||||
webserver = "caddy";
|
webserver = "caddy";
|
||||||
virtualHost = "freshrss:80";
|
virtualHost = "freshrss:80";
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
};
|
||||||
|
|
||||||
testScript = ''
|
testScript = ''
|
||||||
machine.wait_for_unit("multi-user.target")
|
machine.wait_for_unit("multi-user.target")
|
||||||
machine.wait_for_open_port(80)
|
machine.wait_for_open_port(80)
|
||||||
response = machine.succeed("curl -vvv -s -H 'Host: freshrss' http://localhost:80/i/")
|
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"
|
assert '<title>Login · FreshRSS</title>' in response, "Login page didn't load successfully"
|
||||||
'';
|
'';
|
||||||
}
|
}
|
||||||
)
|
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
{ system, pkgs, ... }:
|
{ runTest }:
|
||||||
|
|
||||||
{
|
{
|
||||||
extensions = import ./extensions.nix { inherit system pkgs; };
|
extensions = runTest ./extensions.nix;
|
||||||
http-auth = import ./http-auth.nix { inherit system pkgs; };
|
http-auth = runTest ./http-auth.nix;
|
||||||
none-auth = import ./none-auth.nix { inherit system pkgs; };
|
none-auth = runTest ./none-auth.nix;
|
||||||
pgsql = import ./pgsql.nix { inherit system pkgs; };
|
pgsql = runTest ./pgsql.nix;
|
||||||
nginx-sqlite = import ./nginx-sqlite.nix { inherit system pkgs; };
|
nginx-sqlite = runTest ./nginx-sqlite.nix;
|
||||||
caddy-sqlite = import ./caddy-sqlite.nix { inherit system pkgs; };
|
caddy-sqlite = runTest ./caddy-sqlite.nix;
|
||||||
}
|
}
|
||||||
|
@ -1,24 +1,21 @@
|
|||||||
import ../make-test-python.nix (
|
{
|
||||||
{ lib, pkgs, ... }:
|
name = "freshrss-extensions";
|
||||||
{
|
|
||||||
name = "freshrss-extensions";
|
|
||||||
|
|
||||||
nodes.machine =
|
nodes.machine =
|
||||||
{ pkgs, ... }:
|
{ pkgs, ... }:
|
||||||
{
|
{
|
||||||
services.freshrss = {
|
services.freshrss = {
|
||||||
enable = true;
|
enable = true;
|
||||||
baseUrl = "http://localhost";
|
baseUrl = "http://localhost";
|
||||||
authType = "none";
|
authType = "none";
|
||||||
extensions = [ pkgs.freshrss-extensions.youtube ];
|
extensions = [ pkgs.freshrss-extensions.youtube ];
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
};
|
||||||
|
|
||||||
testScript = ''
|
testScript = ''
|
||||||
machine.wait_for_unit("multi-user.target")
|
machine.wait_for_unit("multi-user.target")
|
||||||
machine.wait_for_open_port(80)
|
machine.wait_for_open_port(80)
|
||||||
response = machine.succeed("curl -vvv -s http://localhost:80/i/?c=extension")
|
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."
|
assert '<span class="ext_name disabled">YouTube Video Feed</span>' in response, "Extension not present in extensions page."
|
||||||
'';
|
'';
|
||||||
}
|
}
|
||||||
)
|
|
||||||
|
@ -1,25 +1,21 @@
|
|||||||
import ../make-test-python.nix (
|
{ lib, ... }:
|
||||||
{ lib, pkgs, ... }:
|
{
|
||||||
{
|
name = "freshrss-http-auth";
|
||||||
name = "freshrss-http-auth";
|
meta.maintainers = with lib.maintainers; [ mattchrist ];
|
||||||
meta.maintainers = with lib.maintainers; [ mattchrist ];
|
|
||||||
|
|
||||||
nodes.machine =
|
nodes.machine = {
|
||||||
{ pkgs, ... }:
|
services.freshrss = {
|
||||||
{
|
enable = true;
|
||||||
services.freshrss = {
|
baseUrl = "http://localhost";
|
||||||
enable = true;
|
dataDir = "/srv/freshrss";
|
||||||
baseUrl = "http://localhost";
|
authType = "http_auth";
|
||||||
dataDir = "/srv/freshrss";
|
};
|
||||||
authType = "http_auth";
|
};
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
testScript = ''
|
testScript = ''
|
||||||
machine.wait_for_unit("multi-user.target")
|
machine.wait_for_unit("multi-user.target")
|
||||||
machine.wait_for_open_port(80)
|
machine.wait_for_open_port(80)
|
||||||
response = machine.succeed("curl -vvv -s -H 'Host: freshrss' -H 'Remote-User: testuser' http://localhost:80/i/")
|
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."
|
assert 'Account: testuser' in response, "http_auth method didn't work."
|
||||||
'';
|
'';
|
||||||
}
|
}
|
||||||
)
|
|
||||||
|
@ -1,28 +1,26 @@
|
|||||||
import ../make-test-python.nix (
|
{ lib, ... }:
|
||||||
{ lib, pkgs, ... }:
|
{
|
||||||
{
|
name = "freshrss-nginx-sqlite";
|
||||||
name = "freshrss-nginx-sqlite";
|
meta.maintainers = with lib.maintainers; [
|
||||||
meta.maintainers = with lib.maintainers; [
|
etu
|
||||||
etu
|
stunkymonkey
|
||||||
stunkymonkey
|
];
|
||||||
];
|
|
||||||
|
|
||||||
nodes.machine =
|
nodes.machine =
|
||||||
{ pkgs, ... }:
|
{ pkgs, ... }:
|
||||||
{
|
{
|
||||||
services.freshrss = {
|
services.freshrss = {
|
||||||
enable = true;
|
enable = true;
|
||||||
baseUrl = "http://localhost";
|
baseUrl = "http://localhost";
|
||||||
passwordFile = pkgs.writeText "password" "secret";
|
passwordFile = pkgs.writeText "password" "secret";
|
||||||
dataDir = "/srv/freshrss";
|
dataDir = "/srv/freshrss";
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
};
|
||||||
|
|
||||||
testScript = ''
|
testScript = ''
|
||||||
machine.wait_for_unit("multi-user.target")
|
machine.wait_for_unit("multi-user.target")
|
||||||
machine.wait_for_open_port(80)
|
machine.wait_for_open_port(80)
|
||||||
response = machine.succeed("curl -vvv -s -H 'Host: freshrss' http://localhost:80/i/")
|
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"
|
assert '<title>Login · FreshRSS</title>' in response, "Login page didn't load successfully"
|
||||||
'';
|
'';
|
||||||
}
|
}
|
||||||
)
|
|
||||||
|
@ -1,24 +1,20 @@
|
|||||||
import ../make-test-python.nix (
|
{ lib, ... }:
|
||||||
{ lib, pkgs, ... }:
|
{
|
||||||
{
|
name = "freshrss-none-auth";
|
||||||
name = "freshrss-none-auth";
|
meta.maintainers = with lib.maintainers; [ mattchrist ];
|
||||||
meta.maintainers = with lib.maintainers; [ mattchrist ];
|
|
||||||
|
|
||||||
nodes.machine =
|
nodes.machine = {
|
||||||
{ pkgs, ... }:
|
services.freshrss = {
|
||||||
{
|
enable = true;
|
||||||
services.freshrss = {
|
baseUrl = "http://localhost";
|
||||||
enable = true;
|
authType = "none";
|
||||||
baseUrl = "http://localhost";
|
};
|
||||||
authType = "none";
|
};
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
testScript = ''
|
testScript = ''
|
||||||
machine.wait_for_unit("multi-user.target")
|
machine.wait_for_unit("multi-user.target")
|
||||||
machine.wait_for_open_port(80)
|
machine.wait_for_open_port(80)
|
||||||
response = machine.succeed("curl -vvv -s http://localhost:80/i/")
|
response = machine.succeed("curl -vvv -s http://localhost:80/i/")
|
||||||
assert '<title> · FreshRSS</title>' in response, "FreshRSS stream page didn't load successfully"
|
assert '<title> · FreshRSS</title>' in response, "FreshRSS stream page didn't load successfully"
|
||||||
'';
|
'';
|
||||||
}
|
}
|
||||||
)
|
|
||||||
|
@ -1,54 +1,52 @@
|
|||||||
import ../make-test-python.nix (
|
{ lib, ... }:
|
||||||
{ lib, pkgs, ... }:
|
{
|
||||||
{
|
name = "freshrss-pgsql";
|
||||||
name = "freshrss-pgsql";
|
meta.maintainers = with lib.maintainers; [
|
||||||
meta.maintainers = with lib.maintainers; [
|
etu
|
||||||
etu
|
stunkymonkey
|
||||||
stunkymonkey
|
];
|
||||||
];
|
|
||||||
|
|
||||||
nodes.machine =
|
nodes.machine =
|
||||||
{ pkgs, ... }:
|
{ pkgs, ... }:
|
||||||
{
|
{
|
||||||
services.freshrss = {
|
services.freshrss = {
|
||||||
enable = true;
|
enable = true;
|
||||||
baseUrl = "http://localhost";
|
baseUrl = "http://localhost";
|
||||||
passwordFile = pkgs.writeText "password" "secret";
|
passwordFile = pkgs.writeText "password" "secret";
|
||||||
dataDir = "/srv/freshrss";
|
dataDir = "/srv/freshrss";
|
||||||
database = {
|
database = {
|
||||||
type = "pgsql";
|
type = "pgsql";
|
||||||
port = 5432;
|
port = 5432;
|
||||||
user = "freshrss";
|
user = "freshrss";
|
||||||
passFile = pkgs.writeText "db-password" "db-secret";
|
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 = ''
|
services.postgresql = {
|
||||||
machine.wait_for_unit("multi-user.target")
|
enable = true;
|
||||||
machine.wait_for_open_port(5432)
|
ensureDatabases = [ "freshrss" ];
|
||||||
machine.wait_for_open_port(80)
|
ensureUsers = [
|
||||||
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"
|
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"
|
||||||
|
'';
|
||||||
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user