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

Function testPresignedPostPolicy

functional_tests.go:5668–5857  ·  view source on GitHub ↗

Test Presigned Post Policy

()

Source from the content-addressed store, hash-verified

5666
5667// Test Presigned Post Policy
5668func testPresignedPostPolicy() {
5669 // initialize logging params
5670 startTime := time.Now()
5671 testName := getFuncName()
5672 function := "PresignedPostPolicy(policy)"
5673 args := map[string]interface{}{
5674 "policy": "",
5675 }
5676
5677 c, err := NewClient(ClientConfig{})
5678 if err != nil {
5679 logError(testName, function, args, startTime, "", "MinIO client object creation failed", err)
5680 return
5681 }
5682
5683 // Generate a new random bucket name.
5684 bucketName := randString(60, rand.NewSource(time.Now().UnixNano()), "minio-go-test-")
5685
5686 // Make a new bucket in 'us-east-1' (source bucket).
5687 err = c.MakeBucket(context.Background(), bucketName, minio.MakeBucketOptions{Region: "us-east-1"})
5688 if err != nil {
5689 logError(testName, function, args, startTime, "", "MakeBucket failed", err)
5690 return
5691 }
5692
5693 defer cleanupBucket(bucketName, c)
5694
5695 // Generate 33K of data.
5696 reader := getDataReader("datafile-33-kB")
5697 defer reader.Close()
5698
5699 objectName := randString(60, rand.NewSource(time.Now().UnixNano()), "")
5700 // Azure requires the key to not start with a number
5701 metadataKey := randString(60, rand.NewSource(time.Now().UnixNano()), "user")
5702 metadataValue := randString(60, rand.NewSource(time.Now().UnixNano()), "")
5703
5704 buf, err := io.ReadAll(reader)
5705 if err != nil {
5706 logError(testName, function, args, startTime, "", "ReadAll failed", err)
5707 return
5708 }
5709
5710 policy := minio.NewPostPolicy()
5711 policy.SetBucket(bucketName)
5712 policy.SetKey(objectName)
5713 policy.SetExpires(time.Now().UTC().AddDate(0, 0, 10)) // expires in 10 days
5714 policy.SetContentType("binary/octet-stream")
5715 policy.SetContentLengthRange(10, 1024*1024)
5716 policy.SetUserMetadata(metadataKey, metadataValue)
5717 policy.SetContentEncoding("gzip")
5718
5719 // Add CRC32C
5720 checksum := minio.ChecksumCRC32C.ChecksumBytes(buf)
5721 err = policy.SetChecksum(checksum)
5722 if err != nil {
5723 logError(testName, function, args, startTime, "", "SetChecksum failed", err)
5724 return
5725 }

Callers 1

mainFunction · 0.85

Calls 15

MakeBucketMethod · 0.95
SetBucketMethod · 0.95
SetKeyMethod · 0.95
SetExpiresMethod · 0.95
SetContentTypeMethod · 0.95
SetContentLengthRangeMethod · 0.95
SetUserMetadataMethod · 0.95
SetContentEncodingMethod · 0.95
SetChecksumMethod · 0.95
StringMethod · 0.95
PresignedPostPolicyMethod · 0.95
GetObjectMethod · 0.95

Tested by

no test coverage detected