1
1
'use strict' ;
2
2
3
+ const express = require ( 'express' ) ;
4
+ const httpProxy = require ( 'http-proxy-middleware' ) ;
3
5
const request = require ( 'supertest' ) ;
4
6
const addEntries = require ( '../lib/utils/addEntries' ) ;
5
7
const helper = require ( './helper' ) ;
6
8
const config = require ( './fixtures/client-config/webpack.config' ) ;
7
9
const runBrowser = require ( './helpers/run-browser' ) ;
8
10
9
- describe ( 'Client code' , ( ) => {
10
- let server ;
11
+ function startProxy ( port ) {
12
+ const proxy = express ( ) ;
13
+ proxy . use (
14
+ '/' ,
15
+ httpProxy ( {
16
+ target : 'http://0.0.0.0:8080' ,
17
+ ws : true ,
18
+ changeOrigin : true ,
19
+ proxyTimeout : 30000 ,
20
+ headers : {
21
+ Connection : 'keep-alive' ,
22
+ } ,
23
+ } )
24
+ ) ;
25
+ return proxy . listen ( port ) ;
26
+ }
11
27
28
+ describe ( 'Client code' , ( ) => {
12
29
beforeAll ( ( done ) => {
13
30
const options = {
14
31
compress : true ,
@@ -21,35 +38,22 @@ describe('Client code', () => {
21
38
} ,
22
39
} ;
23
40
addEntries ( config , options ) ;
24
- server = helper . start ( config , options , done ) ;
41
+ helper . start ( config , options , done ) ;
25
42
} ) ;
26
43
27
- afterAll ( ( done ) => {
28
- server . close ( done ) ;
29
- } ) ;
44
+ afterAll ( helper . close ) ;
30
45
31
46
describe ( 'behind a proxy' , ( ) => {
32
47
let proxy ;
33
48
34
49
jest . setTimeout ( 30000 ) ;
35
50
36
- beforeAll ( ( done ) => {
37
- // Start dev server as proxy.
38
- proxy = helper . start (
39
- config ,
40
- {
41
- port : 9000 ,
42
- host : 'localhost' ,
43
- proxy : {
44
- '/' : 'http://0.0.0.0:8080' ,
45
- } ,
46
- } ,
47
- done
48
- ) ;
51
+ beforeAll ( ( ) => {
52
+ proxy = startProxy ( 9000 ) ;
49
53
} ) ;
50
54
51
- afterAll ( ( done ) => {
52
- proxy . close ( done ) ;
55
+ afterAll ( ( ) => {
56
+ proxy . close ( ) ;
53
57
} ) ;
54
58
55
59
it ( 'responds with a 200' , ( done ) => {
0 commit comments