import { beforeEach, describe, expect, test } from "vitest";
import { DatabaseCircuitBreakerAdapter } from "@daiso-tech/core/circuit-breaker/database-circuit-breaker-adapter";
import { CountBreaker } from "@daiso-tech/core/circuit-breaker/policies";
import { countBreakerTestSuite } from "@daiso-tech/core/circuit-breaker/test-utilities";
import { constantBackoff } from "@daiso-tech/core/backoff-policies";
import { MemoryCircuitBreakerStorageAdapter } from "@daiso-tech/core/circuit-breaker/memory-circuit-breaker-storage-adapter";
describe("count-breaker class: DatabaseCircuitBreakerAdapter", () => {
countBreakerTestSuite({
createAdapter: () => {
const adapter = new DatabaseCircuitBreakerAdapter({
adapter: new MemoryCircuitBreakerStorageAdapter(),
backoffPolicy: constantBackoff(
countBreakerTestSuite.backoffPolicySettings,
),
circuitBreakerPolicy: new CountBreaker(
countBreakerTestSuite.circuitBreakerPolicySettings,
),
});
return adapter;
},
beforeEach,
describe,
expect,
test,
});
});
IMPORT_PATH:
"@daiso-tech/core/circuit-breaker/test-utilities"