Skip to content

Commit 1c2dc67

Browse files
committed
added logging functionality
1 parent 7fa0925 commit 1c2dc67

File tree

3 files changed

+29
-33
lines changed

3 files changed

+29
-33
lines changed

kotlin/services/dynamodb/build.gradle.kts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,8 @@ dependencies {
3939
implementation("com.fasterxml.jackson.core:jackson-databind:2.14.2")
4040
implementation("com.google.code.gson:gson:2.10.1")
4141
implementation("com.googlecode.json-simple:json-simple:1.1.1")
42+
implementation("org.slf4j:slf4j-api:2.0.15")
43+
implementation("org.slf4j:slf4j-simple:2.0.15")
4244
}
4345
tasks.withType<KotlinCompile> {
4446
kotlinOptions.jvmTarget = "17"

kotlin/services/dynamodb/src/test/kotlin/DynamoDB.kt

Lines changed: 16 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
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
54
import aws.sdk.kotlin.services.dynamodb.DynamoDbClient
65
import aws.sdk.kotlin.services.secretsmanager.SecretsManagerClient
76
import aws.sdk.kotlin.services.secretsmanager.model.GetSecretValueRequest
@@ -41,10 +40,13 @@ import org.junit.jupiter.api.Order
4140
import org.junit.jupiter.api.Test
4241
import org.junit.jupiter.api.TestInstance
4342
import 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)
4748
class 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 =
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<configuration>
2+
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
3+
<encoder>
4+
<pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n</pattern>
5+
</encoder>
6+
</appender>
7+
8+
<root level="info">
9+
<appender-ref ref="STDOUT"/>
10+
</root>
11+
</configuration>

0 commit comments

Comments
 (0)