lib/liveValidation/callDiagram.ts (1 lines of code) (raw):
// /* eslint-disable no-lone-blocks */
// import { SwaggerLoader } from "../swagger/swaggerLoader";
// import { JsonLoader } from "../swagger/jsonLoader";
// import { SuppressionLoader } from "../swagger/suppressionLoader";
// import { SwaggerSpec } from "../swagger/swaggerTypes";
// import { applySpecTransformers } from "../transform/transformer";
// import { pathRegexTransformer } from "../transform/pathRegexTransformer";
// import { referenceFieldsTransformer } from "../transform/referenceFieldsTransformer";
// import { resolveNestedDefinitionTransformer } from "../transform/resolveNestedDefinitionTransformer";
// import { xmsPathsTransformer } from "../transform/xmsPathsTransformer";
// import { discriminatorTransformer } from "../transform/discriminatorTransformer";
// import { allOfTransformer } from "../transform/allOfTransformer";
// import { noAdditionalPropertiesTransformer } from "../transform/noAdditionalPropertiesTransformer";
// import { nullableTransformer } from "../transform/nullableTransformer";
// import { pureObjectTransformer } from "../transform/pureObjectTransformer";
// import {
// AjvSchemaValidator,
// ajvErrorToSchemaValidateIssue,
// } from "../swaggerValidator/ajvSchemaValidator";
// import { OperationSearcher } from "./operationSearcher";
// import { LiveValidatorLoader } from "./liveValidatorLoader";
// import { LiveValidator, RequestResponsePair } from "./liveValidator";
// import {
// LiveRequest,
// validateSwaggerLiveRequest,
// schemaValidateIssueToLiveValidationIssue,
// LiveResponse,
// validateSwaggerLiveResponse,
// } from "./operationValidator";
// const opts = {};
// const ctx = {} as any;
// export const callDiagram = async () => {
// const liveValidator = new LiveValidator();
// const operationSearcher = new OperationSearcher(liveValidator.logging);
// const jsonLoader = JsonLoader.create(opts);
// const swaggerLoader = SwaggerLoader.create(opts);
// const suppressionLoader = SuppressionLoader.create(opts);
// const liveValidatorLoader = LiveValidatorLoader.create(opts);
// const schemaValidator = new AjvSchemaValidator(jsonLoader);
// // Initialize
// await liveValidator.initialize();
// {
// const specPaths = await liveValidator.getSwaggerPaths();
// const allSpecs = [];
// for (const specPath of specPaths) {
// const spec = await liveValidator.getSwaggerInitializer(liveValidatorLoader, specPath);
// {
// const spec = await liveValidatorLoader.load(specPath);
// {
// const spec = await swaggerLoader.load(specPath);
// {
// const spec = ((await jsonLoader.load(specPath)) as unknown) as SwaggerSpec;
// await suppressionLoader.load(spec);
// }
// applySpecTransformers(spec, ctx);
// {
// const transformers = [
// xmsPathsTransformer,
// resolveNestedDefinitionTransformer,
// referenceFieldsTransformer,
// pathRegexTransformer,
// ];
// for (const transformer of transformers) {
// transformer.transform(spec, ctx);
// }
// }
// }
// operationSearcher.addSpecToCache(spec);
// }
// allSpecs.push(spec!);
// }
// liveValidatorLoader.transformLoadedSpecs();
// {
// const transformers = [
// discriminatorTransformer,
// allOfTransformer,
// noAdditionalPropertiesTransformer,
// nullableTransformer,
// pureObjectTransformer,
// ];
// for (const transformer of transformers) {
// transformer.transform(ctx);
// }
// }
// // eslint-disable-next-line @typescript-eslint/no-floating-promises
// liveValidator.loadAllSpecValidatorInBackground(allSpecs);
// }
// // Validate request response
// await liveValidator.validateLiveRequestResponse({} as RequestResponsePair);
// {
// await liveValidator.validateLiveRequest({} as LiveRequest);
// {
// const { info } = liveValidator.getOperationInfo({} as LiveRequest, "");
// {
// const operation = operationSearcher.search();
// }
// const requestIssues = await validateSwaggerLiveRequest({} as LiveRequest);
// {
// const validate = await liveValidatorLoader.getRequestValidator(
// info.operationMatch!.operation
// );
// {
// const schema = {
// properties: {
// headers: {},
// query: {},
// body: {},
// },
// };
// const ajvValidator = schemaValidator.compile(schema);
// }
// const validateCtx = { isResponse: false };
// const jsonSchemaErrors = validate(validateCtx, {});
// {
// const ajvErrors = ajvValidator(validateCtx, {});
// jsonSchemaErrors = ajvErrors.map(ajvErrorToSchemaValidateIssue);
// }
// const liveValidationIssues = schemaValidateIssueToLiveValidationIssue(jsonSchemaErrors);
// }
// }
// await liveValidator.validateLiveResponse({} as LiveResponse, {} as any);
// {
// const { info } = liveValidator.getOperationInfo({} as LiveRequest, "");
// const responseIssues = await validateSwaggerLiveResponse({} as LiveResponse);
// {
// const validate = await liveValidatorLoader.getResponseValidator(
// info.operationMatch!.operation.responses[200]
// );
// {
// const schema = {
// properties: {
// headers: {},
// body: {},
// },
// };
// const ajvValidator = schemaValidator.compile(schema);
// }
// const validateCtx = { isResponse: true };
// const jsonSchemaErrors = validate(validateCtx, {});
// {
// const ajvErrors = ajvValidator(validateCtx);
// jsonSchemaErrors = ajvErrors.map(ajvErrorToSchemaValidateIssue);
// }
// const liveValidationIssues = schemaValidateIssueToLiveValidationIssue(jsonSchemaErrors);
// }
// }
// }
// };