"use strict";
/*!
 * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
 * Licensed under the MIT License.
 */
Object.defineProperty(exports, "__esModule", { value: true });
const stochastic_test_utils_1 = require("@fluid-private/stochastic-test-utils");
const fuzzUtils_js_1 = require("./fuzzUtils.js");
const summarizerFuzzSuite_js_1 = require("./summarizerFuzzSuite.js");
/**
 * Summarizer fuzz test should test that we eventually recover and send a summary successfully.
 * For DDS, we test for eventual consistency. For summarizer, we could test for eventual recovery.
 * After performing operations (i.e. disconnects, summaryNacks, ops from other clients, etc.) we should:
 * - start a fresh summarizer
 * - attempt a summary
 * If the system doesn't recover properly, then we have a bug to fix.
 */
describe("Summarizer fuzz testing", () => {
    const model = {
        ...fuzzUtils_js_1.baseModel,
        workloadName: "summarizer",
        generatorFactory: () => (0, stochastic_test_utils_1.takeAsync)(1000, (0, fuzzUtils_js_1.summarizerOperationGenerator)({
            weights: {
                reconnect: 1,
                newSummarizer: 1,
                summaryNack: 1,
                submitOp: 1,
            },
        })),
    };
    (0, summarizerFuzzSuite_js_1.createSummarizerFuzzSuite)(model, {
        defaultTestCount: 25,
    });
});
//# sourceMappingURL=summarizer.fuzz.spec.js.map