feat(realdebrid): rotate accounts during unrestrict

This commit is contained in:
Sucukdeluxe
2026-08-15 21:16:18 +02:00
parent 53cdac1ded
commit 7e65195057
13 changed files with 1159 additions and 139 deletions
+24 -3
View File
@@ -2,7 +2,8 @@ import fs from "node:fs";
import os from "node:os";
import path from "node:path";
import { afterEach, describe, expect, it } from "vitest";
import { defaultSettings } from "../src/main/constants";
import { defaultSettings } from "../src/main/constants";
import { serializeRealDebridApiAccounts } from "../src/shared/real-debrid-accounts";
import { createStoragePaths } from "../src/main/storage";
import { runStartupHealthCheck } from "../src/main/startup-health-check";
@@ -66,7 +67,7 @@ describe("runStartupHealthCheck", () => {
expect(report.warnCount).toBeGreaterThanOrEqual(1);
});
it("reports configured providers when at least one credential is set", () => {
it("reports configured providers when at least one credential is set", () => {
const { outputDir, paths } = makeTempBase();
fs.mkdirSync(paths.baseDir, { recursive: true });
@@ -82,7 +83,27 @@ describe("runStartupHealthCheck", () => {
expect(providersFinding?.message).toContain("Real-Debrid");
expect(providersFinding?.message).toContain("Debrid-Link");
expect(providersFinding?.message).toContain("2 Keys");
});
});
it("recognizes a Real-Debrid account pool without legacy singleton fields", () => {
const { outputDir, paths } = makeTempBase();
fs.mkdirSync(paths.baseDir, { recursive: true });
const settings = {
...defaultSettings(),
token: "",
realDebridUseWebLogin: false,
outputDir,
realDebridApiTokens: serializeRealDebridApiAccounts([
{ id: "rda_one", token: "token-one" },
{ id: "rda_two", token: "token-two" }
])
};
const report = runStartupHealthCheck(settings, paths);
const providersFinding = report.findings.find((finding) => finding.code === "providers_configured");
expect(providersFinding?.message).toContain("Real-Debrid (2 Accounts)");
});
it("flags large state files", () => {
const { outputDir, paths } = makeTempBase();