Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
159 changes: 159 additions & 0 deletions dist/index.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,159 @@
/// <reference types="node" />
import { Cookie } from 'tough-cookie';
import { EventEmitter } from 'node:events';
import { Phase } from 'phasic';
import { Matcher, CheckResult, CheckResults } from './matcher';
import { LoadTestCheck } from './loadtesting';
import { TestData } from './utils/testdata';
import { CapturesStorage } from './utils/runner';
import { CredentialsStorage } from './utils/auth';
import { HTTPStep, HTTPStepRequest, HTTPStepResponse } from './steps/http';
import { gRPCStep, gRPCStepRequest, gRPCStepResponse } from './steps/grpc';
import { SSEStep, SSEStepRequest, SSEStepResponse } from './steps/sse';
import { PluginStep } from './steps/plugin';
import { tRPCStep } from './steps/trpc';
import { GraphQLStep } from './steps/graphql';
export declare type Workflow = {
version: string;
name: string;
env?: WorkflowEnv;
/**
* @deprecated Import files using `$refs` instead.
*/
include?: string[];
before?: Test;
tests: Tests;
after?: Test;
components?: WorkflowComponents;
config?: WorkflowConfig;
};
export declare type WorkflowEnv = {
[key: string]: string;
};
export declare type WorkflowComponents = {
schemas?: {
[key: string]: any;
};
credentials?: CredentialsStorage;
};
export declare type WorkflowConfig = {
loadTest?: {
phases: Phase[];
check?: LoadTestCheck;
};
continueOnFail?: boolean;
http?: {
baseURL?: string;
rejectUnauthorized?: boolean;
http2?: boolean;
};
grpc?: {
proto: string | string[];
};
concurrency?: number;
};
export declare type WorkflowOptions = {
path?: string;
secrets?: WorkflowOptionsSecrets;
ee?: EventEmitter;
env?: WorkflowEnv;
concurrency?: number;
};
declare type WorkflowOptionsSecrets = {
[key: string]: string;
};
export declare type WorkflowResult = {
workflow: Workflow;
result: {
tests: TestResult[];
passed: boolean;
timestamp: Date;
duration: number;
bytesSent: number;
bytesReceived: number;
co2: number;
};
path?: string;
};
export declare type Test = {
name?: string;
env?: object;
steps: Step[];
testdata?: TestData;
};
export declare type Tests = {
[key: string]: Test;
};
export declare type Step = {
id?: string;
name?: string;
retries?: {
count: number;
interval?: string | number;
};
if?: string;
http?: HTTPStep;
trpc?: tRPCStep;
graphql?: GraphQLStep;
grpc?: gRPCStep;
sse?: SSEStep;
delay?: string;
plugin?: PluginStep;
};
export declare type StepCheckValue = {
[key: string]: string;
};
export declare type StepCheckJSONPath = {
[key: string]: any;
};
export declare type StepCheckPerformance = {
[key: string]: number;
};
export declare type StepCheckCaptures = {
[key: string]: any;
};
export declare type StepCheckMatcher = {
[key: string]: Matcher[];
};
export declare type TestResult = {
id: string;
name?: string;
steps: StepResult[];
passed: boolean;
timestamp: Date;
duration: number;
co2: number;
bytesSent: number;
bytesReceived: number;
};
export declare type StepResult = {
id?: string;
testId: string;
name?: string;
retries?: number;
captures?: CapturesStorage;
cookies?: Cookie.Serialized[];
errored: boolean;
errorMessage?: string;
passed: boolean;
skipped: boolean;
timestamp: Date;
responseTime: number;
duration: number;
co2: number;
bytesSent: number;
bytesReceived: number;
} & StepRunResult;
export declare type StepRunResult = {
type?: string;
checks?: StepCheckResult;
request?: HTTPStepRequest | gRPCStepRequest | SSEStepRequest | any;
response?: HTTPStepResponse | gRPCStepResponse | SSEStepResponse | any;
};
export declare type StepCheckResult = {
[key: string]: CheckResult | CheckResults;
};
export declare function runFromYAML(yamlString: string, options?: WorkflowOptions): Promise<WorkflowResult>;
export declare function runFromFile(path: string, options?: WorkflowOptions): Promise<WorkflowResult>;
export declare function run(workflow: Workflow, options?: WorkflowOptions): Promise<WorkflowResult>;
export {};
Loading