1- import type * as http from 'node:http' ;
2-
31import bodyParser from 'body-parser' ;
42import type * as express from 'express' ;
53import type { CompletedRequest , Mockttp } from 'mockttp' ;
@@ -8,6 +6,7 @@ import request from 'supertest';
86import { afterEach , beforeEach , describe , expect , it , vi } from 'vitest' ;
97
108import type { Filter , Logger } from '../../src/types.js' ;
9+ import { createMockRequest , createMockResponse } from '../test-utils.js' ;
1110import { createApp , createAppWithPath , createProxyMiddleware , fixRequestBody } from './test-kit.js' ;
1211
1312describe ( 'E2E http-proxy-middleware' , ( ) => {
@@ -23,10 +22,8 @@ describe('E2E http-proxy-middleware', () => {
2322
2423 describe ( 'pathFilter matching' , ( ) => {
2524 describe ( 'do not proxy' , ( ) => {
26- const mockReq : http . IncomingMessage = {
27- url : '/foo/bar' ,
28- } as http . IncomingMessage ;
29- const mockRes : http . ServerResponse = { } as http . ServerResponse ;
25+ const mockReq = createMockRequest ( { url : '/foo/bar' } ) ;
26+ const mockRes = createMockResponse ( ) ;
3027 const mockNext : express . NextFunction = vi . fn ( ) ;
3128
3229 beforeEach ( ( ) => {
@@ -62,7 +59,7 @@ describe('E2E http-proxy-middleware', () => {
6259 agent = request (
6360 createApp (
6461 createProxyMiddleware ( {
65- target : `http://localhost: ${ mockTargetServer . port } ` ,
62+ target : mockTargetServer . url ,
6663 pathFilter : '/api' ,
6764 } ) ,
6865 ) ,
@@ -81,7 +78,7 @@ describe('E2E http-proxy-middleware', () => {
8178 . withExactQuery ( '?q=1&r=[2,3]' )
8279 . thenReply ( 200 , 'OK' ) ;
8380
84- const response = await request ( `http://localhost: ${ mockTargetServer . port } ` )
81+ const response = await request ( mockTargetServer . url )
8582 . get ( `/api/b/c/dp?q=1&r=[2,3]#s` )
8683 . expect ( 200 ) ;
8784
@@ -95,7 +92,7 @@ describe('E2E http-proxy-middleware', () => {
9592 createApp (
9693 bodyParser . urlencoded ( { extended : false } ) ,
9794 createProxyMiddleware ( {
98- target : `http://localhost: ${ mockTargetServer . port } ` ,
95+ target : mockTargetServer . url ,
9996 pathFilter : '/api' ,
10097 on : {
10198 proxyReq : fixRequestBody ,
@@ -116,7 +113,7 @@ describe('E2E http-proxy-middleware', () => {
116113 createApp (
117114 bodyParser . json ( ) ,
118115 createProxyMiddleware ( {
119- target : `http://localhost: ${ mockTargetServer . port } ` ,
116+ target : mockTargetServer . url ,
120117 pathFilter : '/api' ,
121118 on : {
122119 proxyReq : fixRequestBody ,
@@ -142,7 +139,7 @@ describe('E2E http-proxy-middleware', () => {
142139 agent = request (
143140 createApp (
144141 createProxyMiddleware ( {
145- target : `http://localhost: ${ mockTargetServer . port } ` ,
142+ target : mockTargetServer . url ,
146143 pathFilter : filter ,
147144 } ) ,
148145 ) ,
@@ -161,7 +158,7 @@ describe('E2E http-proxy-middleware', () => {
161158 agent = request (
162159 createApp (
163160 createProxyMiddleware ( {
164- target : `http://localhost: ${ mockTargetServer . port } ` ,
161+ target : mockTargetServer . url ,
165162 pathFilter : filter ,
166163 } ) ,
167164 ) ,
@@ -187,7 +184,7 @@ describe('E2E http-proxy-middleware', () => {
187184 agent = request (
188185 createApp (
189186 createProxyMiddleware ( {
190- target : `http://localhost: ${ mockTargetServer . port } ` ,
187+ target : mockTargetServer . url ,
191188 pathFilter : filter ,
192189 logger : logger ,
193190 } ) ,
@@ -206,7 +203,7 @@ describe('E2E http-proxy-middleware', () => {
206203 agent = request (
207204 createApp (
208205 createProxyMiddleware ( {
209- target : `http://localhost: ${ mockTargetServer . port } ` ,
206+ target : mockTargetServer . url ,
210207 pathFilter : [ '/api' , '/ajax' ] ,
211208 } ) ,
212209 ) ,
@@ -236,7 +233,7 @@ describe('E2E http-proxy-middleware', () => {
236233 agent = request (
237234 createApp (
238235 createProxyMiddleware ( {
239- target : `http://localhost: ${ mockTargetServer . port } ` ,
236+ target : mockTargetServer . url ,
240237 pathFilter : '/api/**' ,
241238 } ) ,
242239 ) ,
@@ -255,7 +252,7 @@ describe('E2E http-proxy-middleware', () => {
255252 agent = request (
256253 createApp (
257254 createProxyMiddleware ( {
258- target : `http://localhost: ${ mockTargetServer . port } ` ,
255+ target : mockTargetServer . url ,
259256 pathFilter : [ '**/*.html' , '!**.json' ] ,
260257 } ) ,
261258 ) ,
@@ -280,7 +277,7 @@ describe('E2E http-proxy-middleware', () => {
280277 agent = request (
281278 createApp (
282279 createProxyMiddleware ( {
283- target : `http://localhost: ${ mockTargetServer . port } ` ,
280+ target : mockTargetServer . url ,
284281 pathFilter : '/api' ,
285282 headers : { host : 'foobar.dev' } ,
286283 } ) ,
@@ -324,7 +321,7 @@ describe('E2E http-proxy-middleware', () => {
324321 const resetAgent = request (
325322 createApp (
326323 createProxyMiddleware ( {
327- target : `http://localhost: ${ mockTargetServer . port } ` ,
324+ target : mockTargetServer . url ,
328325 } ) ,
329326 ) ,
330327 ) ;
@@ -339,7 +336,7 @@ describe('E2E http-proxy-middleware', () => {
339336 const closeAgent = request (
340337 createApp (
341338 createProxyMiddleware ( {
342- target : `http://localhost: ${ mockTargetServer . port } ` ,
339+ target : mockTargetServer . url ,
343340 } ) ,
344341 ) ,
345342 ) ;
@@ -384,7 +381,7 @@ describe('E2E http-proxy-middleware', () => {
384381 agent = request (
385382 createApp (
386383 createProxyMiddleware ( {
387- target : `http://localhost: ${ mockTargetServer . port } ` ,
384+ target : mockTargetServer . url ,
388385 pathFilter : '/api' ,
389386 on : {
390387 proxyRes : ( proxyRes , req , res ) => {
@@ -424,7 +421,7 @@ describe('E2E http-proxy-middleware', () => {
424421 agent = request (
425422 createApp (
426423 createProxyMiddleware ( {
427- target : `http://localhost: ${ mockTargetServer . port } ` ,
424+ target : mockTargetServer . url ,
428425 pathFilter : '/api' ,
429426 on : {
430427 proxyReq : ( proxyReq , req , res ) => {
@@ -454,7 +451,7 @@ describe('E2E http-proxy-middleware', () => {
454451 agent = request (
455452 createApp (
456453 createProxyMiddleware ( {
457- target : `http://localhost: ${ mockTargetServer . port } ` ,
454+ target : mockTargetServer . url ,
458455 pathRewrite : {
459456 '^/api' : '/rest' ,
460457 '^/remove' : '' ,
@@ -482,7 +479,7 @@ describe('E2E http-proxy-middleware', () => {
482479 agent = request (
483480 createAppWithPath (
484481 '/api' ,
485- createProxyMiddleware ( { target : `http://localhost: ${ mockTargetServer . port } /api` } ) ,
482+ createProxyMiddleware ( { target : `${ mockTargetServer . url } /api` } ) ,
486483 ) ,
487484 ) ;
488485 } ) ;
@@ -511,7 +508,7 @@ describe('E2E http-proxy-middleware', () => {
511508 agent = request (
512509 createApp (
513510 createProxyMiddleware ( {
514- target : `http://localhost: ${ mockTargetServer . port } ` ,
511+ target : mockTargetServer . url ,
515512 pathFilter : '/api' ,
516513 logger : customLogger ,
517514 } ) ,
@@ -524,15 +521,15 @@ describe('E2E http-proxy-middleware', () => {
524521 expect ( logMessages ) . not . toBeUndefined ( ) ;
525522 expect ( logMessages . length ) . toBe ( 1 ) ;
526523 expect ( logMessages . at ( 0 ) ) . toBe (
527- `[HPM] GET /api/foo/bar -> http://localhost: ${ mockTargetServer . port } /api/foo/bar [200]` ,
524+ `[HPM] GET /api/foo/bar -> ${ mockTargetServer . url } /api/foo/bar [200]` ,
528525 ) ;
529526 } ) ;
530527
531528 it ( 'should have logged messages when router used' , async ( ) => {
532529 agent = request (
533530 createApp (
534531 createProxyMiddleware ( {
535- router : ( ) => `http://localhost: ${ mockTargetServer . port } ` ,
532+ router : ( ) => mockTargetServer . url ,
536533 pathFilter : '/api' ,
537534 logger : customLogger ,
538535 } ) ,
@@ -545,7 +542,7 @@ describe('E2E http-proxy-middleware', () => {
545542 expect ( logMessages ) . not . toBeUndefined ( ) ;
546543 expect ( logMessages . length ) . toBe ( 1 ) ;
547544 expect ( logMessages . at ( 0 ) ) . toBe (
548- `[HPM] GET /api/foo/bar -> http://localhost: ${ mockTargetServer . port } /api/foo/bar [200]` ,
545+ `[HPM] GET /api/foo/bar -> ${ mockTargetServer . url } /api/foo/bar [200]` ,
549546 ) ;
550547 } ) ;
551548 } ) ;
0 commit comments