cypress-load-balancer
Version:
A simple load balancer for Cypress tests.
43 lines (42 loc) • 1.72 kB
TypeScript
import { FilePath, LoadBalancingMap, TestingType } from "./types";
declare class Utils {
private getPath;
DEBUG(...args: any[]): void;
get CLB_DIRECTORY(): string;
get MAIN_LOAD_BALANCING_MAP_FILE_PATH(): string;
get MAX_DURATIONS_ALLOWED(): number;
get TESTING_TYPES(): TestingType[];
/**
* Adds a new filepath entry to the load balancing map
* @param loadBalancingMap {LoadBalancingMap}
* @param testingType {TestingType}
* @param filePath {FilePath}
* @param [opts={}]
* @param [opts.force=] {boolean} If true, will re-create the entry even if one already exists
*/
createNewEntry(loadBalancingMap: LoadBalancingMap, testingType: TestingType, filePath: FilePath, opts?: {
force?: boolean;
}): void;
calculateAverageDuration(durations: number[]): number;
saveMapFile(loadBalancingMap: LoadBalancingMap, fileName?: string): void;
shrinkToFit(arr: number[]): number[];
initializeLoadBalancingFiles(opts?: {
forceCreateMainDirectory?: boolean;
forceCreateMainLoadBalancingMap?: boolean;
}): [boolean, boolean];
/**
* Updates file status:
* Optional:
* adds a new duration;
* Always:
* Removes oldest durations if maximum length has been reached;
* Calculates the average duration.
* @param loadBalancingMap {LoadBalancingMap}
* @param testingType {TestingType}
* @param fileName {string}
* @param [duration=] {number} Only adds new duration if provided
*/
updateFileStats(loadBalancingMap: LoadBalancingMap, testingType: TestingType, fileName: string, duration?: number): void;
}
declare const _default: Utils;
export default _default;