UNPKG

@apistudio/apim-cli

Version:

CLI for API Management Products

155 lines 5.48 kB
/** * Copyright Super iPaaS Integration LLC, an IBM Company 2024 */ import { FormParamDefinition, RequestBodyDefinition } from 'postman-collection'; import { Test, Test_Headers, Test_Auth, Test_Raw, Test_UrlEncodedFormData, Test_Parameters, Test_FormData, Test_Payload, Test_Settings, Test_Assertions, Test_Request, Test_Environment, Test_Spec } from '@apic/api-model/test/Test.js'; import { Environment as EnvironmentKind, Environment_Spec } from '@apic/api-model/test/Environment.js'; import { Assertion } from '@apic/api-model/test/Assertion.js'; import { Assert } from '@apic/api-model/test/common/Assert.js'; import { Variable } from '@apic/api-model/test/common/Variable.js'; import { Metadata } from '@apic/api-model/common/Metadata.js'; import { NewmanRunExecution } from 'newman'; import { GenericAssetAdaptor } from '@apic/api-model/adaptor/GenericAssetAdaptor.js'; import { AssertType } from '../service/assertMapper.js'; import { Ref } from '@apic/api-model/common/Ref.js'; export interface ExtendedNewmanRunExecution extends NewmanRunExecution { id?: string; } export interface ExtendedRequestBodyDefinition extends RequestBodyDefinition { options?: { raw: { language: string; }; }; } export interface ExtendedFormParamDefinition extends FormParamDefinition { type?: string; src?: string; } export type Environment = Required<EnvironmentKind>; export type TestSpec = Required<Test>; export type RequestHeader = Required<Test_Headers>; export type RequestAuth = Partial<Test_Auth>; export type RawData = Partial<Test_Raw>; export type UrlEncodedFormDataItem = Required<Test_UrlEncodedFormData>; export type RequestParameter = Required<Test_Parameters>; export type FormDataItem = Required<Test_FormData>; export type RequestBodyObject = Partial<Test_Payload>; export type RequestSettting = Partial<Test_Settings>; export type ExpType = Required<Assert>; export type Assertions = Partial<Test_Assertions>; export type TestAssertion = Required<Assertion>; export type RequestItem = Required<Test_Request>; export type TestEnvironment = Partial<Test_Environment>; export type EnvironmentVariable = Required<Variable>; export type ApiReference = Required<Ref>; export type Spec = Required<Test_Spec>; export type Env_Spec = Required<Environment_Spec>; export type TestMetadata = Required<Metadata>; export interface SpecObject { [key: string]: SpecObject | string; } export interface ErrorResponse { code: string; field: string; description: string; } export type YamlContent = Required<GenericAssetAdaptor>; export interface TestManagerInterface { processFile(buffer: Buffer): Promise<unknown[] | null>; } export interface IConverter { toString(input: number): string; } export interface AssetManagerInterface { createAssetReferenceMap(buffer: Buffer): Promise<Map<string, boolean>>; updateMapWithMetadata(yamlContent: YamlContent, refMap: Map<string, boolean>): void; updateMapWithGatewayEndpoints(data: Buffer, refMap: Map<string, boolean>): Promise<void>; } export interface YamlValidatorInterface { validateYamlFiles(buffer: Buffer): Promise<boolean>; } export interface RefParserInterface { parseRef(ref: string): { namespace?: string; name: string; version: string; }; } export interface IGatewayAssetHandler { getApiEndpoints(key: string): Promise<string[]>; } export interface IZipManager { getEntryByName(entryName: string): Promise<string | undefined>; } export interface ICollectionCreator { createCollection(parsedData: TestSpec, fileBuffer: Buffer): Promise<PostmanCollection>; } export interface PostmanCollection { info: { name: string; version: string; schema: string; }; item: Array<{ name: string; event: Array<{ listen: string; script: { exec: string[]; }; }>; protocolProfileBehavior?: { disableUrlEncoding?: boolean; strictSSL?: boolean; }; request: { url: { raw: string; protocol: string; host: string[]; path: string[]; port?: string; query?: Array<{ key: string; value: string; }>; }; method: string; header: Array<{ key: string; value: string; }>; body?: { mode: string; raw?: string; formdata?: Array<{ key: string; value?: string; src?: string; type: string; }>; urlencoded?: Array<{ key: string; value: string; }>; }; auth?: { type: string; basic?: Array<{ key: string; value: string; }>; bearer?: Array<{ key: string; value: string; }>; }; }; }>; } export interface IAssertMapper { converttoAssertionStructure(yamlObject: AssertType): string; getAssertionModel(name: string, key: string, value: any, action: string): string; } //# sourceMappingURL=interface.d.ts.map