3
3
const path = require ( 'path' ) ;
4
4
const fs = require ( 'graceful-fs' ) ;
5
5
const request = require ( 'supertest' ) ;
6
- const testServer = require ( '../helpers/test-server' ) ;
6
+ const webpack = require ( 'webpack' ) ;
7
+ const Server = require ( '../../lib/Server' ) ;
7
8
const config = require ( '../fixtures/contentbase-config/webpack.config' ) ;
8
9
const { skipTestOnWindows } = require ( '../helpers/conditional-test' ) ;
9
10
const port = require ( '../ports-map' ) [ 'https-option' ] ;
@@ -22,9 +23,10 @@ describe('https option', () => {
22
23
let req ;
23
24
24
25
describe ( 'as a boolean' , ( ) => {
25
- beforeAll ( ( done ) => {
26
- server = testServer . start (
27
- config ,
26
+ beforeAll ( async ( ) => {
27
+ const compiler = webpack ( config ) ;
28
+
29
+ server = new Server (
28
30
{
29
31
static : {
30
32
directory : contentBasePublic ,
@@ -33,24 +35,45 @@ describe('https option', () => {
33
35
https : true ,
34
36
port,
35
37
} ,
36
- done
38
+ compiler
37
39
) ;
40
+
41
+ await new Promise ( ( resolve , reject ) => {
42
+ server . listen ( port , '::' , ( error ) => {
43
+ if ( error ) {
44
+ reject ( error ) ;
45
+
46
+ return ;
47
+ }
48
+
49
+ resolve ( ) ;
50
+ } ) ;
51
+ } ) ;
52
+
38
53
req = request ( server . app ) ;
39
54
} ) ;
40
55
41
- it ( 'Request to index' , async ( ) => {
42
- const res = await req . get ( '/' ) ;
43
- expect ( res . status ) . toEqual ( 200 ) ;
44
- expect ( res . text ) . toContain ( 'Heyo' ) ;
56
+ afterAll ( async ( ) => {
57
+ await new Promise ( ( resolve ) => {
58
+ server . close ( ( ) => {
59
+ resolve ( ) ;
60
+ } ) ;
61
+ } ) ;
45
62
} ) ;
46
63
47
- afterAll ( testServer . close ) ;
64
+ it ( 'Request to index' , async ( ) => {
65
+ const response = await req . get ( '/' ) ;
66
+
67
+ expect ( response . status ) . toEqual ( 200 ) ;
68
+ expect ( response . text ) . toContain ( 'Heyo' ) ;
69
+ } ) ;
48
70
} ) ;
49
71
50
72
describe ( 'as an object when cacert, pfx, key and cert are buffer' , ( ) => {
51
- beforeAll ( ( done ) => {
52
- server = testServer . start (
53
- config ,
73
+ beforeAll ( async ( ) => {
74
+ const compiler = webpack ( config ) ;
75
+
76
+ server = new Server (
54
77
{
55
78
static : {
56
79
directory : contentBasePublic ,
@@ -73,22 +96,45 @@ describe('https option', () => {
73
96
} ,
74
97
port,
75
98
} ,
76
- done
99
+ compiler
77
100
) ;
101
+
102
+ await new Promise ( ( resolve , reject ) => {
103
+ server . listen ( port , '::' , ( error ) => {
104
+ if ( error ) {
105
+ reject ( error ) ;
106
+
107
+ return ;
108
+ }
109
+
110
+ resolve ( ) ;
111
+ } ) ;
112
+ } ) ;
113
+
78
114
req = request ( server . app ) ;
79
115
} ) ;
80
116
117
+ afterAll ( async ( ) => {
118
+ await new Promise ( ( resolve ) => {
119
+ server . close ( ( ) => {
120
+ resolve ( ) ;
121
+ } ) ;
122
+ } ) ;
123
+ } ) ;
124
+
81
125
it ( 'Request to index' , async ( ) => {
82
- const res = await req . get ( '/' ) ;
83
- expect ( res . status ) . toEqual ( 200 ) ;
84
- expect ( res . text ) . toContain ( 'Heyo' ) ;
126
+ const response = await req . get ( '/' ) ;
127
+
128
+ expect ( response . status ) . toEqual ( 200 ) ;
129
+ expect ( response . text ) . toContain ( 'Heyo' ) ;
85
130
} ) ;
86
131
} ) ;
87
132
88
133
describe ( 'as an object when cacert, pfx, key and cert are paths' , ( ) => {
89
- beforeAll ( ( done ) => {
90
- server = testServer . start (
91
- config ,
134
+ beforeAll ( async ( ) => {
135
+ const compiler = webpack ( config ) ;
136
+
137
+ server = new Server (
92
138
{
93
139
static : contentBasePublic ,
94
140
https : {
@@ -100,15 +146,37 @@ describe('https option', () => {
100
146
} ,
101
147
port,
102
148
} ,
103
- done
149
+ compiler
104
150
) ;
151
+
152
+ await new Promise ( ( resolve , reject ) => {
153
+ server . listen ( port , '::' , ( error ) => {
154
+ if ( error ) {
155
+ reject ( error ) ;
156
+
157
+ return ;
158
+ }
159
+
160
+ resolve ( ) ;
161
+ } ) ;
162
+ } ) ;
163
+
105
164
req = request ( server . app ) ;
106
165
} ) ;
107
166
167
+ afterAll ( async ( ) => {
168
+ await new Promise ( ( resolve ) => {
169
+ server . close ( ( ) => {
170
+ resolve ( ) ;
171
+ } ) ;
172
+ } ) ;
173
+ } ) ;
174
+
108
175
it ( 'Request to index' , async ( ) => {
109
- const res = await req . get ( '/' ) ;
110
- expect ( res . status ) . toEqual ( 200 ) ;
111
- expect ( res . text ) . toContain ( 'Heyo' ) ;
176
+ const response = await req . get ( '/' ) ;
177
+
178
+ expect ( response . status ) . toEqual ( 200 ) ;
179
+ expect ( response . text ) . toContain ( 'Heyo' ) ;
112
180
} ) ;
113
181
} ) ;
114
182
@@ -117,9 +185,10 @@ describe('https option', () => {
117
185
return ;
118
186
}
119
187
120
- beforeAll ( ( done ) => {
121
- server = testServer . start (
122
- config ,
188
+ beforeAll ( async ( ) => {
189
+ const compiler = webpack ( config ) ;
190
+
191
+ server = new Server (
123
192
{
124
193
static : {
125
194
directory : contentBasePublic ,
@@ -134,24 +203,45 @@ describe('https option', () => {
134
203
} ,
135
204
port,
136
205
} ,
137
- done
206
+ compiler
138
207
) ;
208
+
209
+ await new Promise ( ( resolve , reject ) => {
210
+ server . listen ( port , '::' , ( error ) => {
211
+ if ( error ) {
212
+ reject ( error ) ;
213
+
214
+ return ;
215
+ }
216
+
217
+ resolve ( ) ;
218
+ } ) ;
219
+ } ) ;
220
+
139
221
req = request ( server . app ) ;
140
222
} ) ;
141
223
142
- it ( 'Request to index' , async ( ) => {
143
- const res = await req . get ( '/' ) ;
144
- expect ( res . status ) . toEqual ( 200 ) ;
145
- expect ( res . text ) . toContain ( 'Heyo' ) ;
224
+ afterAll ( async ( ) => {
225
+ await new Promise ( ( resolve ) => {
226
+ server . close ( ( ) => {
227
+ resolve ( ) ;
228
+ } ) ;
229
+ } ) ;
146
230
} ) ;
147
231
148
- afterAll ( testServer . close ) ;
232
+ it ( 'Request to index' , async ( ) => {
233
+ const response = await req . get ( '/' ) ;
234
+
235
+ expect ( response . status ) . toEqual ( 200 ) ;
236
+ expect ( response . text ) . toContain ( 'Heyo' ) ;
237
+ } ) ;
149
238
} ) ;
150
239
151
240
describe ( 'as an object when cacert, pfx, key and cert are raw strings' , ( ) => {
152
- beforeAll ( ( done ) => {
153
- server = testServer . start (
154
- config ,
241
+ beforeAll ( async ( ) => {
242
+ const compiler = webpack ( config ) ;
243
+
244
+ server = new Server (
155
245
{
156
246
static : {
157
247
directory : contentBasePublic ,
@@ -175,22 +265,45 @@ describe('https option', () => {
175
265
} ,
176
266
port,
177
267
} ,
178
- done
268
+ compiler
179
269
) ;
270
+
271
+ await new Promise ( ( resolve , reject ) => {
272
+ server . listen ( port , '::' , ( error ) => {
273
+ if ( error ) {
274
+ reject ( error ) ;
275
+
276
+ return ;
277
+ }
278
+
279
+ resolve ( ) ;
280
+ } ) ;
281
+ } ) ;
282
+
180
283
req = request ( server . app ) ;
181
284
} ) ;
182
285
286
+ afterAll ( async ( ) => {
287
+ await new Promise ( ( resolve ) => {
288
+ server . close ( ( ) => {
289
+ resolve ( ) ;
290
+ } ) ;
291
+ } ) ;
292
+ } ) ;
293
+
183
294
it ( 'Request to index' , async ( ) => {
184
- const res = await req . get ( '/' ) ;
185
- expect ( res . status ) . toEqual ( 200 ) ;
186
- expect ( res . text ) . toContain ( 'Heyo' ) ;
295
+ const response = await req . get ( '/' ) ;
296
+
297
+ expect ( response . status ) . toEqual ( 200 ) ;
298
+ expect ( response . text ) . toContain ( 'Heyo' ) ;
187
299
} ) ;
188
300
} ) ;
189
301
190
302
describe ( 'should support the "requestCert" option' , ( ) => {
191
- beforeAll ( ( done ) => {
192
- server = testServer . start (
193
- config ,
303
+ beforeAll ( async ( ) => {
304
+ const compiler = webpack ( config ) ;
305
+
306
+ server = new Server (
194
307
{
195
308
static : {
196
309
directory : contentBasePublic ,
@@ -214,17 +327,37 @@ describe('https option', () => {
214
327
} ,
215
328
port,
216
329
} ,
217
- done
330
+ compiler
218
331
) ;
332
+
333
+ await new Promise ( ( resolve , reject ) => {
334
+ server . listen ( port , '::' , ( error ) => {
335
+ if ( error ) {
336
+ reject ( error ) ;
337
+
338
+ return ;
339
+ }
340
+
341
+ resolve ( ) ;
342
+ } ) ;
343
+ } ) ;
344
+
219
345
req = request ( server . app ) ;
220
346
} ) ;
221
347
348
+ afterAll ( async ( ) => {
349
+ await new Promise ( ( resolve ) => {
350
+ server . close ( ( ) => {
351
+ resolve ( ) ;
352
+ } ) ;
353
+ } ) ;
354
+ } ) ;
355
+
222
356
it ( 'Request to index' , async ( ) => {
223
- const res = await req . get ( '/' ) ;
224
- expect ( res . status ) . toEqual ( 200 ) ;
225
- expect ( res . text ) . toContain ( 'Heyo' ) ;
357
+ const response = await req . get ( '/' ) ;
358
+
359
+ expect ( response . status ) . toEqual ( 200 ) ;
360
+ expect ( response . text ) . toContain ( 'Heyo' ) ;
226
361
} ) ;
227
362
} ) ;
228
-
229
- afterEach ( testServer . close ) ;
230
363
} ) ;
0 commit comments