tt-rss : Cleanup, better tests, mark plugins as broken (#367736)

This commit is contained in:
Wolfgang Walther 2025-04-27 19:10:29 +00:00 committed by GitHub
commit cf794a4cb2
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 40 additions and 3 deletions

View file

@ -10,13 +10,38 @@ import ../make-test-python.nix (
enable = true;
virtualHost = "localhost";
selfUrlPath = "http://localhost/";
pluginPackages = with pkgs; [
tt-rss-plugin-auth-ldap
tt-rss-plugin-feediron
];
plugins = [
"auth_internal"
"feediron"
"note"
];
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_internal", "auth_ldap", "feediron", "note"];
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}"
'';
}
)