@@ -8,9 +8,7 @@ package resty
88import (
99 "bytes"
1010 "errors"
11- "fmt"
1211 "io"
13- "net/http"
1412 "net/url"
1513 "os"
1614 "path/filepath"
@@ -182,145 +180,6 @@ func TestUtil_readMachineID(t *testing.T) {
182180 })
183181}
184182
185- func TestInMemoryJSONMarshalUnmarshal (t * testing.T ) {
186- t .Run ("json encoder" , func (t * testing.T ) {
187- user := & credentials {Username : "testuser" , Password : "testpass" }
188- buf := acquireBuffer ()
189- defer releaseBuffer (buf )
190- err := InMemoryJSONMarshal (buf , user )
191- assertNil (t , err )
192- assertEqual (t , `{"username":"testuser","password":"testpass"}` , buf .String ())
193- })
194-
195- t .Run ("json encoder error" , func (t * testing.T ) {
196- obj := & brokenMarshalJSON {}
197- buf := acquireBuffer ()
198- defer releaseBuffer (buf )
199- err := InMemoryJSONMarshal (buf , obj )
200- assertNotNil (t , err )
201- assertEqual (t , true , strings .Contains (err .Error (), "b0rk3d" ))
202- })
203-
204- t .Run ("json decoder" , func (t * testing.T ) {
205- byteData := []byte (`{"username":"testuser","password":"testpass"}` )
206- cred := & credentials {}
207- err := InMemoryJSONUnmarshal (bytes .NewReader (byteData ), cred )
208- assertNil (t , err )
209- assertEqual (t , "testuser" , cred .Username )
210- assertEqual (t , "testpass" , cred .Password )
211- })
212-
213- t .Run ("json decoder read error" , func (t * testing.T ) {
214- cred := & credentials {}
215- err := InMemoryJSONUnmarshal (& brokenReadCloser {}, cred )
216- assertNotNil (t , err )
217- assertEqual (t , err .Error (), "read error" )
218- })
219-
220- t .Run ("json decoder error" , func (t * testing.T ) {
221- byteData := []byte (`"username":"testuser","password":"testpass"}` )
222- cred := & credentials {}
223- err := InMemoryJSONUnmarshal (bytes .NewReader (byteData ), cred )
224- assertNotNil (t , err )
225- assertEqual (t , true , strings .Contains (err .Error (), "invalid character ':' after top-level value" ))
226- })
227- }
228-
229- func TestInMemoryXMLMarshalUnmarshal (t * testing.T ) {
230- t .Run ("xml encoder" , func (t * testing.T ) {
231- user := & credentials {Username : "testuser" , Password : "testpass" }
232- buf := acquireBuffer ()
233- defer releaseBuffer (buf )
234- err := InMemoryXMLMarshal (buf , user )
235- assertNil (t , err )
236- assertEqual (t , `<credentials><Username>testuser</Username><Password>testpass</Password></credentials>` , buf .String ())
237- })
238-
239- t .Run ("xml encoder error" , func (t * testing.T ) {
240- obj := & brokenMarshalXML {}
241- buf := acquireBuffer ()
242- defer releaseBuffer (buf )
243- err := InMemoryXMLMarshal (buf , obj )
244- assertNotNil (t , err )
245- assertEqual (t , err .Error (), "b0rk3d" )
246- })
247-
248- t .Run ("xml decoder" , func (t * testing.T ) {
249- byteData := []byte (`<?xml version="1.0" encoding="UTF-8"?><credentials><Username>testuser</Username><Password>testpass</Password></credentials>` )
250- cred := & credentials {}
251- err := InMemoryXMLUnmarshal (bytes .NewReader (byteData ), cred )
252- assertNil (t , err )
253- assertEqual (t , "testuser" , cred .Username )
254- assertEqual (t , "testpass" , cred .Password )
255- })
256-
257- t .Run ("xml decoder read error" , func (t * testing.T ) {
258- cred := & credentials {}
259- err := InMemoryXMLUnmarshal (& brokenReadCloser {}, cred )
260- assertNotNil (t , err )
261- assertEqual (t , err .Error (), "read error" )
262- })
263-
264- t .Run ("xml decoder error" , func (t * testing.T ) {
265- byteData := []byte (`<?xml version="1.0" encoding="UTF-8"?><Username>testuser</Username><Password>testpass</Password></credentials>` )
266- cred := & credentials {}
267- err := InMemoryJSONUnmarshal (bytes .NewReader (byteData ), cred )
268- fmt .Println (err )
269- assertNotNil (t , err )
270- assertEqual (t , err .Error (), "invalid character '<' looking for beginning of value" )
271- })
272- }
273-
274- func TestInMemoryJSONPost (t * testing.T ) {
275- ts := createPostServer (t )
276- defer ts .Close ()
277-
278- user := & credentials {Username : "testuser" , Password : "testpass" }
279- assertEqual (t , "Username: **********, Password: **********" , user .String ())
280-
281- c := dcnl ().
282- AddContentTypeEncoder (jsonContentType , InMemoryJSONMarshal ).
283- AddContentTypeDecoder (jsonContentType , InMemoryJSONUnmarshal )
284-
285- r := c .R ().
286- SetHeader (hdrContentTypeKey , jsonContentType ).
287- SetBody (user ).
288- SetResult (& AuthSuccess {})
289-
290- resp , err := r .Post (ts .URL + "/login" )
291- authResp := resp .Result ().(* AuthSuccess )
292-
293- assertError (t , err )
294- assertEqual (t , http .StatusOK , resp .StatusCode ())
295- assertEqual (t , int64 (50 ), resp .Size ())
296- assertEqual (t , authResp .ID , "success" )
297- assertEqual (t , authResp .Message , "login successful" )
298- }
299-
300- func TestInMemoryXMLPost (t * testing.T ) {
301- ts := createPostServer (t )
302- defer ts .Close ()
303-
304- xmlContentType := "application/xml"
305- c := dcnl ().
306- AddContentTypeEncoder (xmlContentType , InMemoryXMLMarshal ).
307- AddContentTypeDecoder (xmlContentType , InMemoryXMLUnmarshal )
308-
309- resp , err := c .R ().
310- SetHeader (hdrContentTypeKey , xmlContentType ).
311- SetBody (credentials {Username : "testuser" , Password : "testpass" }).
312- SetResult (& AuthSuccess {}).
313- Post (ts .URL + "/login" )
314-
315- authResp := resp .Result ().(* AuthSuccess )
316-
317- assertError (t , err )
318- assertEqual (t , http .StatusOK , resp .StatusCode ())
319- assertEqual (t , int64 (116 ), resp .Size ())
320- assertEqual (t , authResp .ID , "success" )
321- assertEqual (t , authResp .Message , "login successful" )
322- }
323-
324183// This test methods exist for test coverage purpose
325184// to validate the getter and setter
326185func TestUtilMiscTestCoverage (t * testing.T ) {
0 commit comments