Test Presigned Post Policy
()
| 5666 | |
| 5667 | // Test Presigned Post Policy |
| 5668 | func 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 | } |
no test coverage detected