@@ -103,6 +103,44 @@ describe("File upload", function () {
103103 sinon . assert . calledWith ( callback , { help : "" , message : "Missing file parameter for upload" } , null ) ;
104104 } ) ;
105105
106+ it ( 'Auth endpoint network error handling' , function ( ) {
107+ const fileOptions = {
108+ fileName : "test_file_name" ,
109+ file : "test_file"
110+ } ;
111+
112+ var callback = sinon . spy ( ) ;
113+
114+ imagekit . upload ( fileOptions , callback , {
115+ authenticationEndpoint : "https://does-not-exist-sdfsdf/aut"
116+ } ) ;
117+
118+ expect ( server . requests . length ) . to . be . equal ( 1 ) ;
119+
120+ // Simulate network error on authentication endpoint
121+ server . requests [ 0 ] . error ( ) ;
122+ sinon . assert . calledWith ( callback , { message : "Request to authenticationEndpoint failed due to network error" , help : "" } , null ) ;
123+ } ) ;
124+
125+ it ( 'Upload endpoint network error handling' , function ( ) {
126+ const fileOptions = {
127+ fileName : "test_file_name" ,
128+ file : "test_file"
129+ } ;
130+
131+ var callback = sinon . spy ( ) ;
132+
133+ imagekit . upload ( fileOptions , callback ) ;
134+
135+ expect ( server . requests . length ) . to . be . equal ( 1 ) ;
136+ successSignature ( ) ;
137+ expect ( server . requests . length ) . to . be . equal ( 2 ) ;
138+
139+ // Simulate network error on upload API
140+ server . requests [ 1 ] . error ( ) ;
141+ sinon . assert . calledWith ( callback , { message : "Request to ImageKit upload endpoint failed due to network error" , help : "" } , null ) ;
142+ } ) ;
143+
106144 it ( 'Boolean handling' , function ( ) {
107145 const fileOptions = {
108146 fileName : "test_file_name" ,
@@ -325,6 +363,54 @@ describe("File upload", function () {
325363 expect ( callback . calledOnce ) . to . be . true ;
326364 sinon . assert . calledWith ( callback , null , uploadSuccessResponseObj ) ;
327365 } ) ;
366+
367+ it ( 'Overriding public key and authentication endpoint' , function ( ) {
368+ var newAuthEndpoint = "http://test/auth-override" ;
369+ var newPublicKey = "override_public_key" ;
370+
371+ const fileOptions = {
372+ fileName : "test_file_name" ,
373+ file : "https://ik.imagekit.io/remote-url.jpg"
374+ } ;
375+
376+ var callback = sinon . spy ( ) ;
377+
378+ imagekit . upload ( fileOptions , callback , {
379+ authenticationEndpoint : newAuthEndpoint ,
380+ publicKey : newPublicKey
381+ } ) ;
382+
383+ expect ( server . requests . length ) . to . be . equal ( 1 ) ;
384+ server . respondWith ( "GET" , newAuthEndpoint ,
385+ [
386+ 200 ,
387+ { "Content-Type" : "application/json" } ,
388+ JSON . stringify ( {
389+ signature : "override_test_signature" ,
390+ expire : 123123 ,
391+ token : "override_test_token"
392+ } )
393+ ] ) ;
394+ server . respond ( ) ;
395+ expect ( server . requests . length ) . to . be . equal ( 2 ) ;
396+ successUploadResponse ( ) ;
397+
398+ var arg = server . requests [ 1 ] . requestBody ;
399+ expect ( arg . get ( 'file' ) ) . to . be . equal ( "https://ik.imagekit.io/remote-url.jpg" ) ;
400+ expect ( arg . get ( 'fileName' ) ) . to . be . equal ( "test_file_name" ) ;
401+ expect ( arg . get ( 'token' ) ) . to . be . equal ( "override_test_token" ) ;
402+ expect ( arg . get ( 'expire' ) ) . to . be . equal ( "123123" ) ;
403+ expect ( arg . get ( 'signature' ) ) . to . be . equal ( "override_test_signature" ) ;
404+ expect ( arg . get ( 'publicKey' ) ) . to . be . equal ( 'override_public_key' ) ;
405+ expect ( arg . get ( 'tags' ) ) . to . be . equal ( undefined ) ;
406+ expect ( arg . get ( 'isPrivateFile' ) ) . to . be . equal ( undefined ) ;
407+ expect ( arg . get ( 'useUniqueFileName' ) ) . to . be . equal ( undefined ) ;
408+ expect ( arg . get ( 'customCoordinates' ) ) . to . be . equal ( undefined ) ;
409+ expect ( arg . get ( 'responseFields' ) ) . to . be . equal ( undefined ) ;
410+
411+ expect ( callback . calledOnce ) . to . be . true ;
412+ sinon . assert . calledWith ( callback , null , uploadSuccessResponseObj ) ;
413+ } ) ;
328414} ) ;
329415
330416
0 commit comments