Unverified Commit cf794a4c authored by Wolfgang Walther's avatar Wolfgang Walther Committed by GitHub
Browse files

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

parents b6ca7ba3 d3ac26dc
Loading
Loading
Loading
Loading
+26 −1
Original line number Diff line number Diff line
@@ -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}"
    '';
  }
)
+5 −0
Original line number Diff line number Diff line
{
  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 −0
Original line number Diff line number Diff line
@@ -23,6 +23,7 @@ stdenv.mkDerivation {
  '';

  meta = with lib; {
    broken = true; # Plugin code does not conform to plugin API changes. See https://github.com/wltb/ff_instagram/issues/13
    description = "Plugin for Tiny Tiny RSS that allows to fetch posts from Instagram user sites";
    longDescription = ''
      Plugin for Tiny Tiny RSS that allows to fetch posts from Instagram user sites.
+5 −0
Original line number Diff line number Diff line
{
  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;
+3 −2
Original line number Diff line number Diff line
# nixpkgs-update: no auto update
{
  lib,
  stdenv,
@@ -30,13 +31,13 @@ stdenv.mkDerivation rec {
  '';

  passthru = {
    inherit (nixosTests) tt-rss;
    tests = { inherit (nixosTests) tt-rss; };
    updateScript = unstableGitUpdater { hardcodeZeroVersion = true; };
  };

  meta = with lib; {
    description = "Web-based news feed (RSS/Atom) aggregator";
    license = licenses.gpl2Plus;
    license = licenses.gpl3Plus;
    homepage = "https://tt-rss.org";
    maintainers = with maintainers; [
      gileri