@@ -7,62 +7,56 @@ import { getLocal, CompletedRequest, generateCACertificate, Mockttp } from 'mock
7
7
8
8
import { buildInterceptors , Interceptor } from '../src/interceptors' ;
9
9
10
- describe ( 'Fresh chrome interceptor' , ( ) => {
11
-
12
- let server : Mockttp ;
13
- let freshChrome : Interceptor ;
14
-
15
- before ( function ( ) {
16
- this . timeout ( 10000 ) ;
17
-
18
- const configPath = tmp . dirSync ( { unsafeCleanup : true } ) . name ;
19
-
20
- const keyPath = path . join ( configPath , 'ca.key' ) ;
21
- const certPath = path . join ( configPath , 'ca.pem' ) ;
22
- const newCertPair = generateCACertificate ( { commonName : 'HTTP Toolkit CA - DO NOT TRUST' } ) ;
23
- fs . writeFileSync ( keyPath , newCertPair . key ) ;
24
- fs . writeFileSync ( certPath , newCertPair . cert ) ;
25
-
26
- server = getLocal ( { https : { certPath, keyPath } } ) ;
27
- const interceptors = buildInterceptors ( { configPath } ) ;
28
- freshChrome = interceptors [ 'fresh-chrome' ]
29
- } ) ;
30
-
31
- beforeEach ( ( ) => server . start ( ) ) ;
32
- afterEach ( async ( ) => {
33
- await freshChrome . deactivate ( server . port ) ;
34
- await server . stop ( ) ;
35
- } ) ;
36
-
37
- it ( 'is available' , async ( ) => {
38
- expect ( await freshChrome . isActivable ( ) ) . to . equal ( true ) ;
39
- } ) ;
40
-
41
- it ( 'can be activated' , async ( ) => {
42
- expect ( freshChrome . isActive ( server . port ) ) . to . equal ( false ) ;
43
-
44
- await freshChrome . activate ( server . port ) ;
45
- expect ( freshChrome . isActive ( server . port ) ) . to . equal ( true ) ;
46
- expect ( freshChrome . isActive ( server . port + 1 ) ) . to . equal ( false ) ;
47
-
48
- await freshChrome . deactivate ( server . port ) ;
49
- expect ( freshChrome . isActive ( server . port ) ) . to . equal ( false ) ;
50
- } ) ;
51
-
52
- it ( 'successfully makes requests' , async ( ) => {
53
- await server . anyRequest ( ) . thenPassThrough ( ) ;
54
-
55
- const exampleRequestReceived = new Promise < CompletedRequest > ( ( resolve ) =>
56
- server . on ( 'request' , ( req ) => {
57
- if ( req . url . startsWith ( 'https://example.com' ) ) {
58
- resolve ( req ) ;
59
- }
60
- } )
61
- ) ;
62
-
63
- await freshChrome . activate ( server . port ) ;
64
-
65
- // Only resolves if example.com request is sent successfully
66
- await exampleRequestReceived ;
67
- } ) ;
68
- } ) ;
10
+ const configPath = tmp . dirSync ( { unsafeCleanup : true } ) . name ;
11
+
12
+ const keyPath = path . join ( configPath , 'ca.key' ) ;
13
+ const certPath = path . join ( configPath , 'ca.pem' ) ;
14
+ const newCertPair = generateCACertificate ( { commonName : 'HTTP Toolkit CA - DO NOT TRUST' } ) ;
15
+ fs . writeFileSync ( keyPath , newCertPair . key ) ;
16
+ fs . writeFileSync ( certPath , newCertPair . cert ) ;
17
+
18
+ const server = getLocal ( { https : { certPath, keyPath } } ) ;
19
+ const interceptors = buildInterceptors ( { configPath } ) ;
20
+
21
+ _ . forEach ( interceptors , ( interceptor , name ) =>
22
+ describe ( `${ name } interceptor` , function ( ) {
23
+
24
+ beforeEach ( ( ) => server . start ( ) ) ;
25
+ afterEach ( async ( ) => {
26
+ await interceptor . deactivate ( server . port ) ;
27
+ await server . stop ( ) ;
28
+ } ) ;
29
+
30
+ it ( 'is available' , async ( ) => {
31
+ expect ( await interceptor . isActivable ( ) ) . to . equal ( true ) ;
32
+ } ) ;
33
+
34
+ it ( 'can be activated' , async ( ) => {
35
+ expect ( interceptor . isActive ( server . port ) ) . to . equal ( false ) ;
36
+
37
+ await interceptor . activate ( server . port ) ;
38
+ expect ( interceptor . isActive ( server . port ) ) . to . equal ( true ) ;
39
+ expect ( interceptor . isActive ( server . port + 1 ) ) . to . equal ( false ) ;
40
+
41
+ await interceptor . deactivate ( server . port ) ;
42
+ expect ( interceptor . isActive ( server . port ) ) . to . equal ( false ) ;
43
+ } ) ;
44
+
45
+ it ( 'successfully makes requests' , async ( ) => {
46
+ await server . anyRequest ( ) . thenPassThrough ( ) ;
47
+
48
+ const exampleRequestReceived = new Promise < CompletedRequest > ( ( resolve ) =>
49
+ server . on ( 'request' , ( req ) => {
50
+ if ( req . url . startsWith ( 'https://example.com' ) ) {
51
+ resolve ( req ) ;
52
+ }
53
+ } )
54
+ ) ;
55
+
56
+ await interceptor . activate ( server . port ) ;
57
+
58
+ // Only resolves if example.com request is sent successfully
59
+ await exampleRequestReceived ;
60
+ } ) ;
61
+ } )
62
+ ) ;
0 commit comments