@@ -12,31 +12,43 @@ const DEFAULT_SETTINGS = {
12
12
code_coverage : true ,
13
13
tests_skipping : true ,
14
14
itr_enabled : true ,
15
+ require_git : false ,
15
16
early_flake_detection : {
16
17
enabled : false ,
17
18
slow_test_retries : {
18
19
'5s' : 3
19
20
}
21
+ } ,
22
+ flaky_test_retries_enabled : false ,
23
+ di_enabled : false ,
24
+ known_tests_enabled : false ,
25
+ test_management : {
26
+ enabled : false
20
27
}
21
28
}
22
29
23
30
const DEFAULT_SUITES_TO_SKIP = [ ]
24
31
const DEFAULT_GIT_UPLOAD_STATUS = 200
25
- const DEFAULT_KNOWN_TESTS_UPLOAD_STATUS = 200
32
+ const DEFAULT_KNOWN_TESTS_RESPONSE_STATUS = 200
26
33
const DEFAULT_INFO_RESPONSE = {
27
34
endpoints : [ '/evp_proxy/v2' , '/debugger/v1/input' ]
28
35
}
29
36
const DEFAULT_CORRELATION_ID = '1234'
30
37
const DEFAULT_KNOWN_TESTS = [ 'test-suite1.js.test-name1' , 'test-suite2.js.test-name2' ]
31
38
39
+ const DEFAULT_QUARANTINED_TESTS = { }
40
+ const DEFAULT_QUARANTINED_TESTS_RESPONSE_STATUS = 200
41
+
32
42
let settings = DEFAULT_SETTINGS
33
43
let suitesToSkip = DEFAULT_SUITES_TO_SKIP
34
44
let gitUploadStatus = DEFAULT_GIT_UPLOAD_STATUS
35
45
let infoResponse = DEFAULT_INFO_RESPONSE
36
46
let correlationId = DEFAULT_CORRELATION_ID
37
47
let knownTests = DEFAULT_KNOWN_TESTS
38
- let knownTestsStatusCode = DEFAULT_KNOWN_TESTS_UPLOAD_STATUS
48
+ let knownTestsStatusCode = DEFAULT_KNOWN_TESTS_RESPONSE_STATUS
39
49
let waitingTime = 0
50
+ let quarantineResponse = DEFAULT_QUARANTINED_TESTS
51
+ let quarantineResponseStatusCode = DEFAULT_QUARANTINED_TESTS_RESPONSE_STATUS
40
52
41
53
class FakeCiVisIntake extends FakeAgent {
42
54
setKnownTestsResponseCode ( statusCode ) {
@@ -71,6 +83,14 @@ class FakeCiVisIntake extends FakeAgent {
71
83
waitingTime = newWaitingTime
72
84
}
73
85
86
+ setQuarantinedTests ( newQuarantinedTests ) {
87
+ quarantineResponse = newQuarantinedTests
88
+ }
89
+
90
+ setQuarantinedTestsResponseCode ( newStatusCode ) {
91
+ quarantineResponseStatusCode = newStatusCode
92
+ }
93
+
74
94
async start ( ) {
75
95
const app = express ( )
76
96
app . use ( bodyParser . raw ( { limit : Infinity , type : 'application/msgpack' } ) )
@@ -219,6 +239,25 @@ class FakeCiVisIntake extends FakeAgent {
219
239
} )
220
240
} )
221
241
242
+ app . post ( [
243
+ '/api/v2/test/libraries/test-management/tests' ,
244
+ '/evp_proxy/:version/api/v2/test/libraries/test-management/tests'
245
+ ] , ( req , res ) => {
246
+ res . setHeader ( 'content-type' , 'application/json' )
247
+ const data = JSON . stringify ( {
248
+ data : {
249
+ attributes : {
250
+ modules : quarantineResponse
251
+ }
252
+ }
253
+ } )
254
+ res . status ( quarantineResponseStatusCode ) . send ( data )
255
+ this . emit ( 'message' , {
256
+ headers : req . headers ,
257
+ url : req . url
258
+ } )
259
+ } )
260
+
222
261
return new Promise ( ( resolve , reject ) => {
223
262
const timeoutObj = setTimeout ( ( ) => {
224
263
reject ( new Error ( 'Intake timed out starting up' ) )
@@ -237,8 +276,10 @@ class FakeCiVisIntake extends FakeAgent {
237
276
settings = DEFAULT_SETTINGS
238
277
suitesToSkip = DEFAULT_SUITES_TO_SKIP
239
278
gitUploadStatus = DEFAULT_GIT_UPLOAD_STATUS
240
- knownTestsStatusCode = DEFAULT_KNOWN_TESTS_UPLOAD_STATUS
279
+ knownTestsStatusCode = DEFAULT_KNOWN_TESTS_RESPONSE_STATUS
241
280
infoResponse = DEFAULT_INFO_RESPONSE
281
+ quarantineResponseStatusCode = DEFAULT_QUARANTINED_TESTS_RESPONSE_STATUS
282
+ quarantineResponse = DEFAULT_QUARANTINED_TESTS
242
283
this . removeAllListeners ( )
243
284
if ( this . waitingTimeoutId ) {
244
285
clearTimeout ( this . waitingTimeoutId )
0 commit comments