@@ -32,7 +32,7 @@ import {
3232 partsRequired ,
3333} from '../../src/internal/helper.ts'
3434import { joinHostPort } from '../../src/internal/join-host-port.ts'
35- import { parseListObjects } from '../../src/internal/xml-parser.ts'
35+ import { parseListMultipart , parseListObjects } from '../../src/internal/xml-parser.ts'
3636import * as Minio from '../../src/minio.js'
3737
3838const Package = { version : 'development' }
@@ -2304,6 +2304,39 @@ describe('xml-parser', () => {
23042304 } )
23052305 } )
23062306 } )
2307+
2308+ describe ( '#listMultipart()' , ( ) => {
2309+ describe ( 'should handle missing owner and initiator' , ( ) => {
2310+ // example response from GCS
2311+ const xml = `
2312+ <?xml version='1.0' encoding='UTF-8'?>
2313+ <ListMultipartUploadsResult
2314+ xmlns='http://s3.amazonaws.com/doc/2006-03-01/'>
2315+ <Bucket>some-bucket</Bucket>
2316+ <KeyMarker></KeyMarker>
2317+ <UploadIdMarker></UploadIdMarker>
2318+ <NextKeyMarker></NextKeyMarker>
2319+ <Prefix>some-file.pdf</Prefix>
2320+ <Delimiter>/</Delimiter>
2321+ <NextUploadIdMarker></NextUploadIdMarker>
2322+ <MaxUploads>1000</MaxUploads>
2323+ <IsTruncated>false</IsTruncated>
2324+ <Upload>
2325+ <Key>some-file.pdf</Key>
2326+ <UploadId>ABPnzm4aGoV3sjevTkVeaWV6lvBFtdjcZegTJg8MUfTue1t6lgRIy6_JEoM0km3CNE218x00</UploadId>
2327+ <StorageClass>STANDARD</StorageClass>
2328+ <Initiated>2024-12-17T08:16:52.396303Z</Initiated>
2329+ </Upload>
2330+ </ListMultipartUploadsResult>
2331+ `
2332+
2333+ it ( 'should parse list incomplete' , ( ) => {
2334+ const { uploads } = parseListMultipart ( xml )
2335+ assert . equal ( uploads . length , 1 )
2336+ assert . equal ( uploads [ 0 ] . key , 'some-file.pdf' )
2337+ } )
2338+ } )
2339+ } )
23072340} )
23082341
23092342describe ( 'join-host-port' , ( ) => {
0 commit comments