Tests get object with s3zip extensions.
()
| 5040 | |
| 5041 | // Tests get object with s3zip extensions. |
| 5042 | func testGetObjectS3Zip() { |
| 5043 | // initialize logging params |
| 5044 | startTime := time.Now() |
| 5045 | testName := getFuncName() |
| 5046 | function := "GetObject(bucketName, objectName)" |
| 5047 | args := map[string]interface{}{"x-minio-extract": true} |
| 5048 | |
| 5049 | c, err := NewClient(ClientConfig{}) |
| 5050 | if err != nil { |
| 5051 | logError(testName, function, args, startTime, "", "MinIO client object creation failed", err) |
| 5052 | return |
| 5053 | } |
| 5054 | |
| 5055 | // Generate a new random bucket name. |
| 5056 | bucketName := randString(60, rand.NewSource(time.Now().UnixNano()), "minio-go-test-") |
| 5057 | args["bucketName"] = bucketName |
| 5058 | |
| 5059 | // Make a new bucket. |
| 5060 | err = c.MakeBucket(context.Background(), bucketName, minio.MakeBucketOptions{Region: "us-east-1"}) |
| 5061 | if err != nil { |
| 5062 | logError(testName, function, args, startTime, "", "MakeBucket failed", err) |
| 5063 | return |
| 5064 | } |
| 5065 | |
| 5066 | defer func() { |
| 5067 | // Delete all objects and buckets |
| 5068 | if err = cleanupBucket(bucketName, c); err != nil { |
| 5069 | logError(testName, function, args, startTime, "", "CleanupBucket failed", err) |
| 5070 | return |
| 5071 | } |
| 5072 | }() |
| 5073 | |
| 5074 | objectName := randString(60, rand.NewSource(time.Now().UnixNano()), "") + ".zip" |
| 5075 | args["objectName"] = objectName |
| 5076 | |
| 5077 | var zipFile bytes.Buffer |
| 5078 | zw := zip.NewWriter(&zipFile) |
| 5079 | rng := rand.New(rand.NewSource(0xc0cac01a)) |
| 5080 | const nFiles = 500 |
| 5081 | for i := 0; i <= nFiles; i++ { |
| 5082 | if i == nFiles { |
| 5083 | // Make one large, compressible file. |
| 5084 | i = 1000000 |
| 5085 | } |
| 5086 | b := make([]byte, i) |
| 5087 | if i < nFiles { |
| 5088 | rng.Read(b) |
| 5089 | } |
| 5090 | wc, err := zw.Create(fmt.Sprintf("test/small/file-%d.bin", i)) |
| 5091 | if err != nil { |
| 5092 | logError(testName, function, args, startTime, "", "zw.Create failed", err) |
| 5093 | return |
| 5094 | } |
| 5095 | wc.Write(b) |
| 5096 | } |
| 5097 | err = zw.Close() |
| 5098 | if err != nil { |
| 5099 | logError(testName, function, args, startTime, "", "zw.Close failed", err) |
no test coverage detected