mirror of
https://github.com/CHN-beta/nixpkgs.git
synced 2026-01-11 18:32:23 +08:00
nixosTests.freshrss: handleTest -> runTest
(cherry picked from commit da6ecbe539)
This commit is contained in:
committed by
Michael Daniels
parent
93bb97a67a
commit
1c6aede85d
@@ -524,7 +524,7 @@ in
|
||||
freenet = runTest ./freenet.nix;
|
||||
freeswitch = handleTest ./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 = handleTest ./frp.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 '<title>Login · FreshRSS</title>' 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 '<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; };
|
||||
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;
|
||||
}
|
||||
|
||||
@@ -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 '<span class="ext_name disabled">YouTube Video Feed</span>' 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 '<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, 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."
|
||||
'';
|
||||
}
|
||||
|
||||
@@ -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 '<title>Login · FreshRSS</title>' 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 '<title>Login · FreshRSS</title>' in response, "Login page didn't load successfully"
|
||||
'';
|
||||
}
|
||||
|
||||
@@ -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 '<title> · FreshRSS</title>' 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 '<title> · FreshRSS</title>' in response, "FreshRSS stream page didn't load successfully"
|
||||
'';
|
||||
}
|
||||
|
||||
@@ -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.service" ];
|
||||
after = [ "postgresql.service" ];
|
||||
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 '<title>Login · FreshRSS</title>' 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.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://localhost:80/i/")
|
||||
assert '<title>Login · FreshRSS</title>' in response, "Login page didn't load successfully"
|
||||
'';
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user