@@ -70,6 +70,72 @@ describe('Http', () => {
7070 httpMiddleware ( next ) ( request , response )
7171 } ) )
7272
73+ test ( "execute a get request which doesn't return a json response" , ( ) =>
74+ new Promise ( ( resolve , reject ) => {
75+ const request = createTestRequest ( {
76+ uri : '/foo/bar' ,
77+ } )
78+ const response = { resolve, reject }
79+ const next = ( req , res ) => {
80+ expect ( res ) . toEqual ( {
81+ ...response ,
82+ body : 'not json response' ,
83+ statusCode : 200 ,
84+ } )
85+ resolve ( )
86+ }
87+ // Use default options
88+ const httpMiddleware = createHttpMiddleware ( {
89+ host : testHost ,
90+ fetch,
91+ } )
92+ nock ( testHost )
93+ . defaultReplyHeaders ( {
94+ 'Content-Type' : 'application/json' ,
95+ } )
96+ . get ( '/foo/bar' )
97+ . reply ( 200 , 'not json response' )
98+
99+ httpMiddleware ( next ) ( request , response )
100+ } ) )
101+
102+ test ( "execute a get request which doesn't return a json response with retry" , ( ) =>
103+ new Promise ( ( resolve , reject ) => {
104+ const request = createTestRequest ( {
105+ uri : '/foo/bar' ,
106+ } )
107+ const response = { resolve, reject }
108+ const next = ( req , res ) => {
109+ expect ( res ) . toEqual ( {
110+ ...response ,
111+ body : { foo : 'bar' } ,
112+ statusCode : 200 ,
113+ } )
114+ resolve ( )
115+ }
116+ // Use default options
117+ const httpMiddleware = createHttpMiddleware ( {
118+ host : testHost ,
119+ fetch,
120+ enableRetry : true ,
121+ } )
122+ nock ( testHost )
123+ . defaultReplyHeaders ( {
124+ 'Content-Type' : 'application/json' ,
125+ } )
126+ . get ( '/foo/bar' )
127+ . reply ( 200 , 'not json response' )
128+
129+ nock ( testHost )
130+ . defaultReplyHeaders ( {
131+ 'Content-Type' : 'application/json' ,
132+ } )
133+ . get ( '/foo/bar' )
134+ . reply ( 200 , { foo : 'bar' } )
135+
136+ httpMiddleware ( next ) ( request , response )
137+ } ) )
138+
73139 test ( 'execute a get request with timeout (success)' , ( ) =>
74140 new Promise ( ( resolve , reject ) => {
75141 const request = createTestRequest ( {
0 commit comments