()
| 14376 | } |
| 14377 | |
| 14378 | func testCorsSetGetDelete() { |
| 14379 | ctx := context.Background() |
| 14380 | startTime := time.Now() |
| 14381 | testName := getFuncName() |
| 14382 | function := "SetBucketCors(bucketName, cors)" |
| 14383 | args := map[string]interface{}{ |
| 14384 | "bucketName": "", |
| 14385 | "cors": "", |
| 14386 | } |
| 14387 | |
| 14388 | c, err := NewClient(ClientConfig{}) |
| 14389 | if err != nil { |
| 14390 | logError(testName, function, args, startTime, "", "MinIO client object creation failed", err) |
| 14391 | return |
| 14392 | } |
| 14393 | |
| 14394 | // Generate a new random bucket name. |
| 14395 | bucketName := randString(60, rand.NewSource(time.Now().UnixNano()), "minio-go-test-") |
| 14396 | args["bucketName"] = bucketName |
| 14397 | |
| 14398 | // Make a new bucket. |
| 14399 | err = c.MakeBucket(ctx, bucketName, minio.MakeBucketOptions{Region: "us-east-1"}) |
| 14400 | if err != nil { |
| 14401 | logError(testName, function, args, startTime, "", "MakeBucket failed", err) |
| 14402 | return |
| 14403 | } |
| 14404 | defer cleanupBucket(bucketName, c) |
| 14405 | |
| 14406 | // Set the CORS rules on the new bucket |
| 14407 | corsRules := []cors.Rule{ |
| 14408 | { |
| 14409 | AllowedOrigin: []string{"http://www.example1.com"}, |
| 14410 | AllowedMethod: []string{"PUT"}, |
| 14411 | AllowedHeader: []string{"*"}, |
| 14412 | }, |
| 14413 | { |
| 14414 | AllowedOrigin: []string{"http://www.example2.com"}, |
| 14415 | AllowedMethod: []string{"POST"}, |
| 14416 | AllowedHeader: []string{"X-My-Special-Header"}, |
| 14417 | }, |
| 14418 | { |
| 14419 | AllowedOrigin: []string{"*"}, |
| 14420 | AllowedMethod: []string{"GET"}, |
| 14421 | AllowedHeader: []string{"*"}, |
| 14422 | }, |
| 14423 | } |
| 14424 | corsConfig := cors.NewConfig(corsRules) |
| 14425 | err = c.SetBucketCors(ctx, bucketName, corsConfig) |
| 14426 | if err != nil { |
| 14427 | logError(testName, function, args, startTime, "", "SetBucketCors failed to apply", err) |
| 14428 | return |
| 14429 | } |
| 14430 | |
| 14431 | // Get the rules and check they match what we set |
| 14432 | gotCorsConfig, err := c.GetBucketCors(ctx, bucketName) |
| 14433 | if err != nil { |
| 14434 | logError(testName, function, args, startTime, "", "GetBucketCors failed", err) |
| 14435 | return |
no test coverage detected