-
Notifications
You must be signed in to change notification settings - Fork 67
/
TestSpecs.constants.ts
86 lines (77 loc) 路 2.16 KB
/
TestSpecs.constants.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
import {IValues} from 'components/TestSpecForm/TestSpecForm';
export type TSnippet = Required<IValues>;
export const HTTP_SPANS_STATUS_CODE: TSnippet = {
name: 'All HTTP Spans: Status code is 200',
selector: 'span[tracetest.span.type="http"]',
assertions: [
{
left: 'attr:http.status_code',
comparator: '=',
right: '200',
},
],
};
export const TRIGGER_SPAN_RESPONSE_TIME: TSnippet = {
name: 'Trigger Span: Response time is less than 200ms',
selector: 'span[tracetest.span.type="general" name="Tracetest trigger"]',
assertions: [
{
left: 'attr:tracetest.span.duration',
comparator: '<',
right: '200ms',
},
],
};
export const DB_SPANS_RESPONSE_TIME: TSnippet = {
name: 'All Database Spans: Processing time is less than 100ms',
selector: 'span[tracetest.span.type="database"]',
assertions: [
{
left: 'attr:tracetest.span.duration',
comparator: '<',
right: '100ms',
},
],
};
export const TRIGGER_SPAN_RESPONSE_BODY_CONTAINS: TSnippet = {
name: 'Trigger Span: Response body contains "this string"',
selector: 'span[tracetest.span.type="general" name="Tracetest trigger"]',
assertions: [
{
left: 'attr:tracetest.response.body',
comparator: 'contains',
right: '"this string"',
},
],
};
export const GRPC_SPANS_STATUS_CODE: TSnippet = {
name: 'All gRPC Spans: Status is Ok',
selector: 'span[tracetest.span.type="rpc" rpc.system="grpc"]',
assertions: [
{
left: 'attr:rpc.grpc.status_code',
comparator: '=',
right: '0',
},
],
};
export const DB_SPANS_QUALITY_DB_STATEMENT_PRESENT: TSnippet = {
name: 'All Database Spans: db.statement should always be defined (QUALITY)',
selector: 'span[tracetest.span.type="database"]',
assertions: [
{
left: 'attr:db.system',
comparator: '!=',
right: '""',
},
],
};
export const TEST_SPEC_SNIPPETS: TSnippet[] = [
HTTP_SPANS_STATUS_CODE,
GRPC_SPANS_STATUS_CODE,
TRIGGER_SPAN_RESPONSE_TIME,
TRIGGER_SPAN_RESPONSE_BODY_CONTAINS,
DB_SPANS_RESPONSE_TIME,
DB_SPANS_QUALITY_DB_STATEMENT_PRESENT,
];
export const TestSpecErrors = ['resolution error', 'invalid syntax'];