UNPKG

@apistudio/apim-cli

Version:

CLI for API Management Products

31 lines (30 loc) 1.21 kB
import { TestRunner } from '../engine/execution/test-runner.js'; import { ZipTestModelTransformer } from '../transformers/zip-models.transformer.js'; import { fetchTraceAndCatalogData, fetchCaptureId } from '../helpers/trace-helper.js'; export class TestManager { async processFile(buffer) { const zipModel = new ZipTestModelTransformer(); const model = await zipModel.transform(buffer); const tests = model.getAllTests(); const runs = tests.map(async (test) => new TestRunner(test).run()); const promisedSummaries = await Promise.allSettled(runs); const summaries = []; for (const summary of promisedSummaries) { if (summary.status === 'fulfilled') { summaries.push(summary.value); } } return summaries; } /** * Process trace data from a request * @param traceReq - The request containing trace data * @returns Processed trace data */ async processTrace(reqbody, reqHeader) { return await fetchTraceAndCatalogData(reqbody, reqHeader); } async getCaptureId(reqbody, reqHeader) { return await fetchCaptureId(reqbody, reqHeader); } }