11// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
22// SPDX-License-Identifier: Apache-2.0
33
4- import aws.sdk.kotlin.runtime.auth.credentials.EnvironmentCredentialsProvider
54import aws.sdk.kotlin.services.dynamodb.DynamoDbClient
65import aws.sdk.kotlin.services.secretsmanager.SecretsManagerClient
76import aws.sdk.kotlin.services.secretsmanager.model.GetSecretValueRequest
@@ -41,10 +40,13 @@ import org.junit.jupiter.api.Order
4140import org.junit.jupiter.api.Test
4241import org.junit.jupiter.api.TestInstance
4342import org.junit.jupiter.api.TestMethodOrder
43+ import org.slf4j.Logger
44+ import org.slf4j.LoggerFactory
4445
4546@TestInstance(TestInstance .Lifecycle .PER_CLASS )
4647@TestMethodOrder(OrderAnnotation ::class )
4748class DynamoDB {
49+ private val logger: Logger = LoggerFactory .getLogger(DynamoDB ::class .java)
4850 var tableName: String = " "
4951 var fileName: String = " "
5052 var tableName2: String = " "
@@ -76,43 +78,22 @@ class DynamoDB {
7678 songTitle = values.songTitleVal.toString()
7779 songTitleVal = values.songTitleVal.toString()
7880 tableName2 = " Movies"
79-
80- /*
81- // Uncomment this code block if you prefer using a config.properties file to retrieve AWS values required for these tests.
82- val input: InputStream = this.javaClass.getClassLoader().getResourceAsStream("config.properties")
83- val prop = java.util.Properties()
84-
85- // load the properties file.
86- prop.load(input)
87- tableName = prop.getProperty("tableName")
88- tableName2 = prop.getProperty("tableName2")
89- fileName = prop.getProperty("fileName")
90- key = prop.getProperty("key")
91- keyValue = prop.getProperty("keyValue")
92- albumTitle = prop.getProperty("albumTitle")
93- albumTitleValue = prop.getProperty("albumTitleValue")
94- awards = prop.getProperty("awards")
95- awardVal = prop.getProperty("awardVal")
96- songTitle = prop.getProperty("songTitle")
97- songTitleVal = prop.getProperty("songTitleVal")
98- modAwardVal = prop.getProperty("modAwardVal")
99- */
10081 }
10182
10283 @Test
10384 @Order(1 )
10485 fun createTableTest () =
10586 runBlocking {
10687 createNewTable(tableName, key)
107- println (" Test 1 passed" )
88+ logger.info (" Test 1 passed" )
10889 }
10990
11091 @Test
11192 @Order(2 )
11293 fun describeTableTest () =
11394 runBlocking {
11495 describeDymamoDBTable(tableName)
115- println (" Test 2 passed" )
96+ logger.info (" Test 2 passed" )
11697 }
11798
11899 @Test
@@ -130,63 +111,63 @@ class DynamoDB {
130111 songTitle,
131112 songTitleVal,
132113 )
133- println (" Test 3 passed" )
114+ logger.info (" Test 3 passed" )
134115 }
135116
136117 @Test
137118 @Order(4 )
138119 fun listTablesTest () =
139120 runBlocking {
140121 listAllTables()
141- println (" Test 4 passed" )
122+ logger.info (" Test 4 passed" )
142123 }
143124
144125 @Test
145126 @Order(5 )
146127 fun updateItemTest () =
147128 runBlocking {
148129 updateTableItem(tableName, key, keyValue, awards, modAwardVal)
149- println (" Test 5 passed" )
130+ logger.info (" Test 5 passed" )
150131 }
151132
152133 @Test
153134 @Order(6 )
154135 fun getItemTest () =
155136 runBlocking {
156137 getSpecificItem(tableName, key, keyValue)
157- println (" Test 6 passed" )
138+ logger.info (" Test 6 passed" )
158139 }
159140
160141 @Test
161142 @Order(7 )
162143 fun queryTableTest () =
163144 runBlocking {
164145 queryDynTable(tableName, key, keyValue, " #a" )
165- println (" Test 7 passed" )
146+ logger.info (" Test 7 passed" )
166147 }
167148
168149 @Test
169150 @Order(8 )
170151 fun dynamoDBScanTest () =
171152 runBlocking {
172153 scanItems(tableName)
173- println (" Test 8 passed" )
154+ logger.info (" Test 8 passed" )
174155 }
175156
176157 @Test
177158 @Order(9 )
178159 fun deleteItemTest () =
179160 runBlocking {
180161 com.kotlin.dynamodb.deleteDynamoDBItem(tableName, key, keyValue)
181- println (" Test 9 passed" )
162+ logger.info (" Test 9 passed" )
182163 }
183164
184165 @Test
185166 @Order(10 )
186167 fun deleteTableTest () =
187168 runBlocking {
188169 deleteDynamoDBTable(tableName)
189- println (" Test 10 passed" )
170+ logger.info (" Test 10 passed" )
190171 }
191172
192173 @Test
@@ -198,6 +179,7 @@ class DynamoDB {
198179 getMovie(tableName2, " year" , " 1933" )
199180 scanMovies(tableName2)
200181 deletIssuesTable(tableName2)
182+ logger.info(" Test 11 passed" )
201183 }
202184
203185 @Test
@@ -213,6 +195,7 @@ class DynamoDB {
213195 updateTableItemPartiQL(ddb)
214196 queryTablePartiQL(ddb)
215197 deleteTablePartiQL(tableNamePartiQ)
198+ logger.info(" Test 12 passed" )
216199 }
217200
218201 @Test
@@ -227,13 +210,13 @@ class DynamoDB {
227210 updateTableItemBatchBatch(ddb)
228211 deleteItemsBatch(ddb)
229212 deleteTablePartiQLBatch(tableNamePartiQBatch)
213+ logger.info(" Test 13 passed" )
230214 }
231215
232216 private suspend fun getSecretValues (): String {
233217 val secretClient =
234218 SecretsManagerClient {
235219 region = " us-east-1"
236- credentialsProvider = EnvironmentCredentialsProvider ()
237220 }
238221 val secretName = " test/dynamodb"
239222 val valueRequest =
0 commit comments