mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-06-10 19:55:41 +03:00
tt-rss: More comprehensive test
This commit is contained in:
parent
2cc6ef5b2f
commit
e09c54ce6b
3 changed files with 30 additions and 1 deletions
|
@ -10,13 +10,32 @@ import ../make-test-python.nix (
|
|||
enable = true;
|
||||
virtualHost = "localhost";
|
||||
selfUrlPath = "http://localhost/";
|
||||
pluginPackages = with pkgs; [
|
||||
tt-rss-plugin-auth-ldap
|
||||
];
|
||||
singleUserMode = true;
|
||||
themePackages = with pkgs; [ tt-rss-theme-feedly ];
|
||||
};
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
import json
|
||||
import re
|
||||
machine.wait_for_unit("tt-rss.service")
|
||||
machine.succeed("curl -sSfL http://localhost/ | grep 'Tiny Tiny RSS'")
|
||||
|
||||
matches = re.search('__csrf_token = "([^"]*)"', machine.succeed("curl -sSfL --cookie cjar --cookie-jar cjar -sSfL http://localhost/"))
|
||||
if matches is None:
|
||||
assert False, "CSRF token not found"
|
||||
csrf_token = matches.group(1)
|
||||
|
||||
# Ensure themes are loaded. No API found for these, so it's a crude check.
|
||||
preference_page = machine.succeed("curl -sSfL --cookie cjar --cookie-jar cjar http://localhost/backend.php?op=Pref_Prefs")
|
||||
assert "feedly" in preference_page
|
||||
|
||||
plugins = json.loads(machine.succeed(f"curl -sSfL --cookie cjar --cookie-jar cjar 'http://localhost/backend.php' -X POST --data-raw 'op=Pref_Prefs&method=getPluginsList&csrf_token={csrf_token}'"))["plugins"]
|
||||
expected_plugins = ["auth_ldap"];
|
||||
found_plugins = [p["name"] for p in plugins if p["name"] in expected_plugins]
|
||||
assert len(found_plugins) == len(expected_plugins), f"Expected plugins {expected_plugins}, found {found_plugins}"
|
||||
'';
|
||||
}
|
||||
)
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
{
|
||||
lib,
|
||||
nixosTests,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
}:
|
||||
|
@ -19,6 +20,10 @@ stdenv.mkDerivation {
|
|||
install -D plugins/auth_ldap/init.php $out/auth_ldap/init.php
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
tests = { inherit (nixosTests) tt-rss; };
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "Plugin for TT-RSS to authenticate users via ldap";
|
||||
license = licenses.asl20;
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
{
|
||||
lib,
|
||||
nixosTests,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
}:
|
||||
|
@ -23,6 +24,10 @@ stdenv.mkDerivation rec {
|
|||
cp -ra feedly *.css $out
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
tests = { inherit (nixosTests) tt-rss; };
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "Feedly theme for Tiny Tiny RSS";
|
||||
license = licenses.mit;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue