From 6aa99f550a24738b1728a9ee3c5bf063cbaaaff0 Mon Sep 17 00:00:00 2001 From: Conor Gallagher Date: Wed, 3 Aug 2022 12:28:56 +0100 Subject: [PATCH] Remove LoggingInterceptor. (#143) We should not be generating a Logging interceptor that is pinned to specific logging implementation. Removing this so people can choose whatever logging framework they like --- .../client/OkHttpSimpleClientGenerator.kt | 9 ++----- .../fabrikt/model/HandlebarsTemplates.kt | 1 - .../client-code/logging-interceptor.kt.hbs | 25 ------------------- .../generators/OkHttpClientGeneratorTest.kt | 17 ------------- .../okHttpClient/client/LoggingInterceptor.kt | 25 ------------------- .../client/LoggingInterceptor.kt | 25 ------------------- .../client/LoggingInterceptor.kt | 25 ------------------- .../client/LoggingInterceptor.kt | 25 ------------------- .../client/LoggingInterceptor.kt | 25 ------------------- 9 files changed, 2 insertions(+), 175 deletions(-) delete mode 100644 src/main/resources/templates/client-code/logging-interceptor.kt.hbs delete mode 100644 src/test/resources/examples/okHttpClient/client/LoggingInterceptor.kt delete mode 100644 src/test/resources/examples/okHttpClientMultiMediaType/client/LoggingInterceptor.kt delete mode 100644 src/test/resources/examples/okHttpClientPostWithoutRequestBody/client/LoggingInterceptor.kt delete mode 100644 src/test/resources/examples/parameterNameClash/client/LoggingInterceptor.kt delete mode 100644 src/test/resources/examples/pathLevelParameters/client/LoggingInterceptor.kt diff --git a/src/main/kotlin/com/cjbooms/fabrikt/generators/client/OkHttpSimpleClientGenerator.kt b/src/main/kotlin/com/cjbooms/fabrikt/generators/client/OkHttpSimpleClientGenerator.kt index 15c86696..c5f1b914 100644 --- a/src/main/kotlin/com/cjbooms/fabrikt/generators/client/OkHttpSimpleClientGenerator.kt +++ b/src/main/kotlin/com/cjbooms/fabrikt/generators/client/OkHttpSimpleClientGenerator.kt @@ -114,12 +114,6 @@ class OkHttpSimpleClientGenerator( input = packages, path = clientDir, fileName = "OAuth.kt" - ), - HandlebarsTemplates.applyTemplate( - template = HandlebarsTemplates.clientLoggingInterceptor, - input = packages, - path = clientDir, - fileName = "LoggingInterceptor.kt" ) ) } @@ -194,7 +188,8 @@ data class SimpleClientOperationStatement( .filter { it.parameterLocation == HeaderParam } .forEach { this.add( - "\n.%T(%S, %L)", "header".toClassName(packages.client), + "\n.%T(%S, %L)", + "header".toClassName(packages.client), it.originalName, it.name + if (it.typeInfo is KotlinTypeInfo.Enum) "?.value" else "" ) diff --git a/src/main/kotlin/com/cjbooms/fabrikt/model/HandlebarsTemplates.kt b/src/main/kotlin/com/cjbooms/fabrikt/model/HandlebarsTemplates.kt index 4bc7908e..a515afa5 100644 --- a/src/main/kotlin/com/cjbooms/fabrikt/model/HandlebarsTemplates.kt +++ b/src/main/kotlin/com/cjbooms/fabrikt/model/HandlebarsTemplates.kt @@ -26,7 +26,6 @@ object HandlebarsTemplates { val clientOAuth = handlebars.compile("/templates/client-code/oauth.kt")!! val clientHttpUtils = handlebars.compile("/templates/client-code/http-util.kt")!! val clientHttpResilience4jUtils = handlebars.compile("/templates/client-code/http-resilience4j-util.kt")!! - val clientLoggingInterceptor = handlebars.compile("/templates/client-code/logging-interceptor.kt")!! fun applyTemplate( template: Template, diff --git a/src/main/resources/templates/client-code/logging-interceptor.kt.hbs b/src/main/resources/templates/client-code/logging-interceptor.kt.hbs deleted file mode 100644 index 47e4430d..00000000 --- a/src/main/resources/templates/client-code/logging-interceptor.kt.hbs +++ /dev/null @@ -1,25 +0,0 @@ -package {{ client }} - -import okhttp3.Interceptor -import okhttp3.Response -import org.slf4j.Logger -import org.slf4j.LoggerFactory - -class LoggingInterceptor : Interceptor { - - private val logger: Logger = LoggerFactory.getLogger("GeneratedClient") - - override fun intercept(chain: Interceptor.Chain): Response { - val request = chain.request() - - val t1 = System.nanoTime() - logger.info("Client Request: $request") - - val response = chain.proceed(request) - - val t2 = System.nanoTime() - logger.info("Client Response after ${(t2 - t1) / 100_000}ms: $response") - - return response - } -} diff --git a/src/test/kotlin/com/cjbooms/fabrikt/generators/OkHttpClientGeneratorTest.kt b/src/test/kotlin/com/cjbooms/fabrikt/generators/OkHttpClientGeneratorTest.kt index c9e3ace6..e2a43397 100644 --- a/src/test/kotlin/com/cjbooms/fabrikt/generators/OkHttpClientGeneratorTest.kt +++ b/src/test/kotlin/com/cjbooms/fabrikt/generators/OkHttpClientGeneratorTest.kt @@ -120,23 +120,6 @@ class OkHttpClientGeneratorTest { assertThat(generatedHttpUtils.content).isEqualTo(expectedHttpUtils) } - @ParameterizedTest - @MethodSource("fullApiTestCases") - fun `correct logging interceptor libraries are generated`(testCaseName: String) { - val packages = Packages("examples.$testCaseName") - val sourceApi = SourceApi(readTextResource("/examples/$testCaseName/api.yaml")) - - val expectedLoggingInterceptor = readTextResource("/examples/$testCaseName/client/LoggingInterceptor.kt") - - val generatedLoggingInterceptor = OkHttpSimpleClientGenerator( - packages, - sourceApi - ).generateLibrary().filterIsInstance() - .first { it.path.fileName.toString() == "LoggingInterceptor.kt" } - - assertThat(generatedLoggingInterceptor.content).isEqualTo(expectedLoggingInterceptor) - } - private fun Collection.toSingleFile(): String { val destPackage = if (this.isNotEmpty()) first().destinationPackage else "" val singleFileBuilder = FileSpec.builder(destPackage, "dummyFilename") diff --git a/src/test/resources/examples/okHttpClient/client/LoggingInterceptor.kt b/src/test/resources/examples/okHttpClient/client/LoggingInterceptor.kt deleted file mode 100644 index 6e95b996..00000000 --- a/src/test/resources/examples/okHttpClient/client/LoggingInterceptor.kt +++ /dev/null @@ -1,25 +0,0 @@ -package examples.okHttpClient.client - -import okhttp3.Interceptor -import okhttp3.Response -import org.slf4j.Logger -import org.slf4j.LoggerFactory - -class LoggingInterceptor : Interceptor { - - private val logger: Logger = LoggerFactory.getLogger("GeneratedClient") - - override fun intercept(chain: Interceptor.Chain): Response { - val request = chain.request() - - val t1 = System.nanoTime() - logger.info("Client Request: $request") - - val response = chain.proceed(request) - - val t2 = System.nanoTime() - logger.info("Client Response after ${(t2 - t1) / 100_000}ms: $response") - - return response - } -} diff --git a/src/test/resources/examples/okHttpClientMultiMediaType/client/LoggingInterceptor.kt b/src/test/resources/examples/okHttpClientMultiMediaType/client/LoggingInterceptor.kt deleted file mode 100644 index 40273e9b..00000000 --- a/src/test/resources/examples/okHttpClientMultiMediaType/client/LoggingInterceptor.kt +++ /dev/null @@ -1,25 +0,0 @@ -package examples.okHttpClientMultiMediaType.client - -import okhttp3.Interceptor -import okhttp3.Response -import org.slf4j.Logger -import org.slf4j.LoggerFactory - -class LoggingInterceptor : Interceptor { - - private val logger: Logger = LoggerFactory.getLogger("GeneratedClient") - - override fun intercept(chain: Interceptor.Chain): Response { - val request = chain.request() - - val t1 = System.nanoTime() - logger.info("Client Request: $request") - - val response = chain.proceed(request) - - val t2 = System.nanoTime() - logger.info("Client Response after ${(t2 - t1) / 100_000}ms: $response") - - return response - } -} diff --git a/src/test/resources/examples/okHttpClientPostWithoutRequestBody/client/LoggingInterceptor.kt b/src/test/resources/examples/okHttpClientPostWithoutRequestBody/client/LoggingInterceptor.kt deleted file mode 100644 index 5cbfbd26..00000000 --- a/src/test/resources/examples/okHttpClientPostWithoutRequestBody/client/LoggingInterceptor.kt +++ /dev/null @@ -1,25 +0,0 @@ -package examples.okHttpClientPostWithoutRequestBody.client - -import okhttp3.Interceptor -import okhttp3.Response -import org.slf4j.Logger -import org.slf4j.LoggerFactory - -class LoggingInterceptor : Interceptor { - - private val logger: Logger = LoggerFactory.getLogger("GeneratedClient") - - override fun intercept(chain: Interceptor.Chain): Response { - val request = chain.request() - - val t1 = System.nanoTime() - logger.info("Client Request: $request") - - val response = chain.proceed(request) - - val t2 = System.nanoTime() - logger.info("Client Response after ${(t2 - t1) / 100_000}ms: $response") - - return response - } -} diff --git a/src/test/resources/examples/parameterNameClash/client/LoggingInterceptor.kt b/src/test/resources/examples/parameterNameClash/client/LoggingInterceptor.kt deleted file mode 100644 index 7105af67..00000000 --- a/src/test/resources/examples/parameterNameClash/client/LoggingInterceptor.kt +++ /dev/null @@ -1,25 +0,0 @@ -package examples.parameterNameClash.client - -import okhttp3.Interceptor -import okhttp3.Response -import org.slf4j.Logger -import org.slf4j.LoggerFactory - -class LoggingInterceptor : Interceptor { - - private val logger: Logger = LoggerFactory.getLogger("GeneratedClient") - - override fun intercept(chain: Interceptor.Chain): Response { - val request = chain.request() - - val t1 = System.nanoTime() - logger.info("Client Request: $request") - - val response = chain.proceed(request) - - val t2 = System.nanoTime() - logger.info("Client Response after ${(t2 - t1) / 100_000}ms: $response") - - return response - } -} diff --git a/src/test/resources/examples/pathLevelParameters/client/LoggingInterceptor.kt b/src/test/resources/examples/pathLevelParameters/client/LoggingInterceptor.kt deleted file mode 100644 index 95f3995a..00000000 --- a/src/test/resources/examples/pathLevelParameters/client/LoggingInterceptor.kt +++ /dev/null @@ -1,25 +0,0 @@ -package examples.pathLevelParameters.client - -import okhttp3.Interceptor -import okhttp3.Response -import org.slf4j.Logger -import org.slf4j.LoggerFactory - -class LoggingInterceptor : Interceptor { - - private val logger: Logger = LoggerFactory.getLogger("GeneratedClient") - - override fun intercept(chain: Interceptor.Chain): Response { - val request = chain.request() - - val t1 = System.nanoTime() - logger.info("Client Request: $request") - - val response = chain.proceed(request) - - val t2 = System.nanoTime() - logger.info("Client Response after ${(t2 - t1) / 100_000}ms: $response") - - return response - } -}