nock 8.0.0 → 8.2.2
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/.travis.yml +1 -0
- package/CHANGELOG.md +107 -114
- package/README.md +103 -42
- package/lib/common.js +15 -1
- package/lib/intercept.js +24 -11
- package/lib/interceptor.js +21 -22
- package/lib/match_body.js +1 -1
- package/lib/recorder.js +6 -3
- package/lib/request_overrider.js +3 -3
- package/lib/scope.js +30 -28
- package/package.json +10 -7
- package/tests/test_back.js +5 -2
- package/tests/test_body_match.js +40 -0
- package/tests/test_browserify.js +54 -52
- package/tests/test_intercept.js +195 -47
- package/tests/test_isomorphic_fetch.js +45 -45
- package/.npmignore +0 -2
- package/coverage/coverage.json +0 -1
- package/coverage/lcov-report/base.css +0 -212
- package/coverage/lcov-report/index.html +0 -106
- package/coverage/lcov-report/nock/index.html +0 -93
- package/coverage/lcov-report/nock/index.js.html +0 -98
- package/coverage/lcov-report/nock/lib/back.js.html +0 -1022
- package/coverage/lcov-report/nock/lib/common.js.html +0 -1070
- package/coverage/lcov-report/nock/lib/delayed_body.js.html +0 -305
- package/coverage/lcov-report/nock/lib/global_emitter.js.html +0 -71
- package/coverage/lcov-report/nock/lib/index.html +0 -223
- package/coverage/lcov-report/nock/lib/intercept.js.html +0 -1253
- package/coverage/lcov-report/nock/lib/interceptor.js.html +0 -1670
- package/coverage/lcov-report/nock/lib/match_body.js.html +0 -275
- package/coverage/lcov-report/nock/lib/mixin.js.html +0 -107
- package/coverage/lcov-report/nock/lib/recorder.js.html +0 -1323
- package/coverage/lcov-report/nock/lib/request_overrider.js.html +0 -1643
- package/coverage/lcov-report/nock/lib/scope.js.html +0 -1133
- package/coverage/lcov-report/nock/lib/socket.js.html +0 -272
- package/coverage/lcov-report/prettify.css +0 -1
- package/coverage/lcov-report/prettify.js +0 -1
- package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
- package/coverage/lcov-report/sorter.js +0 -158
- package/coverage/lcov.info +0 -2428
- package/tests/browserify-public/browserify-bundle.js +0 -34332
- package/tests/test.js +0 -32
|
@@ -1,1133 +0,0 @@
|
|
|
1
|
-
<!doctype html>
|
|
2
|
-
<html lang="en">
|
|
3
|
-
<head>
|
|
4
|
-
<title>Code coverage report for nock/lib/scope.js</title>
|
|
5
|
-
<meta charset="utf-8" />
|
|
6
|
-
<link rel="stylesheet" href="../../prettify.css" />
|
|
7
|
-
<link rel="stylesheet" href="../../base.css" />
|
|
8
|
-
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
9
|
-
<style type='text/css'>
|
|
10
|
-
.coverage-summary .sorter {
|
|
11
|
-
background-image: url(../../sort-arrow-sprite.png);
|
|
12
|
-
}
|
|
13
|
-
</style>
|
|
14
|
-
</head>
|
|
15
|
-
<body>
|
|
16
|
-
<div class='wrapper'>
|
|
17
|
-
<div class='pad1'>
|
|
18
|
-
<h1>
|
|
19
|
-
<a href="../../index.html">all files</a> / <a href="index.html">nock/lib/</a> scope.js
|
|
20
|
-
</h1>
|
|
21
|
-
<div class='clearfix'>
|
|
22
|
-
<div class='fl pad1y space-right2'>
|
|
23
|
-
<span class="strong">92.61% </span>
|
|
24
|
-
<span class="quiet">Statements</span>
|
|
25
|
-
<span class='fraction'>163/176</span>
|
|
26
|
-
</div>
|
|
27
|
-
<div class='fl pad1y space-right2'>
|
|
28
|
-
<span class="strong">78.75% </span>
|
|
29
|
-
<span class="quiet">Branches</span>
|
|
30
|
-
<span class='fraction'>63/80</span>
|
|
31
|
-
</div>
|
|
32
|
-
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">89.19% </span>
|
|
34
|
-
<span class="quiet">Functions</span>
|
|
35
|
-
<span class='fraction'>33/37</span>
|
|
36
|
-
</div>
|
|
37
|
-
<div class='fl pad1y space-right2'>
|
|
38
|
-
<span class="strong">92.57% </span>
|
|
39
|
-
<span class="quiet">Lines</span>
|
|
40
|
-
<span class='fraction'>162/175</span>
|
|
41
|
-
</div>
|
|
42
|
-
</div>
|
|
43
|
-
</div>
|
|
44
|
-
<div class='status-line high'></div>
|
|
45
|
-
<pre><table class="coverage">
|
|
46
|
-
<tr><td class="line-count quiet">1
|
|
47
|
-
2
|
|
48
|
-
3
|
|
49
|
-
4
|
|
50
|
-
5
|
|
51
|
-
6
|
|
52
|
-
7
|
|
53
|
-
8
|
|
54
|
-
9
|
|
55
|
-
10
|
|
56
|
-
11
|
|
57
|
-
12
|
|
58
|
-
13
|
|
59
|
-
14
|
|
60
|
-
15
|
|
61
|
-
16
|
|
62
|
-
17
|
|
63
|
-
18
|
|
64
|
-
19
|
|
65
|
-
20
|
|
66
|
-
21
|
|
67
|
-
22
|
|
68
|
-
23
|
|
69
|
-
24
|
|
70
|
-
25
|
|
71
|
-
26
|
|
72
|
-
27
|
|
73
|
-
28
|
|
74
|
-
29
|
|
75
|
-
30
|
|
76
|
-
31
|
|
77
|
-
32
|
|
78
|
-
33
|
|
79
|
-
34
|
|
80
|
-
35
|
|
81
|
-
36
|
|
82
|
-
37
|
|
83
|
-
38
|
|
84
|
-
39
|
|
85
|
-
40
|
|
86
|
-
41
|
|
87
|
-
42
|
|
88
|
-
43
|
|
89
|
-
44
|
|
90
|
-
45
|
|
91
|
-
46
|
|
92
|
-
47
|
|
93
|
-
48
|
|
94
|
-
49
|
|
95
|
-
50
|
|
96
|
-
51
|
|
97
|
-
52
|
|
98
|
-
53
|
|
99
|
-
54
|
|
100
|
-
55
|
|
101
|
-
56
|
|
102
|
-
57
|
|
103
|
-
58
|
|
104
|
-
59
|
|
105
|
-
60
|
|
106
|
-
61
|
|
107
|
-
62
|
|
108
|
-
63
|
|
109
|
-
64
|
|
110
|
-
65
|
|
111
|
-
66
|
|
112
|
-
67
|
|
113
|
-
68
|
|
114
|
-
69
|
|
115
|
-
70
|
|
116
|
-
71
|
|
117
|
-
72
|
|
118
|
-
73
|
|
119
|
-
74
|
|
120
|
-
75
|
|
121
|
-
76
|
|
122
|
-
77
|
|
123
|
-
78
|
|
124
|
-
79
|
|
125
|
-
80
|
|
126
|
-
81
|
|
127
|
-
82
|
|
128
|
-
83
|
|
129
|
-
84
|
|
130
|
-
85
|
|
131
|
-
86
|
|
132
|
-
87
|
|
133
|
-
88
|
|
134
|
-
89
|
|
135
|
-
90
|
|
136
|
-
91
|
|
137
|
-
92
|
|
138
|
-
93
|
|
139
|
-
94
|
|
140
|
-
95
|
|
141
|
-
96
|
|
142
|
-
97
|
|
143
|
-
98
|
|
144
|
-
99
|
|
145
|
-
100
|
|
146
|
-
101
|
|
147
|
-
102
|
|
148
|
-
103
|
|
149
|
-
104
|
|
150
|
-
105
|
|
151
|
-
106
|
|
152
|
-
107
|
|
153
|
-
108
|
|
154
|
-
109
|
|
155
|
-
110
|
|
156
|
-
111
|
|
157
|
-
112
|
|
158
|
-
113
|
|
159
|
-
114
|
|
160
|
-
115
|
|
161
|
-
116
|
|
162
|
-
117
|
|
163
|
-
118
|
|
164
|
-
119
|
|
165
|
-
120
|
|
166
|
-
121
|
|
167
|
-
122
|
|
168
|
-
123
|
|
169
|
-
124
|
|
170
|
-
125
|
|
171
|
-
126
|
|
172
|
-
127
|
|
173
|
-
128
|
|
174
|
-
129
|
|
175
|
-
130
|
|
176
|
-
131
|
|
177
|
-
132
|
|
178
|
-
133
|
|
179
|
-
134
|
|
180
|
-
135
|
|
181
|
-
136
|
|
182
|
-
137
|
|
183
|
-
138
|
|
184
|
-
139
|
|
185
|
-
140
|
|
186
|
-
141
|
|
187
|
-
142
|
|
188
|
-
143
|
|
189
|
-
144
|
|
190
|
-
145
|
|
191
|
-
146
|
|
192
|
-
147
|
|
193
|
-
148
|
|
194
|
-
149
|
|
195
|
-
150
|
|
196
|
-
151
|
|
197
|
-
152
|
|
198
|
-
153
|
|
199
|
-
154
|
|
200
|
-
155
|
|
201
|
-
156
|
|
202
|
-
157
|
|
203
|
-
158
|
|
204
|
-
159
|
|
205
|
-
160
|
|
206
|
-
161
|
|
207
|
-
162
|
|
208
|
-
163
|
|
209
|
-
164
|
|
210
|
-
165
|
|
211
|
-
166
|
|
212
|
-
167
|
|
213
|
-
168
|
|
214
|
-
169
|
|
215
|
-
170
|
|
216
|
-
171
|
|
217
|
-
172
|
|
218
|
-
173
|
|
219
|
-
174
|
|
220
|
-
175
|
|
221
|
-
176
|
|
222
|
-
177
|
|
223
|
-
178
|
|
224
|
-
179
|
|
225
|
-
180
|
|
226
|
-
181
|
|
227
|
-
182
|
|
228
|
-
183
|
|
229
|
-
184
|
|
230
|
-
185
|
|
231
|
-
186
|
|
232
|
-
187
|
|
233
|
-
188
|
|
234
|
-
189
|
|
235
|
-
190
|
|
236
|
-
191
|
|
237
|
-
192
|
|
238
|
-
193
|
|
239
|
-
194
|
|
240
|
-
195
|
|
241
|
-
196
|
|
242
|
-
197
|
|
243
|
-
198
|
|
244
|
-
199
|
|
245
|
-
200
|
|
246
|
-
201
|
|
247
|
-
202
|
|
248
|
-
203
|
|
249
|
-
204
|
|
250
|
-
205
|
|
251
|
-
206
|
|
252
|
-
207
|
|
253
|
-
208
|
|
254
|
-
209
|
|
255
|
-
210
|
|
256
|
-
211
|
|
257
|
-
212
|
|
258
|
-
213
|
|
259
|
-
214
|
|
260
|
-
215
|
|
261
|
-
216
|
|
262
|
-
217
|
|
263
|
-
218
|
|
264
|
-
219
|
|
265
|
-
220
|
|
266
|
-
221
|
|
267
|
-
222
|
|
268
|
-
223
|
|
269
|
-
224
|
|
270
|
-
225
|
|
271
|
-
226
|
|
272
|
-
227
|
|
273
|
-
228
|
|
274
|
-
229
|
|
275
|
-
230
|
|
276
|
-
231
|
|
277
|
-
232
|
|
278
|
-
233
|
|
279
|
-
234
|
|
280
|
-
235
|
|
281
|
-
236
|
|
282
|
-
237
|
|
283
|
-
238
|
|
284
|
-
239
|
|
285
|
-
240
|
|
286
|
-
241
|
|
287
|
-
242
|
|
288
|
-
243
|
|
289
|
-
244
|
|
290
|
-
245
|
|
291
|
-
246
|
|
292
|
-
247
|
|
293
|
-
248
|
|
294
|
-
249
|
|
295
|
-
250
|
|
296
|
-
251
|
|
297
|
-
252
|
|
298
|
-
253
|
|
299
|
-
254
|
|
300
|
-
255
|
|
301
|
-
256
|
|
302
|
-
257
|
|
303
|
-
258
|
|
304
|
-
259
|
|
305
|
-
260
|
|
306
|
-
261
|
|
307
|
-
262
|
|
308
|
-
263
|
|
309
|
-
264
|
|
310
|
-
265
|
|
311
|
-
266
|
|
312
|
-
267
|
|
313
|
-
268
|
|
314
|
-
269
|
|
315
|
-
270
|
|
316
|
-
271
|
|
317
|
-
272
|
|
318
|
-
273
|
|
319
|
-
274
|
|
320
|
-
275
|
|
321
|
-
276
|
|
322
|
-
277
|
|
323
|
-
278
|
|
324
|
-
279
|
|
325
|
-
280
|
|
326
|
-
281
|
|
327
|
-
282
|
|
328
|
-
283
|
|
329
|
-
284
|
|
330
|
-
285
|
|
331
|
-
286
|
|
332
|
-
287
|
|
333
|
-
288
|
|
334
|
-
289
|
|
335
|
-
290
|
|
336
|
-
291
|
|
337
|
-
292
|
|
338
|
-
293
|
|
339
|
-
294
|
|
340
|
-
295
|
|
341
|
-
296
|
|
342
|
-
297
|
|
343
|
-
298
|
|
344
|
-
299
|
|
345
|
-
300
|
|
346
|
-
301
|
|
347
|
-
302
|
|
348
|
-
303
|
|
349
|
-
304
|
|
350
|
-
305
|
|
351
|
-
306
|
|
352
|
-
307
|
|
353
|
-
308
|
|
354
|
-
309
|
|
355
|
-
310
|
|
356
|
-
311
|
|
357
|
-
312
|
|
358
|
-
313
|
|
359
|
-
314
|
|
360
|
-
315
|
|
361
|
-
316
|
|
362
|
-
317
|
|
363
|
-
318
|
|
364
|
-
319
|
|
365
|
-
320
|
|
366
|
-
321
|
|
367
|
-
322
|
|
368
|
-
323
|
|
369
|
-
324
|
|
370
|
-
325
|
|
371
|
-
326
|
|
372
|
-
327
|
|
373
|
-
328
|
|
374
|
-
329
|
|
375
|
-
330
|
|
376
|
-
331
|
|
377
|
-
332
|
|
378
|
-
333
|
|
379
|
-
334
|
|
380
|
-
335
|
|
381
|
-
336
|
|
382
|
-
337
|
|
383
|
-
338
|
|
384
|
-
339
|
|
385
|
-
340
|
|
386
|
-
341
|
|
387
|
-
342
|
|
388
|
-
343
|
|
389
|
-
344
|
|
390
|
-
345
|
|
391
|
-
346
|
|
392
|
-
347
|
|
393
|
-
348
|
|
394
|
-
349
|
|
395
|
-
350
|
|
396
|
-
351
|
|
397
|
-
352
|
|
398
|
-
353
|
|
399
|
-
354
|
|
400
|
-
355
|
|
401
|
-
356
|
|
402
|
-
357</td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
403
|
-
<span class="cline-any cline-neutral"> </span>
|
|
404
|
-
<span class="cline-any cline-neutral"> </span>
|
|
405
|
-
<span class="cline-any cline-neutral"> </span>
|
|
406
|
-
<span class="cline-any cline-yes">1×</span>
|
|
407
|
-
<span class="cline-any cline-neutral"> </span>
|
|
408
|
-
<span class="cline-any cline-neutral"> </span>
|
|
409
|
-
<span class="cline-any cline-neutral"> </span>
|
|
410
|
-
<span class="cline-any cline-neutral"> </span>
|
|
411
|
-
<span class="cline-any cline-neutral"> </span>
|
|
412
|
-
<span class="cline-any cline-neutral"> </span>
|
|
413
|
-
<span class="cline-any cline-neutral"> </span>
|
|
414
|
-
<span class="cline-any cline-neutral"> </span>
|
|
415
|
-
<span class="cline-any cline-neutral"> </span>
|
|
416
|
-
<span class="cline-any cline-neutral"> </span>
|
|
417
|
-
<span class="cline-any cline-neutral"> </span>
|
|
418
|
-
<span class="cline-any cline-neutral"> </span>
|
|
419
|
-
<span class="cline-any cline-yes">1×</span>
|
|
420
|
-
<span class="cline-any cline-neutral"> </span>
|
|
421
|
-
<span class="cline-any cline-yes">1×</span>
|
|
422
|
-
<span class="cline-any cline-yes">1×</span>
|
|
423
|
-
<span class="cline-any cline-neutral"> </span>
|
|
424
|
-
<span class="cline-any cline-neutral"> </span>
|
|
425
|
-
<span class="cline-any cline-neutral"> </span>
|
|
426
|
-
<span class="cline-any cline-neutral"> </span>
|
|
427
|
-
<span class="cline-any cline-yes">1×</span>
|
|
428
|
-
<span class="cline-any cline-yes">247×</span>
|
|
429
|
-
<span class="cline-any cline-neutral"> </span>
|
|
430
|
-
<span class="cline-any cline-neutral"> </span>
|
|
431
|
-
<span class="cline-any cline-yes">1×</span>
|
|
432
|
-
<span class="cline-any cline-yes">247×</span>
|
|
433
|
-
<span class="cline-any cline-no"> </span>
|
|
434
|
-
<span class="cline-any cline-neutral"> </span>
|
|
435
|
-
<span class="cline-any cline-neutral"> </span>
|
|
436
|
-
<span class="cline-any cline-yes">247×</span>
|
|
437
|
-
<span class="cline-any cline-yes">247×</span>
|
|
438
|
-
<span class="cline-any cline-yes">247×</span>
|
|
439
|
-
<span class="cline-any cline-yes">247×</span>
|
|
440
|
-
<span class="cline-any cline-yes">247×</span>
|
|
441
|
-
<span class="cline-any cline-yes">247×</span>
|
|
442
|
-
<span class="cline-any cline-yes">247×</span>
|
|
443
|
-
<span class="cline-any cline-yes">247×</span>
|
|
444
|
-
<span class="cline-any cline-yes">247×</span>
|
|
445
|
-
<span class="cline-any cline-yes">247×</span>
|
|
446
|
-
<span class="cline-any cline-yes">247×</span>
|
|
447
|
-
<span class="cline-any cline-yes">247×</span>
|
|
448
|
-
<span class="cline-any cline-yes">247×</span>
|
|
449
|
-
<span class="cline-any cline-yes">247×</span>
|
|
450
|
-
<span class="cline-any cline-yes">247×</span>
|
|
451
|
-
<span class="cline-any cline-neutral"> </span>
|
|
452
|
-
<span class="cline-any cline-yes">247×</span>
|
|
453
|
-
<span class="cline-any cline-yes">245×</span>
|
|
454
|
-
<span class="cline-any cline-yes">245×</span>
|
|
455
|
-
<span class="cline-any cline-yes">245×</span>
|
|
456
|
-
<span class="cline-any cline-yes">245×</span>
|
|
457
|
-
<span class="cline-any cline-neutral"> </span>
|
|
458
|
-
<span class="cline-any cline-neutral"> </span>
|
|
459
|
-
<span class="cline-any cline-neutral"> </span>
|
|
460
|
-
<span class="cline-any cline-yes">1×</span>
|
|
461
|
-
<span class="cline-any cline-neutral"> </span>
|
|
462
|
-
<span class="cline-any cline-yes">1×</span>
|
|
463
|
-
<span class="cline-any cline-yes">262×</span>
|
|
464
|
-
<span class="cline-any cline-yes">256×</span>
|
|
465
|
-
<span class="cline-any cline-neutral"> </span>
|
|
466
|
-
<span class="cline-any cline-yes">262×</span>
|
|
467
|
-
<span class="cline-any cline-yes">262×</span>
|
|
468
|
-
<span class="cline-any cline-neutral"> </span>
|
|
469
|
-
<span class="cline-any cline-neutral"> </span>
|
|
470
|
-
<span class="cline-any cline-neutral"> </span>
|
|
471
|
-
<span class="cline-any cline-neutral"> </span>
|
|
472
|
-
<span class="cline-any cline-neutral"> </span>
|
|
473
|
-
<span class="cline-any cline-neutral"> </span>
|
|
474
|
-
<span class="cline-any cline-yes">1×</span>
|
|
475
|
-
<span class="cline-any cline-yes">228×</span>
|
|
476
|
-
<span class="cline-any cline-no"> </span>
|
|
477
|
-
<span class="cline-any cline-neutral"> </span>
|
|
478
|
-
<span class="cline-any cline-yes">228×</span>
|
|
479
|
-
<span class="cline-any cline-yes">228×</span>
|
|
480
|
-
<span class="cline-any cline-yes">228×</span>
|
|
481
|
-
<span class="cline-any cline-yes">228×</span>
|
|
482
|
-
<span class="cline-any cline-yes">223×</span>
|
|
483
|
-
<span class="cline-any cline-neutral"> </span>
|
|
484
|
-
<span class="cline-any cline-neutral"> </span>
|
|
485
|
-
<span class="cline-any cline-neutral"> </span>
|
|
486
|
-
<span class="cline-any cline-neutral"> </span>
|
|
487
|
-
<span class="cline-any cline-yes">1×</span>
|
|
488
|
-
<span class="cline-any cline-yes">262×</span>
|
|
489
|
-
<span class="cline-any cline-neutral"> </span>
|
|
490
|
-
<span class="cline-any cline-yes">262×</span>
|
|
491
|
-
<span class="cline-any cline-yes">262×</span>
|
|
492
|
-
<span class="cline-any cline-neutral"> </span>
|
|
493
|
-
<span class="cline-any cline-neutral"> </span>
|
|
494
|
-
<span class="cline-any cline-yes">1×</span>
|
|
495
|
-
<span class="cline-any cline-yes">192×</span>
|
|
496
|
-
<span class="cline-any cline-neutral"> </span>
|
|
497
|
-
<span class="cline-any cline-neutral"> </span>
|
|
498
|
-
<span class="cline-any cline-yes">1×</span>
|
|
499
|
-
<span class="cline-any cline-yes">44×</span>
|
|
500
|
-
<span class="cline-any cline-neutral"> </span>
|
|
501
|
-
<span class="cline-any cline-neutral"> </span>
|
|
502
|
-
<span class="cline-any cline-yes">1×</span>
|
|
503
|
-
<span class="cline-any cline-yes">4×</span>
|
|
504
|
-
<span class="cline-any cline-neutral"> </span>
|
|
505
|
-
<span class="cline-any cline-neutral"> </span>
|
|
506
|
-
<span class="cline-any cline-yes">1×</span>
|
|
507
|
-
<span class="cline-any cline-yes">1×</span>
|
|
508
|
-
<span class="cline-any cline-neutral"> </span>
|
|
509
|
-
<span class="cline-any cline-neutral"> </span>
|
|
510
|
-
<span class="cline-any cline-yes">1×</span>
|
|
511
|
-
<span class="cline-any cline-no"> </span>
|
|
512
|
-
<span class="cline-any cline-neutral"> </span>
|
|
513
|
-
<span class="cline-any cline-neutral"> </span>
|
|
514
|
-
<span class="cline-any cline-yes">1×</span>
|
|
515
|
-
<span class="cline-any cline-no"> </span>
|
|
516
|
-
<span class="cline-any cline-neutral"> </span>
|
|
517
|
-
<span class="cline-any cline-neutral"> </span>
|
|
518
|
-
<span class="cline-any cline-yes">1×</span>
|
|
519
|
-
<span class="cline-any cline-yes">1×</span>
|
|
520
|
-
<span class="cline-any cline-neutral"> </span>
|
|
521
|
-
<span class="cline-any cline-neutral"> </span>
|
|
522
|
-
<span class="cline-any cline-yes">1×</span>
|
|
523
|
-
<span class="cline-any cline-yes">109×</span>
|
|
524
|
-
<span class="cline-any cline-neutral"> </span>
|
|
525
|
-
<span class="cline-any cline-neutral"> </span>
|
|
526
|
-
<span class="cline-any cline-yes">1×</span>
|
|
527
|
-
<span class="cline-any cline-yes">125×</span>
|
|
528
|
-
<span class="cline-any cline-neutral"> </span>
|
|
529
|
-
<span class="cline-any cline-yes">125×</span>
|
|
530
|
-
<span class="cline-any cline-neutral"> </span>
|
|
531
|
-
<span class="cline-any cline-yes">124×</span>
|
|
532
|
-
<span class="cline-any cline-yes">124×</span>
|
|
533
|
-
<span class="cline-any cline-yes">109×</span>
|
|
534
|
-
<span class="cline-any cline-neutral"> </span>
|
|
535
|
-
<span class="cline-any cline-yes">15×</span>
|
|
536
|
-
<span class="cline-any cline-neutral"> </span>
|
|
537
|
-
<span class="cline-any cline-yes">15×</span>
|
|
538
|
-
<span class="cline-any cline-yes">15×</span>
|
|
539
|
-
<span class="cline-any cline-neutral"> </span>
|
|
540
|
-
<span class="cline-any cline-yes">15×</span>
|
|
541
|
-
<span class="cline-any cline-yes">16×</span>
|
|
542
|
-
<span class="cline-any cline-yes">16×</span>
|
|
543
|
-
<span class="cline-any cline-yes">2×</span>
|
|
544
|
-
<span class="cline-any cline-yes">14×</span>
|
|
545
|
-
<span class="cline-any cline-yes">2×</span>
|
|
546
|
-
<span class="cline-any cline-neutral"> </span>
|
|
547
|
-
<span class="cline-any cline-neutral"> </span>
|
|
548
|
-
<span class="cline-any cline-neutral"> </span>
|
|
549
|
-
<span class="cline-any cline-yes">15×</span>
|
|
550
|
-
<span class="cline-any cline-yes">3×</span>
|
|
551
|
-
<span class="cline-any cline-neutral"> </span>
|
|
552
|
-
<span class="cline-any cline-neutral"> </span>
|
|
553
|
-
<span class="cline-any cline-yes">15×</span>
|
|
554
|
-
<span class="cline-any cline-neutral"> </span>
|
|
555
|
-
<span class="cline-any cline-neutral"> </span>
|
|
556
|
-
<span class="cline-any cline-neutral"> </span>
|
|
557
|
-
<span class="cline-any cline-yes">1×</span>
|
|
558
|
-
<span class="cline-any cline-yes">101×</span>
|
|
559
|
-
<span class="cline-any cline-neutral"> </span>
|
|
560
|
-
<span class="cline-any cline-neutral"> </span>
|
|
561
|
-
<span class="cline-any cline-yes">1×</span>
|
|
562
|
-
<span class="cline-any cline-yes">9×</span>
|
|
563
|
-
<span class="cline-any cline-neutral"> </span>
|
|
564
|
-
<span class="cline-any cline-yes">9×</span>
|
|
565
|
-
<span class="cline-any cline-yes">6×</span>
|
|
566
|
-
<span class="cline-any cline-yes">8×</span>
|
|
567
|
-
<span class="cline-any cline-yes">8×</span>
|
|
568
|
-
<span class="cline-any cline-neutral"> </span>
|
|
569
|
-
<span class="cline-any cline-yes">8×</span>
|
|
570
|
-
<span class="cline-any cline-neutral"> </span>
|
|
571
|
-
<span class="cline-any cline-yes">3×</span>
|
|
572
|
-
<span class="cline-any cline-yes">3×</span>
|
|
573
|
-
<span class="cline-any cline-neutral"> </span>
|
|
574
|
-
<span class="cline-any cline-neutral"> </span>
|
|
575
|
-
<span class="cline-any cline-neutral"> </span>
|
|
576
|
-
<span class="cline-any cline-yes">1×</span>
|
|
577
|
-
<span class="cline-any cline-yes">3×</span>
|
|
578
|
-
<span class="cline-any cline-yes">3×</span>
|
|
579
|
-
<span class="cline-any cline-no"> </span>
|
|
580
|
-
<span class="cline-any cline-neutral"> </span>
|
|
581
|
-
<span class="cline-any cline-yes">3×</span>
|
|
582
|
-
<span class="cline-any cline-neutral"> </span>
|
|
583
|
-
<span class="cline-any cline-neutral"> </span>
|
|
584
|
-
<span class="cline-any cline-yes">1×</span>
|
|
585
|
-
<span class="cline-any cline-yes">6×</span>
|
|
586
|
-
<span class="cline-any cline-yes">6×</span>
|
|
587
|
-
<span class="cline-any cline-no"> </span>
|
|
588
|
-
<span class="cline-any cline-neutral"> </span>
|
|
589
|
-
<span class="cline-any cline-yes">6×</span>
|
|
590
|
-
<span class="cline-any cline-neutral"> </span>
|
|
591
|
-
<span class="cline-any cline-neutral"> </span>
|
|
592
|
-
<span class="cline-any cline-yes">1×</span>
|
|
593
|
-
<span class="cline-any cline-neutral"> </span>
|
|
594
|
-
<span class="cline-any cline-yes">3×</span>
|
|
595
|
-
<span class="cline-any cline-yes">3×</span>
|
|
596
|
-
<span class="cline-any cline-neutral"> </span>
|
|
597
|
-
<span class="cline-any cline-neutral"> </span>
|
|
598
|
-
<span class="cline-any cline-yes">1×</span>
|
|
599
|
-
<span class="cline-any cline-yes">2×</span>
|
|
600
|
-
<span class="cline-any cline-yes">2×</span>
|
|
601
|
-
<span class="cline-any cline-neutral"> </span>
|
|
602
|
-
<span class="cline-any cline-neutral"> </span>
|
|
603
|
-
<span class="cline-any cline-yes">1×</span>
|
|
604
|
-
<span class="cline-any cline-no"> </span>
|
|
605
|
-
<span class="cline-any cline-no"> </span>
|
|
606
|
-
<span class="cline-any cline-neutral"> </span>
|
|
607
|
-
<span class="cline-any cline-neutral"> </span>
|
|
608
|
-
<span class="cline-any cline-yes">1×</span>
|
|
609
|
-
<span class="cline-any cline-yes">2×</span>
|
|
610
|
-
<span class="cline-any cline-yes">2×</span>
|
|
611
|
-
<span class="cline-any cline-neutral"> </span>
|
|
612
|
-
<span class="cline-any cline-neutral"> </span>
|
|
613
|
-
<span class="cline-any cline-yes">1×</span>
|
|
614
|
-
<span class="cline-any cline-yes">720×</span>
|
|
615
|
-
<span class="cline-any cline-neutral"> </span>
|
|
616
|
-
<span class="cline-any cline-neutral"> </span>
|
|
617
|
-
<span class="cline-any cline-yes">1×</span>
|
|
618
|
-
<span class="cline-any cline-yes">2×</span>
|
|
619
|
-
<span class="cline-any cline-yes">2×</span>
|
|
620
|
-
<span class="cline-any cline-neutral"> </span>
|
|
621
|
-
<span class="cline-any cline-neutral"> </span>
|
|
622
|
-
<span class="cline-any cline-yes">1×</span>
|
|
623
|
-
<span class="cline-any cline-yes">1×</span>
|
|
624
|
-
<span class="cline-any cline-yes">1×</span>
|
|
625
|
-
<span class="cline-any cline-neutral"> </span>
|
|
626
|
-
<span class="cline-any cline-neutral"> </span>
|
|
627
|
-
<span class="cline-any cline-neutral"> </span>
|
|
628
|
-
<span class="cline-any cline-neutral"> </span>
|
|
629
|
-
<span class="cline-any cline-neutral"> </span>
|
|
630
|
-
<span class="cline-any cline-yes">1×</span>
|
|
631
|
-
<span class="cline-any cline-yes">26×</span>
|
|
632
|
-
<span class="cline-any cline-yes">26×</span>
|
|
633
|
-
<span class="cline-any cline-neutral"> </span>
|
|
634
|
-
<span class="cline-any cline-neutral"> </span>
|
|
635
|
-
<span class="cline-any cline-yes">1×</span>
|
|
636
|
-
<span class="cline-any cline-yes">6×</span>
|
|
637
|
-
<span class="cline-any cline-no"> </span>
|
|
638
|
-
<span class="cline-any cline-neutral"> </span>
|
|
639
|
-
<span class="cline-any cline-neutral"> </span>
|
|
640
|
-
<span class="cline-any cline-yes">6×</span>
|
|
641
|
-
<span class="cline-any cline-yes">6×</span>
|
|
642
|
-
<span class="cline-any cline-neutral"> </span>
|
|
643
|
-
<span class="cline-any cline-neutral"> </span>
|
|
644
|
-
<span class="cline-any cline-yes">1×</span>
|
|
645
|
-
<span class="cline-any cline-yes">1×</span>
|
|
646
|
-
<span class="cline-any cline-neutral"> </span>
|
|
647
|
-
<span class="cline-any cline-neutral"> </span>
|
|
648
|
-
<span class="cline-any cline-yes">1×</span>
|
|
649
|
-
<span class="cline-any cline-neutral"> </span>
|
|
650
|
-
<span class="cline-any cline-yes">20×</span>
|
|
651
|
-
<span class="cline-any cline-neutral"> </span>
|
|
652
|
-
<span class="cline-any cline-yes">1×</span>
|
|
653
|
-
<span class="cline-any cline-yes">1×</span>
|
|
654
|
-
<span class="cline-any cline-yes">1×</span>
|
|
655
|
-
<span class="cline-any cline-neutral"> </span>
|
|
656
|
-
<span class="cline-any cline-neutral"> </span>
|
|
657
|
-
<span class="cline-any cline-neutral"> </span>
|
|
658
|
-
<span class="cline-any cline-yes">19×</span>
|
|
659
|
-
<span class="cline-any cline-yes">19×</span>
|
|
660
|
-
<span class="cline-any cline-neutral"> </span>
|
|
661
|
-
<span class="cline-any cline-neutral"> </span>
|
|
662
|
-
<span class="cline-any cline-yes">1×</span>
|
|
663
|
-
<span class="cline-any cline-neutral"> </span>
|
|
664
|
-
<span class="cline-any cline-neutral"> </span>
|
|
665
|
-
<span class="cline-any cline-yes">20×</span>
|
|
666
|
-
<span class="cline-any cline-neutral"> </span>
|
|
667
|
-
<span class="cline-any cline-yes">1×</span>
|
|
668
|
-
<span class="cline-any cline-yes">1×</span>
|
|
669
|
-
<span class="cline-any cline-yes">1×</span>
|
|
670
|
-
<span class="cline-any cline-neutral"> </span>
|
|
671
|
-
<span class="cline-any cline-no"> </span>
|
|
672
|
-
<span class="cline-any cline-no"> </span>
|
|
673
|
-
<span class="cline-any cline-neutral"> </span>
|
|
674
|
-
<span class="cline-any cline-neutral"> </span>
|
|
675
|
-
<span class="cline-any cline-neutral"> </span>
|
|
676
|
-
<span class="cline-any cline-neutral"> </span>
|
|
677
|
-
<span class="cline-any cline-yes">19×</span>
|
|
678
|
-
<span class="cline-any cline-neutral"> </span>
|
|
679
|
-
<span class="cline-any cline-neutral"> </span>
|
|
680
|
-
<span class="cline-any cline-yes">1×</span>
|
|
681
|
-
<span class="cline-any cline-yes">13×</span>
|
|
682
|
-
<span class="cline-any cline-yes">13×</span>
|
|
683
|
-
<span class="cline-any cline-neutral"> </span>
|
|
684
|
-
<span class="cline-any cline-yes">12×</span>
|
|
685
|
-
<span class="cline-any cline-neutral"> </span>
|
|
686
|
-
<span class="cline-any cline-neutral"> </span>
|
|
687
|
-
<span class="cline-any cline-neutral"> </span>
|
|
688
|
-
<span class="cline-any cline-yes">1×</span>
|
|
689
|
-
<span class="cline-any cline-neutral"> </span>
|
|
690
|
-
<span class="cline-any cline-yes">15×</span>
|
|
691
|
-
<span class="cline-any cline-neutral"> </span>
|
|
692
|
-
<span class="cline-any cline-yes">15×</span>
|
|
693
|
-
<span class="cline-any cline-neutral"> </span>
|
|
694
|
-
<span class="cline-any cline-yes">20×</span>
|
|
695
|
-
<span class="cline-any cline-neutral"> </span>
|
|
696
|
-
<span class="cline-any cline-neutral"> </span>
|
|
697
|
-
<span class="cline-any cline-neutral"> </span>
|
|
698
|
-
<span class="cline-any cline-neutral"> </span>
|
|
699
|
-
<span class="cline-any cline-neutral"> </span>
|
|
700
|
-
<span class="cline-any cline-neutral"> </span>
|
|
701
|
-
<span class="cline-any cline-neutral"> </span>
|
|
702
|
-
<span class="cline-any cline-neutral"> </span>
|
|
703
|
-
<span class="cline-any cline-neutral"> </span>
|
|
704
|
-
<span class="cline-any cline-neutral"> </span>
|
|
705
|
-
<span class="cline-any cline-neutral"> </span>
|
|
706
|
-
<span class="cline-any cline-yes">20×</span>
|
|
707
|
-
<span class="cline-any cline-yes">20×</span>
|
|
708
|
-
<span class="cline-any cline-neutral"> </span>
|
|
709
|
-
<span class="cline-any cline-neutral"> </span>
|
|
710
|
-
<span class="cline-any cline-neutral"> </span>
|
|
711
|
-
<span class="cline-any cline-yes">20×</span>
|
|
712
|
-
<span class="cline-any cline-yes">20×</span>
|
|
713
|
-
<span class="cline-any cline-yes">3×</span>
|
|
714
|
-
<span class="cline-any cline-neutral"> </span>
|
|
715
|
-
<span class="cline-any cline-yes">17×</span>
|
|
716
|
-
<span class="cline-any cline-neutral"> </span>
|
|
717
|
-
<span class="cline-any cline-neutral"> </span>
|
|
718
|
-
<span class="cline-any cline-yes">20×</span>
|
|
719
|
-
<span class="cline-any cline-yes">20×</span>
|
|
720
|
-
<span class="cline-any cline-no"> </span>
|
|
721
|
-
<span class="cline-any cline-no"> </span>
|
|
722
|
-
<span class="cline-any cline-neutral"> </span>
|
|
723
|
-
<span class="cline-any cline-neutral"> </span>
|
|
724
|
-
<span class="cline-any cline-yes">20×</span>
|
|
725
|
-
<span class="cline-any cline-neutral"> </span>
|
|
726
|
-
<span class="cline-any cline-yes">20×</span>
|
|
727
|
-
<span class="cline-any cline-yes">1×</span>
|
|
728
|
-
<span class="cline-any cline-yes">2×</span>
|
|
729
|
-
<span class="cline-any cline-neutral"> </span>
|
|
730
|
-
<span class="cline-any cline-neutral"> </span>
|
|
731
|
-
<span class="cline-any cline-yes">20×</span>
|
|
732
|
-
<span class="cline-any cline-yes">1×</span>
|
|
733
|
-
<span class="cline-any cline-neutral"> </span>
|
|
734
|
-
<span class="cline-any cline-yes">20×</span>
|
|
735
|
-
<span class="cline-any cline-neutral"> </span>
|
|
736
|
-
<span class="cline-any cline-neutral"> </span>
|
|
737
|
-
<span class="cline-any cline-yes">20×</span>
|
|
738
|
-
<span class="cline-any cline-neutral"> </span>
|
|
739
|
-
<span class="cline-any cline-neutral"> </span>
|
|
740
|
-
<span class="cline-any cline-neutral"> </span>
|
|
741
|
-
<span class="cline-any cline-yes">15×</span>
|
|
742
|
-
<span class="cline-any cline-neutral"> </span>
|
|
743
|
-
<span class="cline-any cline-neutral"> </span>
|
|
744
|
-
<span class="cline-any cline-yes">1×</span>
|
|
745
|
-
<span class="cline-any cline-neutral"> </span>
|
|
746
|
-
<span class="cline-any cline-neutral"> </span>
|
|
747
|
-
<span class="cline-any cline-neutral"> </span>
|
|
748
|
-
<span class="cline-any cline-neutral"> </span>
|
|
749
|
-
<span class="cline-any cline-neutral"> </span>
|
|
750
|
-
<span class="cline-any cline-neutral"> </span>
|
|
751
|
-
<span class="cline-any cline-neutral"> </span>
|
|
752
|
-
<span class="cline-any cline-neutral"> </span>
|
|
753
|
-
<span class="cline-any cline-neutral"> </span>
|
|
754
|
-
<span class="cline-any cline-neutral"> </span>
|
|
755
|
-
<span class="cline-any cline-neutral"> </span>
|
|
756
|
-
<span class="cline-any cline-neutral"> </span>
|
|
757
|
-
<span class="cline-any cline-neutral"> </span>
|
|
758
|
-
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">/* jshint strict:false */
|
|
759
|
-
/**
|
|
760
|
-
* @module nock/scope
|
|
761
|
-
*/
|
|
762
|
-
var globalIntercept = require('./intercept')
|
|
763
|
-
, common = require('./common')
|
|
764
|
-
, assert = require('assert')
|
|
765
|
-
, url = require('url')
|
|
766
|
-
, _ = require('lodash')
|
|
767
|
-
, debug = require('debug')('nock.scope')
|
|
768
|
-
, stringify = require('json-stringify-safe')
|
|
769
|
-
, EventEmitter = require('events').EventEmitter
|
|
770
|
-
, extend = require('util')._extend
|
|
771
|
-
, globalEmitter = require('./global_emitter')
|
|
772
|
-
, util = require('util')
|
|
773
|
-
, Interceptor = require('./interceptor') ;
|
|
774
|
-
|
|
775
|
-
var fs;
|
|
776
|
-
|
|
777
|
-
try {
|
|
778
|
-
fs = require('fs');
|
|
779
|
-
} catch(err) {
|
|
780
|
-
// do nothing, we're in the browser
|
|
781
|
-
}
|
|
782
|
-
|
|
783
|
-
function startScope(basePath, options) {
|
|
784
|
-
return new Scope(basePath, options);
|
|
785
|
-
}
|
|
786
|
-
|
|
787
|
-
function Scope(basePath, options) {
|
|
788
|
-
<span class="missing-if-branch" title="if path not taken" >I</span>if (!(this instanceof Scope)) {
|
|
789
|
-
<span class="cstat-no" title="statement not covered" > return new Scope(basePath, options);</span>
|
|
790
|
-
}
|
|
791
|
-
|
|
792
|
-
EventEmitter.apply(this);
|
|
793
|
-
this.keyedInterceptors = {};
|
|
794
|
-
this.interceptors = [];
|
|
795
|
-
this.transformPathFunction = null;
|
|
796
|
-
this.transformRequestBodyFunction = null;
|
|
797
|
-
this.matchHeaders = [];
|
|
798
|
-
this.logger = debug;
|
|
799
|
-
this.scopeOptions = options || {};
|
|
800
|
-
this.urlParts = {};
|
|
801
|
-
this._persist = false;
|
|
802
|
-
this.contentLen = false;
|
|
803
|
-
this.date = null;
|
|
804
|
-
this.basePath = basePath;
|
|
805
|
-
this.basePathname = '';
|
|
806
|
-
this.port = null;
|
|
807
|
-
|
|
808
|
-
if (!(basePath instanceof RegExp)) {
|
|
809
|
-
this.urlParts = url.parse(basePath);
|
|
810
|
-
this.port = this.urlParts.port || ((this.urlParts.protocol === 'http:') ? 80 : 443);
|
|
811
|
-
this.basePathname = this.urlParts.pathname.replace(/\/$/, '');
|
|
812
|
-
this.basePath = this.urlParts.protocol + '//' + this.urlParts.hostname + ':' + this.port;
|
|
813
|
-
}
|
|
814
|
-
}
|
|
815
|
-
|
|
816
|
-
util.inherits(Scope, EventEmitter);
|
|
817
|
-
|
|
818
|
-
Scope.prototype.add = function add(key, interceptor, scope) {
|
|
819
|
-
if (! this.keyedInterceptors.hasOwnProperty(key)) {
|
|
820
|
-
this.keyedInterceptors[key] = [];
|
|
821
|
-
}
|
|
822
|
-
this.keyedInterceptors[key].push(interceptor);
|
|
823
|
-
globalIntercept(this.basePath,
|
|
824
|
-
interceptor,
|
|
825
|
-
this,
|
|
826
|
-
this.scopeOptions,
|
|
827
|
-
this.urlParts.hostname);
|
|
828
|
-
};
|
|
829
|
-
|
|
830
|
-
Scope.prototype.remove = function remove(key, interceptor) {
|
|
831
|
-
<span class="missing-if-branch" title="if path not taken" >I</span>if (this._persist) {
|
|
832
|
-
<span class="cstat-no" title="statement not covered" > return;</span>
|
|
833
|
-
}
|
|
834
|
-
var arr = this.keyedInterceptors[key];
|
|
835
|
-
<span class="missing-if-branch" title="else path not taken" >E</span>if (arr) {
|
|
836
|
-
arr.splice(arr.indexOf(interceptor), 1);
|
|
837
|
-
if (arr.length === 0) {
|
|
838
|
-
delete this.keyedInterceptors[key];
|
|
839
|
-
}
|
|
840
|
-
}
|
|
841
|
-
};
|
|
842
|
-
|
|
843
|
-
Scope.prototype.intercept = function intercept(uri, method, requestBody, interceptorOptions) {
|
|
844
|
-
var ic = new Interceptor(this, uri, method, requestBody, interceptorOptions);
|
|
845
|
-
|
|
846
|
-
this.interceptors.push(ic);
|
|
847
|
-
return ic;
|
|
848
|
-
};
|
|
849
|
-
|
|
850
|
-
Scope.prototype.get = function get(uri, requestBody, options) {
|
|
851
|
-
return this.intercept(uri, 'GET', requestBody, options);
|
|
852
|
-
};
|
|
853
|
-
|
|
854
|
-
Scope.prototype.post = function post(uri, requestBody, options) {
|
|
855
|
-
return this.intercept(uri, 'POST', requestBody, options);
|
|
856
|
-
};
|
|
857
|
-
|
|
858
|
-
Scope.prototype.put = function put(uri, requestBody, options) {
|
|
859
|
-
return this.intercept(uri, 'PUT', requestBody, options);
|
|
860
|
-
};
|
|
861
|
-
|
|
862
|
-
Scope.prototype.head = function head(uri, requestBody, options) {
|
|
863
|
-
return this.intercept(uri, 'HEAD', requestBody, options);
|
|
864
|
-
};
|
|
865
|
-
|
|
866
|
-
Scope.prototype.patch = <span class="fstat-no" title="function not covered" >function patch(uri, requestBody, options) {</span>
|
|
867
|
-
<span class="cstat-no" title="statement not covered" > return this.intercept(uri, 'PATCH', requestBody, options);</span>
|
|
868
|
-
};
|
|
869
|
-
|
|
870
|
-
Scope.prototype.merge = <span class="fstat-no" title="function not covered" >function merge(uri, requestBody, options) {</span>
|
|
871
|
-
<span class="cstat-no" title="statement not covered" > return this.intercept(uri, 'MERGE', requestBody, options);</span>
|
|
872
|
-
};
|
|
873
|
-
|
|
874
|
-
Scope.prototype.delete = function _delete(uri, requestBody, options) {
|
|
875
|
-
return this.intercept(uri, 'DELETE', requestBody, options);
|
|
876
|
-
};
|
|
877
|
-
|
|
878
|
-
Scope.prototype.pendingMocks = function pendingMocks() {
|
|
879
|
-
return Object.keys(this.keyedInterceptors);
|
|
880
|
-
};
|
|
881
|
-
|
|
882
|
-
Scope.prototype.isDone = function isDone() {
|
|
883
|
-
var self = this;
|
|
884
|
-
// if nock is turned off, it always says it's done
|
|
885
|
-
if (! globalIntercept.isOn()) { return true; }
|
|
886
|
-
|
|
887
|
-
var keys = Object.keys(this.keyedInterceptors);
|
|
888
|
-
if (keys.length === 0) {
|
|
889
|
-
return true;
|
|
890
|
-
} else {
|
|
891
|
-
var doneHostCount = 0;
|
|
892
|
-
|
|
893
|
-
keys.forEach(function(key) {
|
|
894
|
-
var doneInterceptorCount = 0;
|
|
895
|
-
|
|
896
|
-
self.keyedInterceptors[key].forEach(function(interceptor) {
|
|
897
|
-
var isRequireDoneDefined = !_.isUndefined(interceptor.options.requireDone);
|
|
898
|
-
if (isRequireDoneDefined && interceptor.options.requireDone === false) {
|
|
899
|
-
doneInterceptorCount += 1;
|
|
900
|
-
} else if (self._persist && interceptor.interceptionCounter > 0) {
|
|
901
|
-
doneInterceptorCount += 1;
|
|
902
|
-
}
|
|
903
|
-
});
|
|
904
|
-
|
|
905
|
-
if (doneInterceptorCount === self.keyedInterceptors[key].length ) {
|
|
906
|
-
doneHostCount += 1;
|
|
907
|
-
}
|
|
908
|
-
});
|
|
909
|
-
return (doneHostCount === keys.length);
|
|
910
|
-
}
|
|
911
|
-
};
|
|
912
|
-
|
|
913
|
-
Scope.prototype.done = function done() {
|
|
914
|
-
assert.ok(this.isDone(), "Mocks not yet satisfied:\n" + this.pendingMocks().join("\n"));
|
|
915
|
-
};
|
|
916
|
-
|
|
917
|
-
Scope.prototype.buildFilter = function buildFilter() {
|
|
918
|
-
var filteringArguments = arguments;
|
|
919
|
-
|
|
920
|
-
if (arguments[0] instanceof RegExp) {
|
|
921
|
-
return function(candidate) {
|
|
922
|
-
<span class="missing-if-branch" title="else path not taken" >E</span>if (candidate) {
|
|
923
|
-
candidate = candidate.replace(filteringArguments[0], filteringArguments[1]);
|
|
924
|
-
}
|
|
925
|
-
return candidate;
|
|
926
|
-
};
|
|
927
|
-
} else <span class="missing-if-branch" title="else path not taken" >E</span>if (_.isFunction(arguments[0])) {
|
|
928
|
-
return arguments[0];
|
|
929
|
-
}
|
|
930
|
-
};
|
|
931
|
-
|
|
932
|
-
Scope.prototype.filteringPath = function filteringPath() {
|
|
933
|
-
this.transformPathFunction = this.buildFilter.apply(this, arguments);
|
|
934
|
-
<span class="missing-if-branch" title="if path not taken" >I</span>if (!this.transformPathFunction) {
|
|
935
|
-
<span class="cstat-no" title="statement not covered" > throw new Error('Invalid arguments: filtering path should be a function or a regular expression');</span>
|
|
936
|
-
}
|
|
937
|
-
return this;
|
|
938
|
-
};
|
|
939
|
-
|
|
940
|
-
Scope.prototype.filteringRequestBody = function filteringRequestBody() {
|
|
941
|
-
this.transformRequestBodyFunction = this.buildFilter.apply(this, arguments);
|
|
942
|
-
<span class="missing-if-branch" title="if path not taken" >I</span>if (!this.transformRequestBodyFunction) {
|
|
943
|
-
<span class="cstat-no" title="statement not covered" > throw new Error('Invalid arguments: filtering request body should be a function or a regular expression');</span>
|
|
944
|
-
}
|
|
945
|
-
return this;
|
|
946
|
-
};
|
|
947
|
-
|
|
948
|
-
Scope.prototype.matchHeader = function matchHeader(name, value) {
|
|
949
|
-
// We use lower-case header field names throughout Nock.
|
|
950
|
-
this.matchHeaders.push({ name: name.toLowerCase(), value: value });
|
|
951
|
-
return this;
|
|
952
|
-
};
|
|
953
|
-
|
|
954
|
-
Scope.prototype.defaultReplyHeaders = function defaultReplyHeaders(headers) {
|
|
955
|
-
this._defaultReplyHeaders = common.headersFieldNamesToLowerCase(headers);
|
|
956
|
-
return this;
|
|
957
|
-
};
|
|
958
|
-
|
|
959
|
-
Scope.prototype.log = <span class="fstat-no" title="function not covered" >function log(newLogger) {</span>
|
|
960
|
-
<span class="cstat-no" title="statement not covered" > this.logger = newLogger;</span>
|
|
961
|
-
<span class="cstat-no" title="statement not covered" > return this;</span>
|
|
962
|
-
};
|
|
963
|
-
|
|
964
|
-
Scope.prototype.persist = function persist() {
|
|
965
|
-
this._persist = true;
|
|
966
|
-
return this;
|
|
967
|
-
};
|
|
968
|
-
|
|
969
|
-
Scope.prototype.shouldPersist = function shouldPersist() {
|
|
970
|
-
return this._persist;
|
|
971
|
-
};
|
|
972
|
-
|
|
973
|
-
Scope.prototype.replyContentLength = function replyContentLength() {
|
|
974
|
-
this.contentLen = true;
|
|
975
|
-
return this;
|
|
976
|
-
};
|
|
977
|
-
|
|
978
|
-
Scope.prototype.replyDate = function replyDate(d) {
|
|
979
|
-
this.date = d || <span class="branch-1 cbranch-no" title="branch not covered" >new Date();</span>
|
|
980
|
-
return this;
|
|
981
|
-
};
|
|
982
|
-
|
|
983
|
-
|
|
984
|
-
|
|
985
|
-
|
|
986
|
-
function cleanAll() {
|
|
987
|
-
globalIntercept.removeAll();
|
|
988
|
-
return module.exports;
|
|
989
|
-
}
|
|
990
|
-
|
|
991
|
-
function loadDefs(path) {
|
|
992
|
-
<span class="missing-if-branch" title="if path not taken" >I</span>if (! fs) {
|
|
993
|
-
<span class="cstat-no" title="statement not covered" > throw new Error('No fs');</span>
|
|
994
|
-
}
|
|
995
|
-
|
|
996
|
-
var contents = fs.readFileSync(path);
|
|
997
|
-
return JSON.parse(contents);
|
|
998
|
-
}
|
|
999
|
-
|
|
1000
|
-
function load(path) {
|
|
1001
|
-
return define(loadDefs(path));
|
|
1002
|
-
}
|
|
1003
|
-
|
|
1004
|
-
function getStatusFromDefinition(nockDef) {
|
|
1005
|
-
// Backward compatibility for when `status` was encoded as string in `reply`.
|
|
1006
|
-
if (!_.isUndefined(nockDef.reply)) {
|
|
1007
|
-
// Try parsing `reply` property.
|
|
1008
|
-
var parsedReply = parseInt(nockDef.reply, 10);
|
|
1009
|
-
<span class="missing-if-branch" title="else path not taken" >E</span>if (_.isNumber(parsedReply)) {
|
|
1010
|
-
return parsedReply;
|
|
1011
|
-
}
|
|
1012
|
-
}
|
|
1013
|
-
|
|
1014
|
-
var DEFAULT_STATUS_OK = 200;
|
|
1015
|
-
return nockDef.status || <span class="branch-1 cbranch-no" title="branch not covered" >DEFAULT_STATUS_OK;</span>
|
|
1016
|
-
}
|
|
1017
|
-
|
|
1018
|
-
function getScopeFromDefinition(nockDef) {
|
|
1019
|
-
|
|
1020
|
-
// Backward compatibility for when `port` was part of definition.
|
|
1021
|
-
if (!_.isUndefined(nockDef.port)) {
|
|
1022
|
-
// Include `port` into scope if it doesn't exist.
|
|
1023
|
-
var options = url.parse(nockDef.scope);
|
|
1024
|
-
<span class="missing-if-branch" title="else path not taken" >E</span>if (_.isNull(options.port)) {
|
|
1025
|
-
return nockDef.scope + ':' + nockDef.port;
|
|
1026
|
-
} else {
|
|
1027
|
-
<span class="cstat-no" title="statement not covered" > if (parseInt(options.port) !== parseInt(nockDef.port)) {</span>
|
|
1028
|
-
<span class="cstat-no" title="statement not covered" > throw new Error('Mismatched port numbers in scope and port properties of nock definition.');</span>
|
|
1029
|
-
}
|
|
1030
|
-
}
|
|
1031
|
-
}
|
|
1032
|
-
|
|
1033
|
-
return nockDef.scope;
|
|
1034
|
-
}
|
|
1035
|
-
|
|
1036
|
-
function tryJsonParse(string) {
|
|
1037
|
-
try {
|
|
1038
|
-
return JSON.parse(string);
|
|
1039
|
-
} catch(err) {
|
|
1040
|
-
return string;
|
|
1041
|
-
}
|
|
1042
|
-
}
|
|
1043
|
-
|
|
1044
|
-
function define(nockDefs) {
|
|
1045
|
-
|
|
1046
|
-
var nocks = [];
|
|
1047
|
-
|
|
1048
|
-
nockDefs.forEach(function(nockDef) {
|
|
1049
|
-
|
|
1050
|
-
var nscope = getScopeFromDefinition(nockDef)
|
|
1051
|
-
, npath = nockDef.path
|
|
1052
|
-
, method = nockDef.method.toLowerCase() || <span class="branch-1 cbranch-no" title="branch not covered" >"get"</span>
|
|
1053
|
-
, status = getStatusFromDefinition(nockDef)
|
|
1054
|
-
, headers = nockDef.headers || {}
|
|
1055
|
-
, reqheaders = nockDef.reqheaders || {}
|
|
1056
|
-
, body = nockDef.body || ''
|
|
1057
|
-
, options = nockDef.options || {};
|
|
1058
|
-
|
|
1059
|
-
// We use request headers for both filtering (see below) and mocking.
|
|
1060
|
-
// Here we are setting up mocked request headers but we don't want to
|
|
1061
|
-
// be changing the user's options object so we clone it first.
|
|
1062
|
-
options = _.clone(options) || <span class="branch-1 cbranch-no" title="branch not covered" >{};</span>
|
|
1063
|
-
options.reqheaders = reqheaders;
|
|
1064
|
-
|
|
1065
|
-
// Response is not always JSON as it could be a string or binary data or
|
|
1066
|
-
// even an array of binary buffers (e.g. when content is enconded)
|
|
1067
|
-
var response;
|
|
1068
|
-
if (!nockDef.response) {
|
|
1069
|
-
response = '';
|
|
1070
|
-
} else {
|
|
1071
|
-
response = _.isString(nockDef.response) ? tryJsonParse(nockDef.response) : nockDef.response;
|
|
1072
|
-
}
|
|
1073
|
-
|
|
1074
|
-
var nock;
|
|
1075
|
-
<span class="missing-if-branch" title="if path not taken" >I</span>if (body==="*") {
|
|
1076
|
-
<span class="cstat-no" title="statement not covered" > nock = startScope(nscope, options).filteringRequestBody(<span class="fstat-no" title="function not covered" >function() {</span></span>
|
|
1077
|
-
<span class="cstat-no" title="statement not covered" > return "*";</span>
|
|
1078
|
-
})[method](npath, "*").reply(status, response, headers);
|
|
1079
|
-
} else {
|
|
1080
|
-
nock = startScope(nscope, options);
|
|
1081
|
-
// If request headers were specified filter by them.
|
|
1082
|
-
if (_.size(reqheaders) > 0) {
|
|
1083
|
-
for (var k in reqheaders) {
|
|
1084
|
-
nock.matchHeader(k, reqheaders[k]);
|
|
1085
|
-
}
|
|
1086
|
-
}
|
|
1087
|
-
if (nockDef.filteringRequestBody) {
|
|
1088
|
-
nock.filteringRequestBody(nockDef.filteringRequestBody);
|
|
1089
|
-
}
|
|
1090
|
-
nock.intercept(npath, method, body).reply(status, response, headers);
|
|
1091
|
-
}
|
|
1092
|
-
|
|
1093
|
-
nocks.push(nock);
|
|
1094
|
-
|
|
1095
|
-
});
|
|
1096
|
-
|
|
1097
|
-
return nocks;
|
|
1098
|
-
}
|
|
1099
|
-
|
|
1100
|
-
module.exports = extend(startScope, {
|
|
1101
|
-
cleanAll: cleanAll,
|
|
1102
|
-
activate: globalIntercept.activate,
|
|
1103
|
-
isActive: globalIntercept.isActive,
|
|
1104
|
-
isDone: globalIntercept.isDone,
|
|
1105
|
-
pendingMocks: globalIntercept.pendingMocks,
|
|
1106
|
-
removeInterceptor: globalIntercept.removeInterceptor,
|
|
1107
|
-
disableNetConnect: globalIntercept.disableNetConnect,
|
|
1108
|
-
enableNetConnect: globalIntercept.enableNetConnect,
|
|
1109
|
-
load: load,
|
|
1110
|
-
loadDefs: loadDefs,
|
|
1111
|
-
define: define,
|
|
1112
|
-
emitter: globalEmitter,
|
|
1113
|
-
});
|
|
1114
|
-
</pre></td></tr>
|
|
1115
|
-
</table></pre>
|
|
1116
|
-
<div class='push'></div><!-- for sticky footer -->
|
|
1117
|
-
</div><!-- /wrapper -->
|
|
1118
|
-
<div class='footer quiet pad2 space-top1 center small'>
|
|
1119
|
-
Code coverage
|
|
1120
|
-
generated by <a href="http://istanbul-js.org/" target="_blank">istanbul</a> at Wed Apr 06 2016 10:42:20 GMT+0100 (BST)
|
|
1121
|
-
</div>
|
|
1122
|
-
</div>
|
|
1123
|
-
<script src="../../prettify.js"></script>
|
|
1124
|
-
<script>
|
|
1125
|
-
window.onload = function () {
|
|
1126
|
-
if (typeof prettyPrint === 'function') {
|
|
1127
|
-
prettyPrint();
|
|
1128
|
-
}
|
|
1129
|
-
};
|
|
1130
|
-
</script>
|
|
1131
|
-
<script src="../../sorter.js"></script>
|
|
1132
|
-
</body>
|
|
1133
|
-
</html>
|