Test put object with streaming signature.
()
| 3982 | |
| 3983 | // Test put object with streaming signature. |
| 3984 | func testPutObjectStreaming() { |
| 3985 | // initialize logging params |
| 3986 | objectName := "test-object" |
| 3987 | startTime := time.Now() |
| 3988 | testName := getFuncName() |
| 3989 | function := "PutObject(bucketName, objectName, reader,size,opts)" |
| 3990 | args := map[string]interface{}{ |
| 3991 | "bucketName": "", |
| 3992 | "objectName": objectName, |
| 3993 | "size": -1, |
| 3994 | "opts": "", |
| 3995 | } |
| 3996 | |
| 3997 | c, err := NewClient(ClientConfig{}) |
| 3998 | if err != nil { |
| 3999 | logError(testName, function, args, startTime, "", "MinIO client object creation failed", err) |
| 4000 | return |
| 4001 | } |
| 4002 | |
| 4003 | // Generate a new random bucket name. |
| 4004 | bucketName := randString(60, rand.NewSource(time.Now().UnixNano()), "minio-go-test-") |
| 4005 | args["bucketName"] = bucketName |
| 4006 | // Make a new bucket. |
| 4007 | err = c.MakeBucket(context.Background(), bucketName, minio.MakeBucketOptions{Region: "us-east-1"}) |
| 4008 | if err != nil { |
| 4009 | logError(testName, function, args, startTime, "", "MakeBucket failed", err) |
| 4010 | return |
| 4011 | } |
| 4012 | |
| 4013 | defer cleanupBucket(bucketName, c) |
| 4014 | |
| 4015 | // Upload an object. |
| 4016 | sizes := []int64{0, 64*1024 - 1, 64 * 1024} |
| 4017 | |
| 4018 | for _, size := range sizes { |
| 4019 | data := newRandomReader(size, size) |
| 4020 | ui, err := c.PutObject(context.Background(), bucketName, objectName, data, int64(size), minio.PutObjectOptions{}) |
| 4021 | if err != nil { |
| 4022 | logError(testName, function, args, startTime, "", "PutObjectStreaming failed", err) |
| 4023 | return |
| 4024 | } |
| 4025 | |
| 4026 | if ui.Size != size { |
| 4027 | logError(testName, function, args, startTime, "", "PutObjectStreaming result has unexpected size", nil) |
| 4028 | return |
| 4029 | } |
| 4030 | |
| 4031 | objInfo, err := c.StatObject(context.Background(), bucketName, objectName, minio.StatObjectOptions{}) |
| 4032 | if err != nil { |
| 4033 | logError(testName, function, args, startTime, "", "StatObject failed", err) |
| 4034 | return |
| 4035 | } |
| 4036 | if objInfo.Size != size { |
| 4037 | logError(testName, function, args, startTime, "", "Unexpected size", err) |
| 4038 | return |
| 4039 | } |
| 4040 | |
| 4041 | } |
no test coverage detected