import { ICollectionInterval } from './footprints-process/istanbul-to-footprints-contract'; import * as winston from 'winston'; import { LeveledLogMethod } from 'winston'; import { CockpitNotifier } from './agent-events/cockpit-notifier'; import { StateTracker } from './state-tracker'; export interface Logger extends winston.Logger { lifecycle: LeveledLogMethod; child(options: Object): Logger; } export interface IFootprintsFile_Test { testName: string; executionId: string; localTime: number; collectionInterval: ICollectionInterval; testId?: string; } export interface IElement { hits: number[][]; uniqueId: string; } export interface IFootprintsFile_App_File { path: string; methods: IElement[]; lines?: IElement[]; branches?: IElement[]; } export interface IFootprintsFile_App { appName: string; branchName: string; buildName: string; moduleName: string; buildSessionId: string; files: IFootprintsFile_App_File[]; } export interface IFootprintsFile_Environment { agentType: string; agentVersion: string; agentId: string; environmentName?: string; testStage?: string; labId?: string; } export interface IAgentMeta { sequence: number; generated: number; agentId: string; } export interface IFootprintsFile { customerId: string; environment: IFootprintsFile_Environment; configurationData: Object; meta?: IAgentMeta; version?: '3.0'; tests: IFootprintsFile_Test[]; apps: IFootprintsFile_App[]; } export interface IFootprintsHandler { handleFootprints(footprintsPacket: IFootprintsFile, callback: (err: Error) => void): any; } export interface IBuildDependency { appName?: string; branch?: string; build?: string; buildSessionId?: string; } export interface IIntegrationBuildDependency { appName?: string; branchName?: string; buildName?: string; buildSessionId?: string; } export interface IExecutionData { executionId: string; appName: string; branchName: string; buildName: string; buildSessionId: string; testStage: string; status: string; timestamp?: number; timestampPendingDelete?: number; timestampDelete?: number; } export interface IComponentConfigData { buildSessionId: string; coverage: any; } export type INotCollectingHitsReason = typeof StateTracker.EXECUTION_STATUS_PENDING_DELETE | typeof StateTracker.NO_ACTIVE_EXECUTION; export interface IExecutionResponse { execution: IExecutionData; } export interface ITokenArgs { token?: string; tokenfile?: string; } export interface ITokenData { token: string; server: string; customerid: string; isValid: boolean; origin: string; } export interface IArgs extends ITokenArgs { skipUpgrade: boolean; proxy?: string; failbuild?: boolean; labid?: string; } export interface IConfigArgs extends IArgs { buildsessionid?: string; buildsessionidfile?: string; appname: string; build: string; branch: string; } export interface IGeneralArgs extends IArgs { buildsessionidfile?: string; buildsessionid?: string; } export interface ITestListenerArgs extends IGeneralArgs { labid: string; projectRoot: string; teststage: string; useslnode2: boolean; httpServerColoring: boolean; httpClientColoring: boolean; usebranchcoverage: boolean; testgroupid?: string; } export interface ITestRunnerArgs extends ITestListenerArgs { tiaDisabled: boolean; enforceFullRun: boolean; resolveWithoutHash: boolean; } export type ICockpitNotifierPiggyback = Pick; export declare enum FootprintsMapping { SERVER = "server", AGENT = "agent" } export interface IColorContextManager { getCurrentTestIdentifier: () => string | null; setCurrentTestIdentifier: (testName: string | null, executionId: string | null) => void; getTestName: () => string | null; getExecutionId: () => string | null; } export interface IClockSyncResult { your_time: string; current_time: string; offset: string; }