1- package aws
1+ package aws_test
22
33import (
44 "context"
55 "errors"
66 "testing"
77
8- "github.com/aws/aws-sdk-go-v2/aws"
8+ awsSDK "github.com/aws/aws-sdk-go-v2/aws"
99 "github.com/aws/aws-sdk-go-v2/service/dynamodb"
1010 "github.com/aws/aws-sdk-go-v2/service/dynamodb/types"
1111 "github.com/stretchr/testify/require"
12+
13+ aws "github.com/gruntwork-io/terratest/modules/aws"
1214)
1315
14- // mockDynamoDBClient is a test double for DynamoDBAPI.
16+ // mockDynamoDBClient is a test double for aws. DynamoDBAPI.
1517type mockDynamoDBClient struct {
1618 DescribeTableOutput * dynamodb.DescribeTableOutput
1719 DescribeTableErr error
@@ -24,25 +26,30 @@ type mockDynamoDBClient struct {
2426}
2527
2628func (m * mockDynamoDBClient ) DescribeTable (_ context.Context , params * dynamodb.DescribeTableInput , _ ... func (* dynamodb.Options )) (* dynamodb.DescribeTableOutput , error ) {
27- m .lastDescribeTableName = aws .ToString (params .TableName )
29+ m .lastDescribeTableName = awsSDK .ToString (params .TableName )
30+
2831 if m .DescribeTableErr != nil {
2932 return nil , m .DescribeTableErr
3033 }
34+
3135 return m .DescribeTableOutput , nil
3236}
3337
3438func (m * mockDynamoDBClient ) DescribeTimeToLive (_ context.Context , _ * dynamodb.DescribeTimeToLiveInput , _ ... func (* dynamodb.Options )) (* dynamodb.DescribeTimeToLiveOutput , error ) {
3539 if m .DescribeTimeToLiveErr != nil {
3640 return nil , m .DescribeTimeToLiveErr
3741 }
42+
3843 return m .DescribeTimeToLiveOutput , nil
3944}
4045
4146func (m * mockDynamoDBClient ) ListTagsOfResource (_ context.Context , params * dynamodb.ListTagsOfResourceInput , _ ... func (* dynamodb.Options )) (* dynamodb.ListTagsOfResourceOutput , error ) {
42- m .lastListTagsResourceArn = aws .ToString (params .ResourceArn )
47+ m .lastListTagsResourceArn = awsSDK .ToString (params .ResourceArn )
48+
4349 if m .ListTagsOfResourceErr != nil {
4450 return nil , m .ListTagsOfResourceErr
4551 }
52+
4653 return m .ListTagsOfResourceOutput , nil
4754}
4855
@@ -60,22 +67,24 @@ func TestGetDynamoDBTableWithClientContextE(t *testing.T) {
6067 client := & mockDynamoDBClient {
6168 DescribeTableOutput : & dynamodb.DescribeTableOutput {
6269 Table : & types.TableDescription {
63- TableArn : aws .String (testTableArn ),
64- TableName : aws .String (testTableName ),
70+ TableArn : awsSDK .String (testTableArn ),
71+ TableName : awsSDK .String (testTableName ),
6572 },
6673 },
6774 }
68- got , err := GetDynamoDBTableWithClientContextE (t , context .Background (), client , testTableName )
75+
76+ got , err := aws .GetDynamoDBTableWithClientContextE (t , context .Background (), client , testTableName )
6977 require .NoError (t , err )
70- require .Equal (t , testTableArn , aws .ToString (got .TableArn ))
78+ require .Equal (t , testTableArn , awsSDK .ToString (got .TableArn ))
7179 require .Equal (t , testTableName , client .lastDescribeTableName )
7280 })
7381
7482 t .Run ("propagates api error" , func (t * testing.T ) {
7583 t .Parallel ()
7684
7785 client := & mockDynamoDBClient {DescribeTableErr : errors .New ("ResourceNotFoundException" )}
78- _ , err := GetDynamoDBTableWithClientContextE (t , context .Background (), client , testTableName )
86+
87+ _ , err := aws .GetDynamoDBTableWithClientContextE (t , context .Background (), client , testTableName )
7988 require .Error (t , err )
8089 })
8190}
@@ -90,21 +99,23 @@ func TestGetDynamoDBTableTimeToLiveWithClientContextE(t *testing.T) {
9099 DescribeTimeToLiveOutput : & dynamodb.DescribeTimeToLiveOutput {
91100 TimeToLiveDescription : & types.TimeToLiveDescription {
92101 TimeToLiveStatus : types .TimeToLiveStatusEnabled ,
93- AttributeName : aws .String ("expiresAt" ),
102+ AttributeName : awsSDK .String ("expiresAt" ),
94103 },
95104 },
96105 }
97- got , err := GetDynamoDBTableTimeToLiveWithClientContextE (t , context .Background (), client , testTableName )
106+
107+ got , err := aws .GetDynamoDBTableTimeToLiveWithClientContextE (t , context .Background (), client , testTableName )
98108 require .NoError (t , err )
99109 require .Equal (t , types .TimeToLiveStatusEnabled , got .TimeToLiveStatus )
100- require .Equal (t , "expiresAt" , aws .ToString (got .AttributeName ))
110+ require .Equal (t , "expiresAt" , awsSDK .ToString (got .AttributeName ))
101111 })
102112
103113 t .Run ("propagates api error" , func (t * testing.T ) {
104114 t .Parallel ()
105115
106116 client := & mockDynamoDBClient {DescribeTimeToLiveErr : errors .New ("InternalServerError" )}
107- _ , err := GetDynamoDBTableTimeToLiveWithClientContextE (t , context .Background (), client , testTableName )
117+
118+ _ , err := aws .GetDynamoDBTableTimeToLiveWithClientContextE (t , context .Background (), client , testTableName )
108119 require .Error (t , err )
109120 })
110121}
@@ -114,8 +125,8 @@ func TestGetDynamoDBTableTagsWithClientContextE(t *testing.T) {
114125
115126 describeOK := & dynamodb.DescribeTableOutput {
116127 Table : & types.TableDescription {
117- TableArn : aws .String (testTableArn ),
118- TableName : aws .String (testTableName ),
128+ TableArn : awsSDK .String (testTableArn ),
129+ TableName : awsSDK .String (testTableName ),
119130 },
120131 }
121132
@@ -126,12 +137,13 @@ func TestGetDynamoDBTableTagsWithClientContextE(t *testing.T) {
126137 DescribeTableOutput : describeOK ,
127138 ListTagsOfResourceOutput : & dynamodb.ListTagsOfResourceOutput {
128139 Tags : []types.Tag {
129- {Key : aws .String ("env" ), Value : aws .String ("prod" )},
130- {Key : aws .String ("team" ), Value : aws .String ("platform" )},
140+ {Key : awsSDK .String ("env" ), Value : awsSDK .String ("prod" )},
141+ {Key : awsSDK .String ("team" ), Value : awsSDK .String ("platform" )},
131142 },
132143 },
133144 }
134- got , err := GetDynamoDBTableTagsWithClientContextE (t , context .Background (), client , testTableName )
145+
146+ got , err := aws .GetDynamoDBTableTagsWithClientContextE (t , context .Background (), client , testTableName )
135147 require .NoError (t , err )
136148 require .Len (t , got , 2 )
137149 require .Equal (t , testTableArn , client .lastListTagsResourceArn )
@@ -144,7 +156,8 @@ func TestGetDynamoDBTableTagsWithClientContextE(t *testing.T) {
144156 DescribeTableOutput : describeOK ,
145157 ListTagsOfResourceOutput : & dynamodb.ListTagsOfResourceOutput {},
146158 }
147- got , err := GetDynamoDBTableTagsWithClientContextE (t , context .Background (), client , testTableName )
159+
160+ got , err := aws .GetDynamoDBTableTagsWithClientContextE (t , context .Background (), client , testTableName )
148161 require .NoError (t , err )
149162 require .Empty (t , got )
150163 })
@@ -153,7 +166,8 @@ func TestGetDynamoDBTableTagsWithClientContextE(t *testing.T) {
153166 t .Parallel ()
154167
155168 client := & mockDynamoDBClient {DescribeTableErr : errors .New ("ResourceNotFoundException" )}
156- _ , err := GetDynamoDBTableTagsWithClientContextE (t , context .Background (), client , testTableName )
169+
170+ _ , err := aws .GetDynamoDBTableTagsWithClientContextE (t , context .Background (), client , testTableName )
157171 require .Error (t , err )
158172 require .Empty (t , client .lastListTagsResourceArn , "ListTagsOfResource must not be called when describe fails" )
159173 })
@@ -165,7 +179,8 @@ func TestGetDynamoDBTableTagsWithClientContextE(t *testing.T) {
165179 DescribeTableOutput : describeOK ,
166180 ListTagsOfResourceErr : errors .New ("AccessDeniedException" ),
167181 }
168- _ , err := GetDynamoDBTableTagsWithClientContextE (t , context .Background (), client , testTableName )
182+
183+ _ , err := aws .GetDynamoDBTableTagsWithClientContextE (t , context .Background (), client , testTableName )
169184 require .Error (t , err )
170185 })
171186}
0 commit comments