var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
    return new (P || (P = Promise))(function (resolve, reject) {
        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
    });
};
import { testDwnClass } from './dwn.spec.js';
import { testEndToEndScenarios } from './end-to-end-tests.spec.js';
import { testEventsGetHandler } from './handlers/events-get.spec.js';
import { testMessagesGetHandler } from './handlers/messages-get.spec.js';
import { testMessageStore } from './store/message-store.spec.js';
import { testPermissionsGrantHandler } from './handlers/permissions-grant.spec.js';
import { testPermissionsRequestHandler } from './handlers/permissions-request.spec.js';
import { testProtocolsConfigureHandler } from './handlers/protocols-configure.spec.js';
import { testProtocolsQueryHandler } from './handlers/protocols-query.spec.js';
import { testRecordsDeleteHandler } from './handlers/records-delete.spec.js';
import { testRecordsQueryHandler } from './handlers/records-query.spec.js';
import { testRecordsReadHandler } from './handlers/records-read.spec.js';
import { testRecordsWriteHandler } from './handlers/records-write.spec.js';
import { TestStores } from './test-stores.js';
/**
 * Class for running DWN tests from an external repository that depends on this SDK.
 */
export class TestSuite {
    /**
     * Runs tests that uses the store implementations passed.
     * Uses default implementation if not given.
     */
    static runStoreDependentTests(overrides) {
        before(() => __awaiter(this, void 0, void 0, function* () {
            TestStores.override(overrides);
        }));
        testDwnClass();
        testMessageStore();
        testEventsGetHandler();
        testMessagesGetHandler();
        testPermissionsGrantHandler();
        testPermissionsRequestHandler();
        testProtocolsConfigureHandler();
        testProtocolsQueryHandler();
        testRecordsDeleteHandler();
        testRecordsQueryHandler();
        testRecordsReadHandler();
        testRecordsWriteHandler();
        testEndToEndScenarios();
    }
}
//# sourceMappingURL=test-suite.js.map