@@ -241,7 +241,7 @@ describe('File', function() {
241241 it ( 'should URI encode file names' , function ( done ) {
242242 var newFile = new File ( BUCKET , 'nested/file.jpg' ) ;
243243
244- var expectedPath = format ( '/copyTo /b/{destBucket}/o/{destName}' , {
244+ var expectedPath = format ( '/rewriteTo /b/{destBucket}/o/{destName}' , {
245245 destBucket : file . bucket . name ,
246246 destName : encodeURIComponent ( newFile . name )
247247 } ) ;
@@ -295,7 +295,7 @@ describe('File', function() {
295295
296296 it ( 'should allow a string' , function ( done ) {
297297 var newFileName = 'new-file-name.png' ;
298- var expectedPath = format ( '/copyTo /b/{destBucket}/o/{destName}' , {
298+ var expectedPath = format ( '/rewriteTo /b/{destBucket}/o/{destName}' , {
299299 destBucket : file . bucket . name ,
300300 destName : newFileName
301301 } ) ;
@@ -305,7 +305,7 @@ describe('File', function() {
305305
306306 it ( 'should allow a "gs://..." string' , function ( done ) {
307307 var newFileName = 'gs://other-bucket/new-file-name.png' ;
308- var expectedPath = format ( '/copyTo /b/{destBucket}/o/{destName}' , {
308+ var expectedPath = format ( '/rewriteTo /b/{destBucket}/o/{destName}' , {
309309 destBucket : 'other-bucket' ,
310310 destName : 'new-file-name.png'
311311 } ) ;
@@ -314,7 +314,7 @@ describe('File', function() {
314314 } ) ;
315315
316316 it ( 'should allow a Bucket' , function ( done ) {
317- var expectedPath = format ( '/copyTo /b/{destBucket}/o/{destName}' , {
317+ var expectedPath = format ( '/rewriteTo /b/{destBucket}/o/{destName}' , {
318318 destBucket : BUCKET . name ,
319319 destName : file . name
320320 } ) ;
@@ -324,7 +324,7 @@ describe('File', function() {
324324
325325 it ( 'should allow a File' , function ( done ) {
326326 var newFile = new File ( BUCKET , 'new-file' ) ;
327- var expectedPath = format ( '/copyTo /b/{destBucket}/o/{destName}' , {
327+ var expectedPath = format ( '/rewriteTo /b/{destBucket}/o/{destName}' , {
328328 destBucket : BUCKET . name ,
329329 destName : newFile . name
330330 } ) ;
@@ -339,6 +339,45 @@ describe('File', function() {
339339 } ) ;
340340 } ) ;
341341
342+ describe ( 'not finished copying' , function ( ) {
343+ var apiResponse = {
344+ rewriteToken : '...'
345+ } ;
346+
347+ beforeEach ( function ( ) {
348+ file . request = function ( reqOpts , callback ) {
349+ callback ( null , apiResponse ) ;
350+ } ;
351+ } ) ;
352+
353+ it ( 'should continue attempting to copy' , function ( done ) {
354+ var newFile = new File ( BUCKET , 'new-file' ) ;
355+
356+ file . request = function ( reqOpts , callback ) {
357+ file . copy = function ( newFile_ , options , callback ) {
358+ assert . strictEqual ( newFile_ , newFile ) ;
359+ assert . deepEqual ( options , { token : apiResponse . rewriteToken } ) ;
360+ callback ( ) ; // done()
361+ } ;
362+
363+ callback ( null , apiResponse ) ;
364+ } ;
365+
366+ file . copy ( newFile , done ) ;
367+ } ) ;
368+
369+ it ( 'should make the subsequent correct API request' , function ( done ) {
370+ var newFile = new File ( BUCKET , 'new-file' ) ;
371+
372+ file . request = function ( reqOpts ) {
373+ assert . strictEqual ( reqOpts . qs . rewriteToken , apiResponse . rewriteToken ) ;
374+ done ( ) ;
375+ } ;
376+
377+ file . copy ( newFile , { token : apiResponse . rewriteToken } , assert . ifError ) ;
378+ } ) ;
379+ } ) ;
380+
342381 describe ( 'returned File object' , function ( ) {
343382 beforeEach ( function ( ) {
344383 var resp = { success : true } ;
0 commit comments