test: failing tests for ConfigManager tenant cleanup
This commit is contained in:
@@ -1,18 +1,17 @@
|
||||
// @ts-nocheck
|
||||
import { describe, expect, it, mock } from "bun:test";
|
||||
import { ConfigManager } from "../../src/core/ConfigManager";
|
||||
|
||||
describe("ConfigManager", () => {
|
||||
it("should save and retrieve provider configuration", async () => {
|
||||
const storage = {};
|
||||
const storage: Record<string, string> = {};
|
||||
const redis = {
|
||||
set: mock((key, val) => {
|
||||
set: mock((key: string, val: string) => {
|
||||
storage[key] = val;
|
||||
return Promise.resolve();
|
||||
}),
|
||||
get: mock((key) => Promise.resolve(storage[key] || null)),
|
||||
get: mock((key: string) => Promise.resolve(storage[key] || null)),
|
||||
};
|
||||
const manager = new ConfigManager(redis);
|
||||
const manager = new ConfigManager(redis as any);
|
||||
const traktConfig = {
|
||||
clientId: "trakt-client-id",
|
||||
clientSecret: "trakt-client-secret",
|
||||
@@ -24,14 +23,14 @@ describe("ConfigManager", () => {
|
||||
await manager.setProviderConfig("trakt", traktConfig);
|
||||
const retrieved = await manager.getProviderConfig("trakt");
|
||||
|
||||
expect(retrieved).toEqual(traktConfig);
|
||||
expect(retrieved).toEqual(traktConfig as any);
|
||||
expect(redis.set).toHaveBeenCalled();
|
||||
});
|
||||
|
||||
it("should return all providers", async () => {
|
||||
const redis = {
|
||||
keys: mock(() => Promise.resolve(["config:trakt", "config:github"])),
|
||||
get: mock((key) =>
|
||||
get: mock((key: string) =>
|
||||
Promise.resolve(
|
||||
JSON.stringify({
|
||||
clientId: `${key}-id`,
|
||||
@@ -43,7 +42,7 @@ describe("ConfigManager", () => {
|
||||
),
|
||||
),
|
||||
};
|
||||
const manager = new ConfigManager(redis);
|
||||
const manager = new ConfigManager(redis as any);
|
||||
|
||||
const providers = await manager.getAllProviders();
|
||||
|
||||
@@ -53,10 +52,32 @@ describe("ConfigManager", () => {
|
||||
|
||||
it("should return null for non-existent provider", async () => {
|
||||
const redis = { get: mock(() => Promise.resolve(null)) };
|
||||
const manager = new ConfigManager(redis);
|
||||
const manager = new ConfigManager(redis as any);
|
||||
|
||||
const config = await manager.getProviderConfig("missing-provider");
|
||||
|
||||
expect(config).toBeNull();
|
||||
});
|
||||
|
||||
it("should delete provider configuration and all tenant tokens", async () => {
|
||||
const redis = {
|
||||
del: mock(() => Promise.resolve()),
|
||||
keys: mock(() =>
|
||||
Promise.resolve([
|
||||
"tenant:1:provider:trakt:access_token",
|
||||
"tenant:2:provider:trakt:access_token",
|
||||
]),
|
||||
),
|
||||
};
|
||||
const manager = new ConfigManager(redis as any);
|
||||
|
||||
await manager.deleteProviderConfig("trakt");
|
||||
|
||||
expect(redis.del).toHaveBeenCalledWith("config:trakt");
|
||||
expect(redis.keys).toHaveBeenCalledWith("tenant:*:provider:trakt:*");
|
||||
expect(redis.del).toHaveBeenCalledWith(
|
||||
"tenant:1:provider:trakt:access_token",
|
||||
"tenant:2:provider:trakt:access_token",
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user