@apica-io/asm-pm-runner
Version:
Run a postman collection in Apica ASM.
67 lines (66 loc) • 1.85 kB
TypeScript
export interface ITimingPhases {
secure_handshake_ms: number;
prepare: number;
socket_wait_ms: number;
dns_time_ms: number;
tcp_connect_ms: number;
time_to_first_byte_ms: number;
download_time_ms: number;
process_time_ms: number;
total_time_ms: number;
}
export type AssertionStatus = 'info' | 'warning' | 'failure';
export interface IAssertion {
source: string;
description: string;
status: AssertionStatus;
value: any;
expression: string;
}
export type VariableUsage = 'returnValue' | 'inResponse' | 'info' | 'input' | 'urlLink';
export interface IVariable {
key: string;
value: any;
type: string;
usage: VariableUsage;
}
export interface IBaseResult {
name: string;
duration_ms: number;
success: boolean;
start_timestamp_ms: number;
end_timestamp_ms: number;
content_length: number;
metrics: ITimingPhases;
}
export interface IRequestResult extends IBaseResult {
url: string;
method: string;
request_headers: object;
status: number;
status_text: string;
headers: object;
error?: Error;
}
export interface IStepResult extends IBaseResult {
ignoreDuration: boolean;
requests: IRequestResult[];
assertions?: IAssertion[];
}
export interface ITestResults extends IBaseResult {
description: string;
base_url: string;
value: number;
type: string;
result_version: string;
producer: string;
message: string;
returncode: number;
unit: string;
errors?: Error[];
steps: IStepResult[];
variables?: IVariable[];
}
export declare function initBaseResult(result: IBaseResult, name: string): IBaseResult;
export declare function incrementTimingPhases(base: ITimingPhases, add: ITimingPhases): void;
export declare function roundTimingPhases(timings: ITimingPhases): void;