MCPcopy
hub / github.com/minio/minio-go / testGetObjectS3Zip

Function testGetObjectS3Zip

functional_tests.go:5042–5208  ·  view source on GitHub ↗

Tests get object with s3zip extensions.

()

Source from the content-addressed store, hash-verified

5040
5041// Tests get object with s3zip extensions.
5042func 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)

Callers 1

mainFunction · 0.85

Calls 15

MakeBucketMethod · 0.95
PutObjectMethod · 0.95
GetObjectMethod · 0.95
SetMethod · 0.95
ListObjectsMethod · 0.95
SetMethod · 0.95
getFuncNameFunction · 0.85
NewClientFunction · 0.85
logErrorFunction · 0.85
cleanupBucketFunction · 0.85
logIgnoredFunction · 0.85
logSuccessFunction · 0.85

Tested by

no test coverage detected