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

Function testPresignedPostPolicy

functional_tests.go:5772–5961  ·  view source on GitHub ↗

Test Presigned Post Policy

()

Source from the content-addressed store, hash-verified

5770
5771// Test Presigned Post Policy
5772func testPresignedPostPolicy() {
5773 // initialize logging params
5774 startTime := time.Now()
5775 testName := getFuncName()
5776 function := "PresignedPostPolicy(policy)"
5777 args := map[string]interface{}{
5778 "policy": "",
5779 }
5780
5781 c, err := NewClient(ClientConfig{})
5782 if err != nil {
5783 logError(testName, function, args, startTime, "", "MinIO client object creation failed", err)
5784 return
5785 }
5786
5787 // Generate a new random bucket name.
5788 bucketName := randString(60, rand.NewSource(time.Now().UnixNano()), "minio-go-test-")
5789
5790 // Make a new bucket in 'us-east-1' (source bucket).
5791 err = c.MakeBucket(context.Background(), bucketName, minio.MakeBucketOptions{Region: "us-east-1"})
5792 if err != nil {
5793 logError(testName, function, args, startTime, "", "MakeBucket failed", err)
5794 return
5795 }
5796
5797 defer cleanupBucket(bucketName, c)
5798
5799 // Generate 33K of data.
5800 reader := getDataReader("datafile-33-kB")
5801 defer reader.Close()
5802
5803 objectName := randString(60, rand.NewSource(time.Now().UnixNano()), "")
5804 // Azure requires the key to not start with a number
5805 metadataKey := randString(60, rand.NewSource(time.Now().UnixNano()), "user")
5806 metadataValue := randString(60, rand.NewSource(time.Now().UnixNano()), "")
5807
5808 buf, err := io.ReadAll(reader)
5809 if err != nil {
5810 logError(testName, function, args, startTime, "", "ReadAll failed", err)
5811 return
5812 }
5813
5814 policy := minio.NewPostPolicy()
5815 policy.SetBucket(bucketName)
5816 policy.SetKey(objectName)
5817 policy.SetExpires(time.Now().UTC().AddDate(0, 0, 10)) // expires in 10 days
5818 policy.SetContentType("binary/octet-stream")
5819 policy.SetContentLengthRange(10, 1024*1024)
5820 policy.SetUserMetadata(metadataKey, metadataValue)
5821 policy.SetContentEncoding("gzip")
5822
5823 // Add CRC32C
5824 checksum := minio.ChecksumCRC32C.ChecksumBytes(buf)
5825 err = policy.SetChecksum(checksum)
5826 if err != nil {
5827 logError(testName, function, args, startTime, "", "SetChecksum failed", err)
5828 return
5829 }

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