@web5/agent
Version:
69 lines • 2.74 kB
TypeScript
/// <reference types="node" resolution-mode="require"/>
import type { KeyValueStore } from '@web5/common';
import type { AbstractLevel } from 'abstract-level';
import { DataStoreLevel, Dwn, EventLogLevel, MessageStoreLevel, ResumableTaskStoreLevel } from '@tbd54566975/dwn-sdk-js';
import { DidResolverCache } from '@web5/dids';
import type { Web5PlatformAgent } from './types/agent.js';
import { BearerIdentity } from './bearer-identity.js';
import { LocalKeyManager } from './local-key-manager.js';
import { DwnDidStore } from './store-did.js';
import { DwnKeyStore } from './store-key.js';
import { DwnIdentityStore } from './store-identity.js';
type PlatformAgentTestHarnessParams = {
agent: Web5PlatformAgent<LocalKeyManager>;
agentStores: 'dwn' | 'memory';
didResolverCache: DidResolverCache;
dwn: Dwn;
dwnDataStore: DataStoreLevel;
dwnEventLog: EventLogLevel;
dwnMessageStore: MessageStoreLevel;
dwnResumableTaskStore: ResumableTaskStoreLevel;
syncStore: AbstractLevel<string | Buffer | Uint8Array>;
vaultStore: KeyValueStore<string, string>;
dwnStores: {
keyStore: DwnKeyStore;
identityStore: DwnIdentityStore;
didStore: DwnDidStore;
clear: () => void;
};
};
export declare class PlatformAgentTestHarness {
agent: Web5PlatformAgent<LocalKeyManager>;
agentStores: 'dwn' | 'memory';
didResolverCache: DidResolverCache;
dwn: Dwn;
dwnDataStore: DataStoreLevel;
dwnEventLog: EventLogLevel;
dwnMessageStore: MessageStoreLevel;
dwnResumableTaskStore: ResumableTaskStoreLevel;
syncStore: AbstractLevel<string | Buffer | Uint8Array>;
vaultStore: KeyValueStore<string, string>;
/**
* Custom DWN Stores for `keyStore`, `identityStore` and `didStore`.
* This allows us to clear the store cache between tests
*/
dwnStores: {
keyStore: DwnKeyStore;
identityStore: DwnIdentityStore;
didStore: DwnDidStore;
/** clears the protocol initialization caches */
clear: () => void;
};
constructor(params: PlatformAgentTestHarnessParams);
clearStorage(): Promise<void>;
closeStorage(): Promise<void>;
createAgentDid(): Promise<void>;
createIdentity({ name, testDwnUrls }: {
name: string;
testDwnUrls: string[];
}): Promise<BearerIdentity>;
static setup({ agentClass, agentStores, testDataLocation }: {
agentClass: new (params: any) => Web5PlatformAgent<LocalKeyManager>;
agentStores?: 'dwn' | 'memory';
testDataLocation?: string;
}): Promise<PlatformAgentTestHarness>;
private static useDiskStores;
private static useMemoryStores;
}
export {};
//# sourceMappingURL=test-harness.d.ts.map