@apistudio/apim-cli
Version:
CLI for API Management Products
141 lines • 4.28 kB
TypeScript
/**
* Copyright IBM Corp. 2024, 2025
*/
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 { Ref } from '@apic/api-model/common/Ref.js';
export interface AssertionSummary {
request: string;
assertions: RunExecutionAssertion[];
}
export interface Header {
key: string;
value: string;
description?: string;
}
export interface Request {
endpoint?: string;
method: string;
headers?: Header[];
}
export interface Response {
data?: string;
responseTime?: number;
code?: number;
status: number;
statusText: string;
responseSize?: number;
headers: Header[];
stream?: Buffer | Uint8Array | undefined;
}
export interface TestExecutionResult {
id?: string;
itemName: string;
response: Response;
request: Request;
assertions: RunExecutionAssertion[];
startedAt: number;
completedAt: number;
}
export interface RunExecutionAssertion {
assertion: string;
error?: RunExecutionAssertionError;
skipped: boolean;
action: string;
actualValue?: any;
expectedValue?: any;
key: string;
metadata?: {
name?: string;
version?: string;
namespace?: string;
};
}
export interface RunExecutionAssertionError {
name: string;
index?: number;
test: string;
message: string;
stack: string;
}
export interface ResponseCode {
code: number;
name: string;
time: number;
size: number;
}
type SingleTestResult = {
[assertionName: string]: {
status: boolean;
error?: RunExecutionAssertionError;
actualValue?: any;
expectedValue?: any;
};
};
export interface ExecutionFilteredResult {
id?: string;
name: string;
url?: string;
method: string;
header?: Header[];
time: number;
responseCode: ResponseCode;
response: string;
responseHeaders: Header[];
allTests: SingleTestResult[];
}
export interface RunFilteredSummary {
id: string;
name: string;
timestamp?: number;
totalPass: number;
status: string;
startedAt?: number;
totalFail?: number;
totalTime?: number;
results: ExecutionFilteredResult[];
envMetadata?: {
name: string;
version: string;
namespace: 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 interface TestManagerInterface {
processFile(buffer: Buffer): Promise<unknown[] | null>;
processTrace(reqbody: any, reqHeader: any): Promise<any | null>;
getCaptureId(reqbody: any, reqHeader: any): Promise<any | null>;
}
export {};
//# sourceMappingURL=interface.d.ts.map