Co-authored-by: hashicorp-copywrite[bot] <110428419+hashicorp-copywrite[bot]@users.noreply.github.com>
44 lines
1.2 KiB
Go
44 lines
1.2 KiB
Go
// Copyright (c) HashiCorp, Inc.
|
|
// SPDX-License-Identifier: MPL-2.0
|
|
|
|
package storage
|
|
|
|
import (
|
|
"context"
|
|
"testing"
|
|
|
|
"github.com/aws/aws-sdk-go/service/s3"
|
|
"github.com/hashicorp/boundary-plugin-aws/internal/credential"
|
|
"github.com/stretchr/testify/require"
|
|
)
|
|
|
|
func TestAwsStoragePersistedStateS3Client(t *testing.T) {
|
|
require := require.New(t)
|
|
cred, err := credential.NewAwsCredentialPersistedState(
|
|
credential.WithRegion("us-west-2"),
|
|
credential.WithAccessKeyId("foobar"),
|
|
credential.WithSecretAccessKey("barfoo"),
|
|
)
|
|
require.NoError(err)
|
|
|
|
state, err := newAwsStoragePersistedState(
|
|
withCredentials(cred),
|
|
withTestS3APIFunc(newTestMockS3(nil)),
|
|
)
|
|
require.NoError(err)
|
|
|
|
clientRaw, err := state.S3Client(context.Background(), WithRegion("us-west-2"), WithEndpoint("0.0.0.0"))
|
|
require.NoError(err)
|
|
require.NotNil(clientRaw)
|
|
client, ok := clientRaw.(*testMockS3)
|
|
require.True(ok)
|
|
require.NotNil(client)
|
|
require.Equal("us-west-2", client.Region)
|
|
|
|
endpoint, err := client.Endpoint.ResolveEndpoint(s3.ServiceID, client.Region)
|
|
require.NoError(err)
|
|
require.Equal("0.0.0.0", endpoint.URL)
|
|
require.Equal("us-west-2", endpoint.SigningRegion)
|
|
require.Equal("aws", endpoint.PartitionID)
|
|
}
|