checkly 8.3.0-prerelease-d81dc3d → 8.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/commands/test-sessions/get.d.ts +17 -0
- package/dist/commands/test-sessions/get.js +71 -0
- package/dist/commands/test-sessions/get.js.map +1 -0
- package/dist/formatters/test-sessions.d.ts +15 -0
- package/dist/formatters/test-sessions.js +265 -0
- package/dist/formatters/test-sessions.js.map +1 -0
- package/dist/rest/test-sessions.d.ts +37 -0
- package/dist/rest/test-sessions.js +3 -0
- package/dist/rest/test-sessions.js.map +1 -1
- package/oclif.manifest.json +69 -1
- package/package.json +4 -1
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { AuthCommand } from '../authCommand.js';
|
|
2
|
+
export default class TestSessionsGet extends AuthCommand {
|
|
3
|
+
static hidden: boolean;
|
|
4
|
+
static readOnly: boolean;
|
|
5
|
+
static idempotent: boolean;
|
|
6
|
+
static description: string;
|
|
7
|
+
static args: {
|
|
8
|
+
id: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
|
|
9
|
+
};
|
|
10
|
+
static flags: {
|
|
11
|
+
'error-group': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
12
|
+
'error-groups-limit': import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
|
|
13
|
+
'full-error': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
14
|
+
output: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
15
|
+
};
|
|
16
|
+
run(): Promise<void>;
|
|
17
|
+
}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { Args, Flags } from '@oclif/core';
|
|
2
|
+
import { AuthCommand } from '../authCommand.js';
|
|
3
|
+
import { outputFlag } from '../../helpers/flags.js';
|
|
4
|
+
import * as api from '../../rest/api.js';
|
|
5
|
+
import { formatTestSessionDetail, formatTestSessionErrorGroupDetail, uniqueErrorGroupIds, } from '../../formatters/test-sessions.js';
|
|
6
|
+
export default class TestSessionsGet extends AuthCommand {
|
|
7
|
+
static hidden = false;
|
|
8
|
+
static readOnly = true;
|
|
9
|
+
static idempotent = true;
|
|
10
|
+
static description = 'Get details of a recorded test session, including result error groups for RCA.';
|
|
11
|
+
static args = {
|
|
12
|
+
id: Args.string({
|
|
13
|
+
description: 'The ID of the test session to retrieve.',
|
|
14
|
+
required: true,
|
|
15
|
+
}),
|
|
16
|
+
};
|
|
17
|
+
static flags = {
|
|
18
|
+
'error-group': Flags.string({
|
|
19
|
+
description: 'Show details for a test session error group ID from this session.',
|
|
20
|
+
}),
|
|
21
|
+
'error-groups-limit': Flags.integer({
|
|
22
|
+
description: 'Number of error group IDs to show in the session summary.',
|
|
23
|
+
default: 5,
|
|
24
|
+
}),
|
|
25
|
+
'full-error': Flags.boolean({
|
|
26
|
+
description: 'Print the complete raw error when showing a test session error group.',
|
|
27
|
+
default: false,
|
|
28
|
+
}),
|
|
29
|
+
'output': outputFlag({ default: 'detail' }),
|
|
30
|
+
};
|
|
31
|
+
async run() {
|
|
32
|
+
const { args, flags } = await this.parse(TestSessionsGet);
|
|
33
|
+
this.style.outputFormat = flags.output;
|
|
34
|
+
try {
|
|
35
|
+
const { data: testSession } = await api.testSessions.get(args.id);
|
|
36
|
+
if (flags['error-group']) {
|
|
37
|
+
const errorGroupIds = uniqueErrorGroupIds(testSession);
|
|
38
|
+
if (!errorGroupIds.includes(flags['error-group'])) {
|
|
39
|
+
const listCommand = `checkly test-sessions get ${args.id} `
|
|
40
|
+
+ `--error-groups-limit ${Math.max(5, errorGroupIds.length)}`;
|
|
41
|
+
this.style.longError('Test session error group not found in this session.', `Run \`${listCommand}\` to list the available error group IDs.`);
|
|
42
|
+
process.exitCode = 1;
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
const { data: errorGroup } = await api.testSessionErrorGroups.get(flags['error-group']);
|
|
46
|
+
if (flags.output === 'json') {
|
|
47
|
+
this.log(JSON.stringify(errorGroup, null, 2));
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
const fmt = flags.output === 'md' ? 'md' : 'terminal';
|
|
51
|
+
this.log(formatTestSessionErrorGroupDetail(errorGroup, fmt, {
|
|
52
|
+
fullError: flags['full-error'],
|
|
53
|
+
}));
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
if (flags.output === 'json') {
|
|
57
|
+
this.log(JSON.stringify(testSession, null, 2));
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
const fmt = flags.output === 'md' ? 'md' : 'terminal';
|
|
61
|
+
this.log(formatTestSessionDetail(testSession, fmt, {
|
|
62
|
+
errorGroupsLimit: flags['error-groups-limit'],
|
|
63
|
+
}));
|
|
64
|
+
}
|
|
65
|
+
catch (err) {
|
|
66
|
+
this.style.longError('Failed to get test session details.', err);
|
|
67
|
+
process.exitCode = 1;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=get.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get.js","sourceRoot":"","sources":["../../../src/commands/test-sessions/get.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AACnD,OAAO,KAAK,GAAG,MAAM,mBAAmB,CAAA;AACxC,OAAO,EACL,uBAAuB,EACvB,iCAAiC,EACjC,mBAAmB,GACpB,MAAM,mCAAmC,CAAA;AAG1C,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,WAAW;IACtD,MAAM,CAAC,MAAM,GAAG,KAAK,CAAA;IACrB,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAA;IACtB,MAAM,CAAC,UAAU,GAAG,IAAI,CAAA;IACxB,MAAM,CAAC,WAAW,GAAG,gFAAgF,CAAA;IAErG,MAAM,CAAC,IAAI,GAAG;QACZ,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC;YACd,WAAW,EAAE,yCAAyC;YACtD,QAAQ,EAAE,IAAI;SACf,CAAC;KACH,CAAA;IAED,MAAM,CAAC,KAAK,GAAG;QACb,aAAa,EAAE,KAAK,CAAC,MAAM,CAAC;YAC1B,WAAW,EAAE,mEAAmE;SACjF,CAAC;QACF,oBAAoB,EAAE,KAAK,CAAC,OAAO,CAAC;YAClC,WAAW,EAAE,2DAA2D;YACxE,OAAO,EAAE,CAAC;SACX,CAAC;QACF,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC;YAC1B,WAAW,EAAE,uEAAuE;YACpF,OAAO,EAAE,KAAK;SACf,CAAC;QACF,QAAQ,EAAE,UAAU,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;KAC5C,CAAA;IAED,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAA;QACzD,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC,MAAM,CAAA;QAEtC,IAAI,CAAC;YACH,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,MAAM,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;YAEjE,IAAI,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC;gBACzB,MAAM,aAAa,GAAG,mBAAmB,CAAC,WAAW,CAAC,CAAA;gBAEtD,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC;oBAClD,MAAM,WAAW,GAAG,6BAA6B,IAAI,CAAC,EAAE,GAAG;0BACvD,wBAAwB,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,EAAE,CAAA;oBAC/D,IAAI,CAAC,KAAK,CAAC,SAAS,CAClB,qDAAqD,EACrD,SAAS,WAAW,2CAA2C,CAChE,CAAA;oBACD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAA;oBACpB,OAAM;gBACR,CAAC;gBAED,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,MAAM,GAAG,CAAC,sBAAsB,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAA;gBAEvF,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;oBAC5B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;oBAC7C,OAAM;gBACR,CAAC;gBAED,MAAM,GAAG,GAAiB,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAA;gBACnE,IAAI,CAAC,GAAG,CAAC,iCAAiC,CAAC,UAAU,EAAE,GAAG,EAAE;oBAC1D,SAAS,EAAE,KAAK,CAAC,YAAY,CAAC;iBAC/B,CAAC,CAAC,CAAA;gBACH,OAAM;YACR,CAAC;YAED,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;gBAC5B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;gBAC9C,OAAM;YACR,CAAC;YAED,MAAM,GAAG,GAAiB,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAA;YACnE,IAAI,CAAC,GAAG,CAAC,uBAAuB,CAAC,WAAW,EAAE,GAAG,EAAE;gBACjD,gBAAgB,EAAE,KAAK,CAAC,oBAAoB,CAAC;aAC9C,CAAC,CAAC,CAAA;QACL,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,qCAAqC,EAAE,GAAG,CAAC,CAAA;YAChE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAA;QACtB,CAAC;IACH,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { TestSessionErrorGroup } from '../rest/test-session-error-groups.js';
|
|
2
|
+
import type { TestSessionDetail } from '../rest/test-sessions.js';
|
|
3
|
+
import { type OutputFormat } from './render.js';
|
|
4
|
+
export interface TestSessionFormatOptions {
|
|
5
|
+
errorGroupsLimit?: number;
|
|
6
|
+
}
|
|
7
|
+
export interface TestSessionErrorGroupFormatOptions {
|
|
8
|
+
fullError?: boolean;
|
|
9
|
+
errorLines?: number;
|
|
10
|
+
}
|
|
11
|
+
export declare function uniqueErrorGroupIds(session: TestSessionDetail): string[];
|
|
12
|
+
export declare function formatTestSessionErrorGroupIds(session: TestSessionDetail, format: OutputFormat, options?: TestSessionFormatOptions): string;
|
|
13
|
+
export declare function formatTestSessionHints(session: TestSessionDetail, format: OutputFormat): string;
|
|
14
|
+
export declare function formatTestSessionErrorGroupDetail(group: TestSessionErrorGroup, format: OutputFormat, options?: TestSessionErrorGroupFormatOptions): string;
|
|
15
|
+
export declare function formatTestSessionDetail(session: TestSessionDetail, format: OutputFormat, options?: TestSessionFormatOptions): string;
|
|
@@ -0,0 +1,265 @@
|
|
|
1
|
+
import chalk from 'chalk';
|
|
2
|
+
import { formatCheckType, formatDate, renderDetailFields, renderTable, truncateToWidth, visWidth, } from './render.js';
|
|
3
|
+
const DEFAULT_ERROR_GROUPS_LIMIT = 5;
|
|
4
|
+
const DEFAULT_ERROR_DETAIL_LINES = 80;
|
|
5
|
+
function formatStatus(status, format) {
|
|
6
|
+
const normalized = status.toLowerCase();
|
|
7
|
+
if (format === 'md')
|
|
8
|
+
return normalized;
|
|
9
|
+
switch (status) {
|
|
10
|
+
case 'FAILED':
|
|
11
|
+
return chalk.red(normalized);
|
|
12
|
+
case 'CANCELLED':
|
|
13
|
+
return chalk.dim(normalized);
|
|
14
|
+
case 'RUNNING':
|
|
15
|
+
return chalk.yellow(normalized);
|
|
16
|
+
case 'PASSED':
|
|
17
|
+
return chalk.green(normalized);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
function formatList(values, format) {
|
|
21
|
+
if (!values || values.length === 0)
|
|
22
|
+
return format === 'terminal' ? chalk.dim('-') : '-';
|
|
23
|
+
return values.join(', ');
|
|
24
|
+
}
|
|
25
|
+
function formatErrorGroupCount(values, format) {
|
|
26
|
+
if (format === 'md')
|
|
27
|
+
return formatList(values, format);
|
|
28
|
+
const count = values?.length ?? 0;
|
|
29
|
+
if (count === 0)
|
|
30
|
+
return chalk.dim('-');
|
|
31
|
+
return `${count} ${count === 1 ? 'group' : 'groups'}`;
|
|
32
|
+
}
|
|
33
|
+
function formatErrorGroupSummary(session, format) {
|
|
34
|
+
const count = uniqueErrorGroupIds(session).length;
|
|
35
|
+
if (count === 0)
|
|
36
|
+
return format === 'terminal' ? chalk.dim('-') : '-';
|
|
37
|
+
return `${count} ${count === 1 ? 'group' : 'groups'}`;
|
|
38
|
+
}
|
|
39
|
+
function formatDuration(ms) {
|
|
40
|
+
if (ms < 1000)
|
|
41
|
+
return `${Math.round(ms)}ms`;
|
|
42
|
+
const totalSeconds = Math.round(ms / 1000);
|
|
43
|
+
const seconds = totalSeconds % 60;
|
|
44
|
+
const totalMinutes = Math.floor(totalSeconds / 60);
|
|
45
|
+
if (totalMinutes === 0)
|
|
46
|
+
return `${seconds}s`;
|
|
47
|
+
const minutes = totalMinutes % 60;
|
|
48
|
+
const hours = Math.floor(totalMinutes / 60);
|
|
49
|
+
if (hours === 0)
|
|
50
|
+
return seconds === 0 ? `${minutes}m` : `${minutes}m ${seconds}s`;
|
|
51
|
+
if (minutes === 0 && seconds === 0)
|
|
52
|
+
return `${hours}h`;
|
|
53
|
+
if (minutes === 0)
|
|
54
|
+
return `${hours}h ${seconds}s`;
|
|
55
|
+
return seconds === 0 ? `${hours}h ${minutes}m` : `${hours}h ${minutes}m ${seconds}s`;
|
|
56
|
+
}
|
|
57
|
+
function formatMetadata(metadata, format) {
|
|
58
|
+
if (!metadata)
|
|
59
|
+
return null;
|
|
60
|
+
const entries = Object.entries(metadata).filter(([, value]) => value != null && value !== '');
|
|
61
|
+
if (entries.length === 0)
|
|
62
|
+
return null;
|
|
63
|
+
const labels = {
|
|
64
|
+
environment: 'environment',
|
|
65
|
+
repoUrl: 'repo',
|
|
66
|
+
commitId: 'commit',
|
|
67
|
+
commitOwner: 'author',
|
|
68
|
+
commitMessage: 'message',
|
|
69
|
+
branchName: 'branch',
|
|
70
|
+
};
|
|
71
|
+
const formatted = entries.map(([key, value]) => `${labels[key] ?? key}: ${value}`);
|
|
72
|
+
return format === 'md' ? formatted.join(', ') : formatted.join('\n');
|
|
73
|
+
}
|
|
74
|
+
const testSessionDetailFields = [
|
|
75
|
+
{ label: 'Status', value: (session, fmt) => formatStatus(session.status, fmt) },
|
|
76
|
+
{ label: 'Started', value: (session, fmt) => formatDate(session.startedAt, fmt) },
|
|
77
|
+
{ label: 'Stopped', value: (session, fmt) => formatDate(session.stoppedAt, fmt) },
|
|
78
|
+
{ label: 'Time elapsed', value: session => formatDuration(session.timeElapsed) },
|
|
79
|
+
{ label: 'Metadata', value: (session, fmt) => formatMetadata(session.metadata, fmt) },
|
|
80
|
+
{ label: 'Session link', value: (session, fmt) => fmt === 'md' ? session.testSessionLink : null },
|
|
81
|
+
{ label: 'Error groups', value: (session, fmt) => formatErrorGroupSummary(session, fmt) },
|
|
82
|
+
{ label: 'ID', value: session => session.testSessionId },
|
|
83
|
+
];
|
|
84
|
+
function buildResultColumns(results, format) {
|
|
85
|
+
if (format === 'md') {
|
|
86
|
+
return [
|
|
87
|
+
{ header: 'Result ID', value: result => result.testSessionResultId },
|
|
88
|
+
{ header: 'Check ID', value: result => result.checkId ?? '-' },
|
|
89
|
+
{ header: 'Name', value: result => result.name || '-' },
|
|
90
|
+
{ header: 'Check Type', value: result => formatCheckType(result.checkType) },
|
|
91
|
+
{ header: 'Status', value: (result, fmt) => formatStatus(result.status, fmt) },
|
|
92
|
+
{ header: 'Result Type', value: result => result.resultType ?? '-' },
|
|
93
|
+
{ header: 'Run Location', value: result => result.runLocation ?? '-' },
|
|
94
|
+
{ header: 'Error Groups', value: (result, fmt) => formatList(result.errorGroupIds, fmt) },
|
|
95
|
+
];
|
|
96
|
+
}
|
|
97
|
+
const termWidth = process.stdout.columns || 120;
|
|
98
|
+
const showCheckId = termWidth >= 160 && results.some(result => result.checkId);
|
|
99
|
+
const typeWidth = 14;
|
|
100
|
+
const statusWidth = 10;
|
|
101
|
+
const resultTypeWidth = 10;
|
|
102
|
+
const locationWidth = 14;
|
|
103
|
+
const errorGroupWidth = 14;
|
|
104
|
+
const resultIdWidth = showCheckId ? 38 : 0;
|
|
105
|
+
const checkIdWidth = showCheckId ? 38 : 0;
|
|
106
|
+
const fixedWidth = typeWidth + statusWidth + resultTypeWidth + locationWidth
|
|
107
|
+
+ errorGroupWidth + resultIdWidth + checkIdWidth;
|
|
108
|
+
const longestName = Math.max(4, ...results.map(result => visWidth(result.name || '-')));
|
|
109
|
+
const nameWidth = Math.max(16, Math.min(longestName + 2, termWidth - fixedWidth, 42));
|
|
110
|
+
const columns = [
|
|
111
|
+
{ header: 'Name', width: nameWidth, value: result => truncateToWidth(result.name || '-', nameWidth - 2) },
|
|
112
|
+
{ header: 'Type', width: typeWidth, value: result => truncateToWidth(formatCheckType(result.checkType), typeWidth - 2) },
|
|
113
|
+
{ header: 'Status', width: statusWidth, value: (result, fmt) => formatStatus(result.status, fmt) },
|
|
114
|
+
{ header: 'Result', width: resultTypeWidth, value: result => result.resultType ? truncateToWidth(result.resultType, resultTypeWidth - 2) : chalk.dim('-') },
|
|
115
|
+
{ header: 'Location', width: locationWidth, value: result => result.runLocation ? truncateToWidth(result.runLocation, locationWidth - 2) : chalk.dim('-') },
|
|
116
|
+
{ header: 'Error Groups', width: errorGroupWidth, value: (result, fmt) => formatErrorGroupCount(result.errorGroupIds, fmt) },
|
|
117
|
+
];
|
|
118
|
+
if (showCheckId) {
|
|
119
|
+
columns.push({ header: 'Result ID', width: resultIdWidth, value: result => chalk.dim(result.testSessionResultId) }, { header: 'Check ID', value: result => result.checkId ? chalk.dim(result.checkId) : chalk.dim('-') });
|
|
120
|
+
}
|
|
121
|
+
else {
|
|
122
|
+
columns.push({ header: 'Result ID', value: result => chalk.dim(result.testSessionResultId) });
|
|
123
|
+
}
|
|
124
|
+
return columns;
|
|
125
|
+
}
|
|
126
|
+
export function uniqueErrorGroupIds(session) {
|
|
127
|
+
return [
|
|
128
|
+
...(session.errorGroupIds ?? []),
|
|
129
|
+
...(session.results ?? []).flatMap(result => result.errorGroupIds ?? []),
|
|
130
|
+
].filter((id, index, ids) => ids.indexOf(id) === index);
|
|
131
|
+
}
|
|
132
|
+
function errorGroupReferences(session) {
|
|
133
|
+
const refs = new Map();
|
|
134
|
+
const add = (id, source) => {
|
|
135
|
+
const sources = refs.get(id) ?? new Set();
|
|
136
|
+
sources.add(source);
|
|
137
|
+
refs.set(id, sources);
|
|
138
|
+
};
|
|
139
|
+
for (const id of session.errorGroupIds ?? []) {
|
|
140
|
+
add(id, 'session');
|
|
141
|
+
}
|
|
142
|
+
for (const result of session.results ?? []) {
|
|
143
|
+
const source = result.name || result.testSessionResultId;
|
|
144
|
+
for (const id of result.errorGroupIds ?? []) {
|
|
145
|
+
add(id, source);
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
return [...refs.entries()].map(([id, sources]) => ({ id, sources: [...sources] }));
|
|
149
|
+
}
|
|
150
|
+
function buildErrorGroupReferenceColumns(format) {
|
|
151
|
+
if (format === 'md') {
|
|
152
|
+
return [
|
|
153
|
+
{ header: 'Source', value: ref => ref.sources.join(', ') },
|
|
154
|
+
{ header: 'Error Group ID', value: ref => ref.id },
|
|
155
|
+
];
|
|
156
|
+
}
|
|
157
|
+
const termWidth = process.stdout.columns || 120;
|
|
158
|
+
const idWidth = 38;
|
|
159
|
+
const sourceWidth = Math.max(16, Math.min(50, termWidth - idWidth));
|
|
160
|
+
return [
|
|
161
|
+
{
|
|
162
|
+
header: 'Source',
|
|
163
|
+
width: sourceWidth,
|
|
164
|
+
value: ref => truncateToWidth(ref.sources.join(', '), sourceWidth - 2),
|
|
165
|
+
},
|
|
166
|
+
{ header: 'Error Group ID', value: ref => chalk.dim(ref.id) },
|
|
167
|
+
];
|
|
168
|
+
}
|
|
169
|
+
export function formatTestSessionErrorGroupIds(session, format, options = {}) {
|
|
170
|
+
const refs = errorGroupReferences(session);
|
|
171
|
+
if (refs.length === 0)
|
|
172
|
+
return '';
|
|
173
|
+
const limit = Math.max(0, options.errorGroupsLimit ?? DEFAULT_ERROR_GROUPS_LIMIT);
|
|
174
|
+
if (limit === 0)
|
|
175
|
+
return '';
|
|
176
|
+
const visible = refs.slice(0, limit);
|
|
177
|
+
const hiddenCount = refs.length - visible.length;
|
|
178
|
+
const lines = [
|
|
179
|
+
format === 'md' ? '## Error Group IDs' : chalk.bold('ERROR GROUP IDS'),
|
|
180
|
+
'',
|
|
181
|
+
renderTable(buildErrorGroupReferenceColumns(format), visible, format),
|
|
182
|
+
];
|
|
183
|
+
if (hiddenCount > 0) {
|
|
184
|
+
const showMoreCommand = `checkly test-sessions get ${session.testSessionId} --error-groups-limit ${refs.length}`;
|
|
185
|
+
lines.push('');
|
|
186
|
+
lines.push(format === 'md'
|
|
187
|
+
? `*Showing ${visible.length} of ${refs.length} error group IDs. Show all: \`${showMoreCommand}\`*`
|
|
188
|
+
: `${chalk.dim(`Showing ${visible.length} of ${refs.length} error group IDs. Show all:`)} ${showMoreCommand}`);
|
|
189
|
+
}
|
|
190
|
+
return lines.join('\n');
|
|
191
|
+
}
|
|
192
|
+
export function formatTestSessionHints(session, format) {
|
|
193
|
+
const lines = [];
|
|
194
|
+
const errorGroupIds = uniqueErrorGroupIds(session);
|
|
195
|
+
if (errorGroupIds.length > 0) {
|
|
196
|
+
const inspectCommand = `checkly test-sessions get ${session.testSessionId} --error-group <error-group-id>`;
|
|
197
|
+
const rcaCommand = 'checkly rca run --test-session-error-group <error-group-id> --watch';
|
|
198
|
+
lines.push(format === 'md'
|
|
199
|
+
? `- Inspect group: \`${inspectCommand}\``
|
|
200
|
+
: ` ${chalk.dim('Inspect group:')} ${inspectCommand}`);
|
|
201
|
+
lines.push(format === 'md'
|
|
202
|
+
? `- Run RCA: \`${rcaCommand}\``
|
|
203
|
+
: ` ${chalk.dim('Run RCA:')} ${rcaCommand}`);
|
|
204
|
+
}
|
|
205
|
+
if (session.testSessionLink) {
|
|
206
|
+
lines.push(format === 'md'
|
|
207
|
+
? `- Open session: ${session.testSessionLink}`
|
|
208
|
+
: ` ${chalk.dim('Open session:')} ${session.testSessionLink}`);
|
|
209
|
+
}
|
|
210
|
+
return lines.join('\n');
|
|
211
|
+
}
|
|
212
|
+
function formatRawErrorMessage(rawErrorMessage, format, options) {
|
|
213
|
+
if (!rawErrorMessage)
|
|
214
|
+
return null;
|
|
215
|
+
if (options.fullError)
|
|
216
|
+
return rawErrorMessage;
|
|
217
|
+
const maxLines = Math.max(1, options.errorLines ?? DEFAULT_ERROR_DETAIL_LINES);
|
|
218
|
+
const lines = rawErrorMessage.split('\n');
|
|
219
|
+
if (lines.length <= maxLines)
|
|
220
|
+
return rawErrorMessage;
|
|
221
|
+
const note = `Showing first ${maxLines} of ${lines.length} lines. Use --full-error to print the complete raw error.`;
|
|
222
|
+
const formattedNote = format === 'md' ? `_${note}_` : chalk.dim(note);
|
|
223
|
+
return [...lines.slice(0, maxLines), '', formattedNote].join('\n');
|
|
224
|
+
}
|
|
225
|
+
function testSessionErrorGroupDetailFields(options) {
|
|
226
|
+
return [
|
|
227
|
+
{ label: 'Error', value: (group, fmt) => formatRawErrorMessage(group.rawErrorMessage, fmt, options) },
|
|
228
|
+
{ label: 'First seen', value: (group, fmt) => formatDate(group.firstSeen, fmt) },
|
|
229
|
+
{ label: 'Last seen', value: (group, fmt) => formatDate(group.lastSeen, fmt) },
|
|
230
|
+
{ label: 'Archived', value: group => group.archivedUntilNextEvent ? 'yes' : 'no' },
|
|
231
|
+
{ label: 'Project ID', value: group => group.projectId },
|
|
232
|
+
{ label: 'Environments', value: (group, fmt) => formatList(group.environments, fmt) },
|
|
233
|
+
{ label: 'Error hash', value: group => group.errorHash },
|
|
234
|
+
{ label: 'ID', value: group => group.id },
|
|
235
|
+
];
|
|
236
|
+
}
|
|
237
|
+
export function formatTestSessionErrorGroupDetail(group, format, options = {}) {
|
|
238
|
+
return renderDetailFields('Test session error group', testSessionErrorGroupDetailFields(options), group, format);
|
|
239
|
+
}
|
|
240
|
+
export function formatTestSessionDetail(session, format, options = {}) {
|
|
241
|
+
const lines = [
|
|
242
|
+
renderDetailFields(session.name, testSessionDetailFields, session, format),
|
|
243
|
+
];
|
|
244
|
+
const results = session.results ?? [];
|
|
245
|
+
if (results.length > 0) {
|
|
246
|
+
lines.push('');
|
|
247
|
+
lines.push(format === 'md' ? '## Results' : chalk.bold('RESULTS'));
|
|
248
|
+
lines.push('');
|
|
249
|
+
lines.push(renderTable(buildResultColumns(results, format), results, format));
|
|
250
|
+
}
|
|
251
|
+
const errorGroupIds = formatTestSessionErrorGroupIds(session, format, options);
|
|
252
|
+
if (errorGroupIds) {
|
|
253
|
+
lines.push('');
|
|
254
|
+
lines.push(errorGroupIds);
|
|
255
|
+
}
|
|
256
|
+
const hints = formatTestSessionHints(session, format);
|
|
257
|
+
if (hints) {
|
|
258
|
+
lines.push('');
|
|
259
|
+
lines.push(format === 'md' ? '## Hints' : chalk.bold('HINTS'));
|
|
260
|
+
lines.push('');
|
|
261
|
+
lines.push(hints);
|
|
262
|
+
}
|
|
263
|
+
return lines.join('\n');
|
|
264
|
+
}
|
|
265
|
+
//# sourceMappingURL=test-sessions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-sessions.js","sourceRoot":"","sources":["../../src/formatters/test-sessions.ts"],"names":[],"mappings":"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"}
|
|
@@ -57,6 +57,42 @@ export type TriggerTestSessionResponse = {
|
|
|
57
57
|
testResultIds: Record<string, string>;
|
|
58
58
|
sequenceIds: Record<string, SequenceId>;
|
|
59
59
|
};
|
|
60
|
+
export type TestSessionMetadata = {
|
|
61
|
+
environment?: string;
|
|
62
|
+
repoUrl?: string;
|
|
63
|
+
commitId?: string;
|
|
64
|
+
commitOwner?: string;
|
|
65
|
+
commitMessage?: string;
|
|
66
|
+
branchName?: string;
|
|
67
|
+
};
|
|
68
|
+
export type TestSessionStatus = 'RUNNING' | 'FAILED' | 'PASSED' | 'CANCELLED';
|
|
69
|
+
export type TestSessionResult = {
|
|
70
|
+
testSessionResultId: string;
|
|
71
|
+
testSessionResultLink: string;
|
|
72
|
+
checkId?: string | null;
|
|
73
|
+
checkType: string;
|
|
74
|
+
name?: string;
|
|
75
|
+
runLocation?: string;
|
|
76
|
+
resultType?: string;
|
|
77
|
+
status: TestSessionStatus;
|
|
78
|
+
hasErrors: boolean;
|
|
79
|
+
hasFailures: boolean;
|
|
80
|
+
isDegraded: boolean;
|
|
81
|
+
aborted: boolean;
|
|
82
|
+
errorGroupIds?: string[];
|
|
83
|
+
};
|
|
84
|
+
export type TestSessionDetail = {
|
|
85
|
+
testSessionId: string;
|
|
86
|
+
testSessionLink: string;
|
|
87
|
+
name: string;
|
|
88
|
+
status: TestSessionStatus;
|
|
89
|
+
startedAt: string;
|
|
90
|
+
stoppedAt: string | null;
|
|
91
|
+
timeElapsed: number;
|
|
92
|
+
metadata?: TestSessionMetadata;
|
|
93
|
+
errorGroupIds?: string[];
|
|
94
|
+
results?: TestSessionResult[];
|
|
95
|
+
};
|
|
60
96
|
export declare class NoMatchingChecksError extends Error {
|
|
61
97
|
constructor(options?: ErrorOptions);
|
|
62
98
|
}
|
|
@@ -68,6 +104,7 @@ declare class TestSessions {
|
|
|
68
104
|
* @throws {NoMatchingChecksError} If no checks matched the request.
|
|
69
105
|
*/
|
|
70
106
|
trigger(payload: TriggerTestSessionRequest): Promise<import("axios").AxiosResponse<TriggerTestSessionResponse, any, {}>>;
|
|
107
|
+
get(id: string): Promise<import("axios").AxiosResponse<TestSessionDetail, any, {}>>;
|
|
71
108
|
getShortLink(id: string): Promise<import("axios").AxiosResponse<{
|
|
72
109
|
link: string;
|
|
73
110
|
}, any, {}>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-sessions.js","sourceRoot":"","sources":["../../src/rest/test-sessions.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAA;AAE/C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"test-sessions.js","sourceRoot":"","sources":["../../src/rest/test-sessions.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAA;AAE/C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAkF5C,MAAM,OAAO,qBAAsB,SAAQ,KAAK;IAC9C,YAAa,OAAsB;QACjC,KAAK,CAAC,2BAA2B,EAAE,OAAO,CAAC,CAAA;QAC3C,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAA;IACrC,CAAC;CACF;AAED,MAAM,YAAY;IAChB,GAAG,CAAe;IAClB,YAAa,GAAkB;QAC7B,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;IAChB,CAAC;IAED,KAAK,CAAC,GAAG,CAAE,OAA8B;QACvC,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,yBAAyB,EAAE,OAAO,EAAE;YAC7D,gBAAgB,EAAE,mBAAmB;SACtC,CAAC,CAAA;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CAAE,OAAkC;QAC/C,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAA6B,6BAA6B,EAAE,OAAO,CAAC,CAAA;YAEpG,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAClC,wFAAwF;gBACxF,wFAAwF;gBACxF,MAAM,IAAI,qBAAqB,EAAE,CAAA;YACnC,CAAC;YAED,OAAO,IAAI,CAAA;QACb,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,cAAc,IAAI,GAAG,CAAC,IAAI,CAAC,SAAS,KAAK,wBAAwB,EAAE,CAAC;gBACrF,MAAM,IAAI,qBAAqB,EAAE,CAAA;YACnC,CAAC;YAED,MAAM,GAAG,CAAA;QACX,CAAC;IACH,CAAC;IAED,GAAG,CAAE,EAAU;QACb,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAoB,qBAAqB,EAAE,EAAE,CAAC,CAAA;IACnE,CAAC;IAED,YAAY,CAAE,EAAU;QACtB,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAmB,uBAAuB,EAAE,OAAO,CAAC,CAAA;IACzE,CAAC;IAED,mBAAmB,CAAE,aAAqB,EAAE,YAAoB;QAC9D,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAwB,uBAAuB,aAAa,YAAY,YAAY,QAAQ,CAAC,CAAA;IAClH,CAAC;CACF;AAED,eAAe,YAAY,CAAA"}
|
package/oclif.manifest.json
CHANGED
|
@@ -2853,7 +2853,75 @@
|
|
|
2853
2853
|
"status-pages",
|
|
2854
2854
|
"list.js"
|
|
2855
2855
|
]
|
|
2856
|
+
},
|
|
2857
|
+
"test-sessions:get": {
|
|
2858
|
+
"aliases": [],
|
|
2859
|
+
"args": {
|
|
2860
|
+
"id": {
|
|
2861
|
+
"description": "The ID of the test session to retrieve.",
|
|
2862
|
+
"name": "id",
|
|
2863
|
+
"required": true
|
|
2864
|
+
}
|
|
2865
|
+
},
|
|
2866
|
+
"description": "Get details of a recorded test session, including result error groups for RCA.",
|
|
2867
|
+
"flags": {
|
|
2868
|
+
"error-group": {
|
|
2869
|
+
"description": "Show details for a test session error group ID from this session.",
|
|
2870
|
+
"name": "error-group",
|
|
2871
|
+
"hasDynamicHelp": false,
|
|
2872
|
+
"multiple": false,
|
|
2873
|
+
"type": "option"
|
|
2874
|
+
},
|
|
2875
|
+
"error-groups-limit": {
|
|
2876
|
+
"description": "Number of error group IDs to show in the session summary.",
|
|
2877
|
+
"name": "error-groups-limit",
|
|
2878
|
+
"default": 5,
|
|
2879
|
+
"hasDynamicHelp": false,
|
|
2880
|
+
"multiple": false,
|
|
2881
|
+
"type": "option"
|
|
2882
|
+
},
|
|
2883
|
+
"full-error": {
|
|
2884
|
+
"description": "Print the complete raw error when showing a test session error group.",
|
|
2885
|
+
"name": "full-error",
|
|
2886
|
+
"allowNo": false,
|
|
2887
|
+
"type": "boolean"
|
|
2888
|
+
},
|
|
2889
|
+
"output": {
|
|
2890
|
+
"char": "o",
|
|
2891
|
+
"description": "Output format.",
|
|
2892
|
+
"name": "output",
|
|
2893
|
+
"default": "detail",
|
|
2894
|
+
"hasDynamicHelp": false,
|
|
2895
|
+
"multiple": false,
|
|
2896
|
+
"options": [
|
|
2897
|
+
"detail",
|
|
2898
|
+
"json",
|
|
2899
|
+
"md"
|
|
2900
|
+
],
|
|
2901
|
+
"type": "option"
|
|
2902
|
+
}
|
|
2903
|
+
},
|
|
2904
|
+
"hasDynamicHelp": false,
|
|
2905
|
+
"hidden": false,
|
|
2906
|
+
"hiddenAliases": [],
|
|
2907
|
+
"id": "test-sessions:get",
|
|
2908
|
+
"pluginAlias": "checkly",
|
|
2909
|
+
"pluginName": "checkly",
|
|
2910
|
+
"pluginType": "core",
|
|
2911
|
+
"strict": true,
|
|
2912
|
+
"enableJsonFlag": false,
|
|
2913
|
+
"coreCommand": false,
|
|
2914
|
+
"readOnly": true,
|
|
2915
|
+
"destructive": false,
|
|
2916
|
+
"idempotent": true,
|
|
2917
|
+
"isESM": true,
|
|
2918
|
+
"relativePath": [
|
|
2919
|
+
"dist",
|
|
2920
|
+
"commands",
|
|
2921
|
+
"test-sessions",
|
|
2922
|
+
"get.js"
|
|
2923
|
+
]
|
|
2856
2924
|
}
|
|
2857
2925
|
},
|
|
2858
|
-
"version": "8.3.0
|
|
2926
|
+
"version": "8.3.0"
|
|
2859
2927
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "checkly",
|
|
3
|
-
"version": "8.3.0
|
|
3
|
+
"version": "8.3.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Checkly CLI",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -75,6 +75,9 @@
|
|
|
75
75
|
},
|
|
76
76
|
"status-pages": {
|
|
77
77
|
"description": "List and manage status pages in your Checkly account."
|
|
78
|
+
},
|
|
79
|
+
"test-sessions": {
|
|
80
|
+
"description": "Inspect recorded test sessions."
|
|
78
81
|
}
|
|
79
82
|
},
|
|
80
83
|
"helpClass": "./dist/help/help-extension.js"
|