@@ -115,6 +115,40 @@ describe('api.callApiMethod', () => {
115115 api . callApiMethod ( 'multipartDelete' , request , response , log ) ;
116116 } ) ;
117117
118+ [ 'objectPut' , 'objectPutPart' ] . forEach ( method => {
119+ it ( `should set startTurnAroundTime on request end for ${ method } ` , done => {
120+ sandbox . stub ( api , method ) . callsFake (
121+ ( userInfo , _request , streamingV4Params , _log , cb ) => {
122+ request . on ( 'end' , ( ) => {
123+ assert . strictEqual ( typeof request . serverAccessLog . startTurnAroundTime , 'bigint' ) ;
124+ cb ( ) ;
125+ } ) ;
126+ request . resume ( ) ;
127+ } ) ;
128+ request . objectKey = 'testobject' ;
129+ request . serverAccessLog = { } ;
130+ api . callApiMethod ( method , request , response , log , err => {
131+ assert . ifError ( err ) ;
132+ done ( ) ;
133+ } ) ;
134+ } ) ;
135+
136+ it ( `should set startTurnAroundTime synchronously for 0-byte ${ method } ` , done => {
137+ sandbox . stub ( api , method ) . callsFake (
138+ ( userInfo , _request , streamingV4Params , _log , cb ) => {
139+ assert . strictEqual ( typeof request . serverAccessLog . startTurnAroundTime , 'bigint' ) ;
140+ cb ( ) ;
141+ } ) ;
142+ request . objectKey = 'testobject' ;
143+ request . serverAccessLog = { } ;
144+ request . headers = Object . assign ( { } , request . headers , { 'content-length' : '0' } ) ;
145+ api . callApiMethod ( method , request , response , log , err => {
146+ assert . ifError ( err ) ;
147+ done ( ) ;
148+ } ) ;
149+ } ) ;
150+ } ) ;
151+
118152 describe ( 'MD5 checksum validation' , ( ) => {
119153 const methodsWithChecksumValidation = [
120154 'bucketPutACL' ,
0 commit comments