33
44const request = require ( 'supertest' )
55const bodyParser = require ( 'body-parser' )
6- const expect = require ( 'chai' ) . expect
6+ const { expect } = require ( 'chai' )
77let gateway , service , close , proxy , gHttpServer
88
99describe ( 'fast-proxy smoke' , ( ) => {
@@ -22,6 +22,8 @@ describe('fast-proxy smoke', () => {
2222 // init gateway
2323 gateway = require ( 'restana' ) ( )
2424 gateway . use ( bodyParser . json ( ) )
25+ gateway . use ( bodyParser . urlencoded ( { extended : true } ) )
26+ gateway . use ( bodyParser . text ( ) )
2527
2628 gateway . all ( '/service/*' , function ( req , res ) {
2729 proxy ( req , res , req . url , { } )
@@ -46,11 +48,18 @@ describe('fast-proxy smoke', () => {
4648 // init remote service
4749 service = require ( 'restana' ) ( )
4850 service . use ( bodyParser . json ( ) )
49-
51+ service . use ( bodyParser . urlencoded ( { extended : true } ) )
52+ service . use ( bodyParser . text ( ) )
5053 service . get ( '/service/get' , ( req , res ) => res . send ( 'Hello World!' ) )
5154 service . post ( '/service/post' , ( req , res ) => {
5255 res . send ( req . body )
5356 } )
57+ service . post ( '/service/post/urlencoded' , ( req , res ) => {
58+ res . send ( req . body )
59+ } )
60+ service . post ( '/service/post/text' , ( req , res ) => {
61+ res . send ( req . body )
62+ } )
5463 service . get ( '/service/headers' , ( req , res ) => {
5564 res . setHeader ( 'x-agent' , 'fast-proxy' )
5665 res . setHeader ( 'host' , req . headers . host )
@@ -74,7 +83,18 @@ describe('fast-proxy smoke', () => {
7483 . expect ( 200 )
7584 } )
7685
77- it ( 'should 200 on POST to valid remote endpoint' , async ( ) => {
86+ it ( 'should 200 on POST plain/text to valid remote endpoint' , async ( ) => {
87+ await request ( gHttpServer )
88+ . post ( '/service/post/text' )
89+ . set ( 'content-type' , 'text/plain' )
90+ . send ( 'name is john' )
91+ . expect ( 200 )
92+ . then ( ( res ) => {
93+ expect ( res . text ) . to . equal ( 'name is john' )
94+ } )
95+ } )
96+
97+ it ( 'should 200 on POST application/json to valid remote endpoint' , async ( ) => {
7898 await request ( gHttpServer )
7999 . post ( '/service/post' )
80100 . send ( { name : 'john' } )
@@ -84,6 +104,16 @@ describe('fast-proxy smoke', () => {
84104 } )
85105 } )
86106
107+ it ( 'should 200 on POST application/x-www-form-urlencoded to valid remote endpoint' , async ( ) => {
108+ await request ( gHttpServer )
109+ . post ( '/service/post/urlencoded' )
110+ . send ( 'name=john' )
111+ . expect ( 200 )
112+ . then ( ( res ) => {
113+ expect ( res . body . name ) . to . equal ( 'john' )
114+ } )
115+ } )
116+
87117 it ( 'should 200 on GET /servive/headers' , async ( ) => {
88118 await request ( gHttpServer )
89119 . get ( '/service/headers?query=string' )
0 commit comments