Files
hoppscotch/packages/hoppscotch-cli/src/interfaces/response.ts

70 lines
2.1 KiB
TypeScript

import { TestResponse } from "@hoppscotch/js-sandbox";
import { Method } from "axios";
import { ExpectResult } from "../types/response";
import { HoppEnvs } from "../types/request";
/**
* Defines column headers for table stream used to write table
* data on stdout.
* @property {string} path Path of request within collection file.
* @property {string} endpoint Endpoint from response config.url.
* @property {Method} method Method from response headers.
* @property {string} statusCode Template string concating status & statusText.
*/
export interface TableResponse {
endpoint: string;
method: Method;
statusCode: string;
}
/**
* Describes additional details of HTTP response returned from
* requestRunner.
* @property {string} path Path of request within collection file.
* @property {string} endpoint Endpoint from response config.url.
* @property {Method} method Method from HTTP response headers.
* @property {string} statusText HTTP response status text.
*/
export interface RequestRunnerResponse extends TestResponse {
endpoint: string;
method: Method;
statusText: string;
duration: number;
}
/**
* Describes test script details.
* @property {string} name Request name within collection.
* @property {string} testScript Stringified hoppscotch testScript, used while
* running testRunner.
* @property {TestResponse} response Response structure for test script runner.
*/
export interface TestScriptParams {
testScript: string;
response: TestResponse;
envs: HoppEnvs;
}
/**
* Describe properties of test-report generated from test-runner.
* @property {string} descriptor Test description.
* @property {ExpectResult[]} expectResults Expected results for each
* test-case.
* @property {number} failed Total failed test-cases.
* @property {number} passed Total passed test-cases;
*/
export interface TestReport {
descriptor: string;
expectResults: ExpectResult[];
failed: number;
passed: number;
}
/**
* Describes error pair for failed HTTP requests.
* @example { 501: "Request Not Supported" }
*/
export interface ResponseErrorPair {
[key: number]: string;
}