diff --git a/kotlin/services/apigateway/build.gradle.kts b/kotlin/services/apigateway/build.gradle.kts index 26b3b97dc40..cfb8b0a2359 100644 --- a/kotlin/services/apigateway/build.gradle.kts +++ b/kotlin/services/apigateway/build.gradle.kts @@ -36,6 +36,8 @@ dependencies { implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.4") implementation("com.fasterxml.jackson.core:jackson-databind:2.14.2") implementation("com.google.code.gson:gson:2.10") + implementation("org.slf4j:slf4j-api:2.0.15") + implementation("org.slf4j:slf4j-simple:2.0.15") } tasks.withType { kotlinOptions.jvmTarget = "17" diff --git a/kotlin/services/apigateway/src/test/kotlin/APIGatewayTest.kt b/kotlin/services/apigateway/src/test/kotlin/APIGatewayTest.kt index e1e7315c3ca..c3542890d3b 100644 --- a/kotlin/services/apigateway/src/test/kotlin/APIGatewayTest.kt +++ b/kotlin/services/apigateway/src/test/kotlin/APIGatewayTest.kt @@ -18,11 +18,14 @@ import org.junit.jupiter.api.Order import org.junit.jupiter.api.Test import org.junit.jupiter.api.TestInstance import org.junit.jupiter.api.TestMethodOrder +import org.slf4j.Logger +import org.slf4j.LoggerFactory import java.util.Random @TestInstance(TestInstance.Lifecycle.PER_CLASS) @TestMethodOrder(OrderAnnotation::class) class APIGatewayTest { + private val logger: Logger = LoggerFactory.getLogger(APIGatewayTest::class.java) lateinit var apiGatewayClient: ApiGatewayClient private var restApiId = "" private var httpMethod = "" @@ -33,7 +36,6 @@ class APIGatewayTest { @BeforeAll fun setup() = runBlocking { apiGatewayClient = ApiGatewayClient { region = "us-east-1" } - // Get values from AWS Secrets Manager. val random = Random() val randomNum = random.nextInt(10000 - 1 + 1) + 1 val gson = Gson() @@ -43,49 +45,34 @@ class APIGatewayTest { httpMethod = values.httpMethod.toString() restApiName = values.restApiName.toString() + randomNum stageName = values.stageName.toString() - - /* - val input: InputStream = this.javaClass.getClassLoader().getResourceAsStream("config.properties") - val prop = Properties() - - // load the properties file. - prop.load(input) - - // Populate the data members required for all tests - restApiId = prop.getProperty("restApiId") - resourceId = prop.getProperty("resourceId") - httpMethod = prop.getProperty("httpMethod") - restApiName = prop.getProperty("restApiName") - stageName = prop.getProperty("stageName") - */ } @Test @Order(1) fun createRestApiTest() = runBlocking { newApiId = createAPI(restApiId).toString() - println("Test 2 passed") + logger.info("Test 1 passed") } @Test @Order(2) fun getDeploymentsTest() = runBlocking { getAllDeployments(newApiId) - println("Test 4 passed") + logger.info("Test 2 passed") } @Test @Order(3) fun getAllStagesTest() = runBlocking { getAllStages(newApiId) - println("Test 5 passed") + logger.info("Test 3 passed") } @Test @Order(4) fun deleteRestApi() = runBlocking { deleteAPI(newApiId) - println("Test 6 passed") + logger.info("Test 4 passed") } private suspend fun getSecretValues(): String { diff --git a/kotlin/services/apigateway/src/test/resources/logback.xml b/kotlin/services/apigateway/src/test/resources/logback.xml new file mode 100644 index 00000000000..ba2fdf4e176 --- /dev/null +++ b/kotlin/services/apigateway/src/test/resources/logback.xml @@ -0,0 +1,11 @@ + + + + %d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n + + + + + + + \ No newline at end of file diff --git a/kotlin/services/appsync/build.gradle.kts b/kotlin/services/appsync/build.gradle.kts index 5b8b1111486..dbb9265f0d8 100644 --- a/kotlin/services/appsync/build.gradle.kts +++ b/kotlin/services/appsync/build.gradle.kts @@ -38,6 +38,8 @@ dependencies { implementation("com.googlecode.json-simple:json-simple:1.1.1") testImplementation("org.junit.jupiter:junit-jupiter:5.9.2") implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.4") + implementation("org.slf4j:slf4j-api:2.0.15") + implementation("org.slf4j:slf4j-simple:2.0.15") } tasks.withType { kotlinOptions.jvmTarget = "17" diff --git a/kotlin/services/appsync/src/test/kotlin/AppSyncTest.kt b/kotlin/services/appsync/src/test/kotlin/AppSyncTest.kt index a4c4e0344af..ede5e243617 100644 --- a/kotlin/services/appsync/src/test/kotlin/AppSyncTest.kt +++ b/kotlin/services/appsync/src/test/kotlin/AppSyncTest.kt @@ -1,7 +1,6 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 -import aws.sdk.kotlin.runtime.auth.credentials.EnvironmentCredentialsProvider import aws.sdk.kotlin.services.secretsmanager.SecretsManagerClient import aws.sdk.kotlin.services.secretsmanager.model.GetSecretValueRequest import com.example.appsync.createDS @@ -21,10 +20,13 @@ import org.junit.jupiter.api.Order import org.junit.jupiter.api.Test import org.junit.jupiter.api.TestInstance import org.junit.jupiter.api.TestMethodOrder +import org.slf4j.Logger +import org.slf4j.LoggerFactory @TestInstance(TestInstance.Lifecycle.PER_CLASS) @TestMethodOrder(OrderAnnotation::class) class AppSyncTest { + private val logger: Logger = LoggerFactory.getLogger(AppSyncTest::class.java) private var apiId = "" private var dsName = "" private var dsRole = "" @@ -42,17 +44,6 @@ class AppSyncTest { dsName = values.dsName.toString() dsRole = values.dsRole.toString() tableName = values.tableName.toString() - - // Uncomment this code block if you prefer using a config.properties file to retrieve AWS values required for these tests. - /* - val input: InputStream = this.javaClass.getClassLoader().getResourceAsStream("config.properties") - val prop = Properties() - prop.load(input) - apiId = prop.getProperty("apiId") - dsName = prop.getProperty("dsName") - dsRole = prop.getProperty("dsRole") - tableName = prop.getProperty("tableName") - */ } @Test @@ -61,7 +52,7 @@ class AppSyncTest { runBlocking { keyId = createKey(apiId).toString() assertTrue(!keyId.isEmpty()) - println("Test 1 passed") + logger.info("Test 1 passed") } @Test @@ -72,7 +63,7 @@ class AppSyncTest { if (dsARN != null) { assertTrue(dsARN.isNotEmpty()) } - println("Test 2 passed") + logger.info("Test 2 passed") } @Test @@ -80,7 +71,7 @@ class AppSyncTest { fun getDataSource() = runBlocking { getDS(apiId, dsName) - println("Test 3 passed") + logger.info("Test 3 passed") } @Test @@ -88,7 +79,7 @@ class AppSyncTest { fun listGraphqlApis() = runBlocking { getKeys(apiId) - println("Test 4 passed") + logger.info("Test 4 passed") } @Test @@ -96,7 +87,7 @@ class AppSyncTest { fun listApiKeys() = runBlocking { getKeys(apiId) - println("Test 5 passed") + logger.info("Test 5 passed") } @Test @@ -104,7 +95,7 @@ class AppSyncTest { fun deleteDataSource() = runBlocking { deleteDS(apiId, dsName) - println("Test 6 passed") + logger.info("Test 6 passed") } @Test @@ -112,7 +103,7 @@ class AppSyncTest { fun deleteApiKey() = runBlocking { deleteKey(keyId, apiId) - println("Test 7 passed") + logger.info("Test 7 passed") } private suspend fun getSecretValues(): String { @@ -123,7 +114,6 @@ class AppSyncTest { } SecretsManagerClient { region = "us-east-1" - credentialsProvider = EnvironmentCredentialsProvider() }.use { secretClient -> val valueResponse = secretClient.getSecretValue(valueRequest) return valueResponse.secretString.toString() diff --git a/kotlin/services/appsync/src/test/resources/logback.xml b/kotlin/services/appsync/src/test/resources/logback.xml new file mode 100644 index 00000000000..ba2fdf4e176 --- /dev/null +++ b/kotlin/services/appsync/src/test/resources/logback.xml @@ -0,0 +1,11 @@ + + + + %d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n + + + + + + + \ No newline at end of file