@@ -7,62 +7,56 @@ import { getLocal, CompletedRequest, generateCACertificate, Mockttp } from 'mock
77
88import { buildInterceptors , Interceptor } from '../src/interceptors' ;
99
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