github.com/hashicorp/go-getter/v2@v2.2.2/decompress_test.go (about) 1 package getter 2 3 import ( 4 "testing" 5 ) 6 7 func TestLimitedDecompressors(t *testing.T) { 8 const ( 9 maxFiles = 111 10 maxSize = 222 11 ) 12 13 checkFileSizeLimit := func(limit int64) { 14 if limit != maxSize { 15 t.Fatalf("expected FileSizeLimit of %d, got %d", maxSize, limit) 16 } 17 } 18 19 checkFilesLimit := func(limit int) { 20 if limit != maxFiles { 21 t.Fatalf("expected FilesLimit of %d, got %d", maxFiles, limit) 22 } 23 } 24 25 decompressors := LimitedDecompressors(maxFiles, maxSize) 26 27 checkFilesLimit(decompressors["tar"].(*TarDecompressor).FilesLimit) 28 checkFileSizeLimit(decompressors["tar"].(*TarDecompressor).FileSizeLimit) 29 30 checkFilesLimit(decompressors["tar.bz2"].(*TarBzip2Decompressor).FilesLimit) 31 checkFileSizeLimit(decompressors["tar.bz2"].(*TarBzip2Decompressor).FileSizeLimit) 32 33 checkFilesLimit(decompressors["tar.gz"].(*TarGzipDecompressor).FilesLimit) 34 checkFileSizeLimit(decompressors["tar.gz"].(*TarGzipDecompressor).FileSizeLimit) 35 36 checkFilesLimit(decompressors["tar.xz"].(*TarXzDecompressor).FilesLimit) 37 checkFileSizeLimit(decompressors["tar.xz"].(*TarXzDecompressor).FileSizeLimit) 38 39 checkFilesLimit(decompressors["tar.zst"].(*TarZstdDecompressor).FilesLimit) 40 checkFileSizeLimit(decompressors["tar.zst"].(*TarZstdDecompressor).FileSizeLimit) 41 42 checkFilesLimit(decompressors["zip"].(*ZipDecompressor).FilesLimit) 43 checkFileSizeLimit(decompressors["zip"].(*ZipDecompressor).FileSizeLimit) 44 45 // ones with file size limit only 46 checkFileSizeLimit(decompressors["bz2"].(*Bzip2Decompressor).FileSizeLimit) 47 checkFileSizeLimit(decompressors["gz"].(*GzipDecompressor).FileSizeLimit) 48 checkFileSizeLimit(decompressors["xz"].(*XzDecompressor).FileSizeLimit) 49 checkFileSizeLimit(decompressors["zst"].(*ZstdDecompressor).FileSizeLimit) 50 }