Tests get object with s3zip extensions.
()
| 5144 | |
| 5145 | // Tests get object with s3zip extensions. |
| 5146 | func testGetObjectS3Zip() { |
| 5147 | // initialize logging params |
| 5148 | startTime := time.Now() |
| 5149 | testName := getFuncName() |
| 5150 | function := "GetObject(bucketName, objectName)" |
| 5151 | args := map[string]interface{}{"x-minio-extract": true} |
| 5152 | |
| 5153 | c, err := NewClient(ClientConfig{}) |
| 5154 | if err != nil { |
| 5155 | logError(testName, function, args, startTime, "", "MinIO client object creation failed", err) |
| 5156 | return |
| 5157 | } |
| 5158 | |
| 5159 | // Generate a new random bucket name. |
| 5160 | bucketName := randString(60, rand.NewSource(time.Now().UnixNano()), "minio-go-test-") |
| 5161 | args["bucketName"] = bucketName |
| 5162 | |
| 5163 | // Make a new bucket. |
| 5164 | err = c.MakeBucket(context.Background(), bucketName, minio.MakeBucketOptions{Region: "us-east-1"}) |
| 5165 | if err != nil { |
| 5166 | logError(testName, function, args, startTime, "", "MakeBucket failed", err) |
| 5167 | return |
| 5168 | } |
| 5169 | |
| 5170 | defer func() { |
| 5171 | // Delete all objects and buckets |
| 5172 | if err = cleanupBucket(bucketName, c); err != nil { |
| 5173 | logError(testName, function, args, startTime, "", "CleanupBucket failed", err) |
| 5174 | return |
| 5175 | } |
| 5176 | }() |
| 5177 | |
| 5178 | objectName := randString(60, rand.NewSource(time.Now().UnixNano()), "") + ".zip" |
| 5179 | args["objectName"] = objectName |
| 5180 | |
| 5181 | var zipFile bytes.Buffer |
| 5182 | zw := zip.NewWriter(&zipFile) |
| 5183 | rng := rand.New(rand.NewSource(0xc0cac01a)) |
| 5184 | const nFiles = 500 |
| 5185 | for i := 0; i <= nFiles; i++ { |
| 5186 | if i == nFiles { |
| 5187 | // Make one large, compressible file. |
| 5188 | i = 1000000 |
| 5189 | } |
| 5190 | b := make([]byte, i) |
| 5191 | if i < nFiles { |
| 5192 | rng.Read(b) |
| 5193 | } |
| 5194 | wc, err := zw.Create(fmt.Sprintf("test/small/file-%d.bin", i)) |
| 5195 | if err != nil { |
| 5196 | logError(testName, function, args, startTime, "", "zw.Create failed", err) |
| 5197 | return |
| 5198 | } |
| 5199 | wc.Write(b) |
| 5200 | } |
| 5201 | err = zw.Close() |
| 5202 | if err != nil { |
| 5203 | logError(testName, function, args, startTime, "", "zw.Close failed", err) |
no test coverage detected