@gentrace/core
Version:
Core Gentrace Node.JS library
1 lines • 7.02 kB
Source Map (JSON)
{"version":3,"file":"run-test.mjs","sources":["run-test.js"],"sourcesContent":["var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { constructStepRuns, decrementTestCounter, getContextTestCaseFilter, incrementTestCounter, } from \"./utils\";\nimport { globalGentraceApi } from \"./init\";\nimport { getTestCases, getTestCasesForDataset } from \"./test-case\";\nimport { constructSubmissionPayloadAdvanced } from \"./test-result\";\nimport { getPipelines } from \"./pipeline-methods\";\nfunction runTestCore(pipelineSlug, handler, context, caseFilter, datasetId) {\n return __awaiter(this, void 0, void 0, function* () {\n incrementTestCounter();\n try {\n const allPipelines = yield getPipelines();\n const matchingPipeline = allPipelines.find((pipeline) => pipeline.slug === pipelineSlug);\n if (!matchingPipeline) {\n throw new Error(`Could not find the specified pipeline (${pipelineSlug})`);\n }\n const testCases = datasetId\n ? yield getTestCasesForDataset(datasetId)\n : yield getTestCases(pipelineSlug);\n const testRuns = [];\n for (const testCase of testCases) {\n if (caseFilter && !caseFilter(testCase)) {\n continue;\n }\n const [, pipelineRun] = yield handler(testCase);\n const testRun = constructStepRuns(testCase, pipelineRun);\n testRuns.push(testRun);\n }\n if (!globalGentraceApi) {\n throw new Error(\"Gentrace API key not initialized. Call init() first.\");\n }\n const body = constructSubmissionPayloadAdvanced(matchingPipeline.id, testRuns, context);\n const response = yield globalGentraceApi.v1TestResultPost(body);\n return response.data;\n }\n catch (e) {\n throw e;\n }\n finally {\n decrementTestCounter();\n }\n });\n}\nexport function runTest(pipelineSlug, handler, contextOrCaseFilter, caseFilterOrUndefined) {\n return __awaiter(this, void 0, void 0, function* () {\n const { context, caseFilter } = getContextTestCaseFilter(contextOrCaseFilter, caseFilterOrUndefined);\n return runTestCore(pipelineSlug, handler, context, caseFilter);\n });\n}\n/**\n * Runs a test for a given pipeline slug and dataset ID.\n * @param {string} pipelineSlug: The slug of the pipeline\n * @param {string} datasetId: The ID of the dataset\n * @param {function} handler: The handler function that will be called for each test case\n * @param {ResultContext | function} [contextOrCaseFilter]: An optional context object that will be passed to the Gentrace API\n * @param {function} [caseFilterOrUndefined]: An optional filter function that will be called for each test case\n */\nexport function runTestWithDataset(pipelineSlug, datasetId, handler, contextOrCaseFilter, caseFilterOrUndefined) {\n return __awaiter(this, void 0, void 0, function* () {\n const { context, caseFilter } = getContextTestCaseFilter(contextOrCaseFilter, caseFilterOrUndefined);\n return runTestCore(pipelineSlug, handler, context, caseFilter, datasetId);\n });\n}\n"],"names":["this"],"mappings":"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"}