Skip to content

Commit 5c6d78c

Browse files
committed
add empty archive extraction test
1 parent 89e62af commit 5c6d78c

File tree

1 file changed

+25
-0
lines changed

1 file changed

+25
-0
lines changed

zipserver/archive_test.go

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -409,6 +409,31 @@ func Test_ExtractInMemory(t *testing.T) {
409409
})
410410
}
411411

412+
func Test_ExtractEmptyZip(t *testing.T) {
413+
config := emptyConfig()
414+
ctx := context.Background()
415+
416+
storage, err := NewMemStorage()
417+
assert.NoError(t, err)
418+
419+
archiver := &ArchiveExtractor{Storage: storage, Config: config}
420+
prefix := "zipserver_test/empty_zip_test"
421+
zipPath := "empty_test.zip"
422+
423+
// Create an empty zip file (no entries)
424+
var buf bytes.Buffer
425+
zw := zip.NewWriter(&buf)
426+
err = zw.Close()
427+
assert.NoError(t, err)
428+
429+
_, err = storage.PutFile(ctx, config.Bucket, zipPath, bytes.NewReader(buf.Bytes()), PutOptions{})
430+
assert.NoError(t, err)
431+
432+
files, err := archiver.ExtractZip(ctx, zipPath, prefix, testLimits())
433+
assert.NoError(t, err)
434+
assert.Len(t, files, 0)
435+
}
436+
412437
func Test_ExtractRejectsUnderreportedSize(t *testing.T) {
413438
config := emptyConfig()
414439
ctx := context.Background()

0 commit comments

Comments
 (0)