1// +build integration
2
3package s3control
4
5import (
6	"context"
7	"errors"
8	"testing"
9
10	"github.com/aws/aws-sdk-go-v2/aws"
11	"github.com/aws/aws-sdk-go-v2/service/s3control"
12	"github.com/aws/aws-sdk-go-v2/service/s3control/types"
13)
14
15func TestInteg_PublicAccessBlock(t *testing.T) {
16	ctx := context.Background()
17	_, err := svc.GetPublicAccessBlock(ctx, &s3control.GetPublicAccessBlockInput{
18		AccountId: aws.String(accountID),
19	})
20	if err != nil {
21		var e *types.NoSuchPublicAccessBlockConfiguration
22		if !errors.As(err, &e) {
23			t.Fatalf("expect no error for GetPublicAccessBlock, got %v", err)
24		}
25	}
26
27	_, err = svc.PutPublicAccessBlock(ctx, &s3control.PutPublicAccessBlockInput{
28		AccountId: aws.String(accountID),
29		PublicAccessBlockConfiguration: &types.PublicAccessBlockConfiguration{
30			IgnorePublicAcls: true,
31		},
32	})
33	if err != nil {
34		t.Fatalf("expect no error, got %v", err)
35	}
36
37	_, err = svc.DeletePublicAccessBlock(ctx, &s3control.DeletePublicAccessBlockInput{
38		AccountId: aws.String(accountID),
39	})
40	if err != nil {
41		t.Fatalf("expect no error, got %v", err)
42	}
43}
44