From c0e364637a9faa6f6e5322295637b80a696cfb10 Mon Sep 17 00:00:00 2001 From: Fabrice Lecomte Date: Wed, 31 Mar 2021 12:30:37 +0200 Subject: [PATCH] move "Check auth on all routes" extension into the class --- .../integration/Check auth on all routes.kt | 109 +++++++++--------- 1 file changed, 55 insertions(+), 54 deletions(-) diff --git a/src/test/kotlin/integration/Check auth on all routes.kt b/src/test/kotlin/integration/Check auth on all routes.kt index e0400d8..9107bbd 100644 --- a/src/test/kotlin/integration/Check auth on all routes.kt +++ b/src/test/kotlin/integration/Check auth on all routes.kt @@ -84,64 +84,65 @@ class `Check auth on all routes` : BaseTest() { return """HttpStatus ${statusCode.value} for: ${method.value.padStart(6, ' ')} $uri""" } } -} -private fun Path.buildUrl(path: String, methodName: String, context: OAIContext): String { - val urlReplaced = this.getParametersIn(context, "path") - .fold(path) { pathToReplace: String, parameter: Parameter -> - """\{${parameter.name}}""".toRegex().replace( - pathToReplace, - parameter.generateFakeValue() - ) - } - - val rootQueryParameters = this.getParametersIn(context, "query") - .filter { it.isRequired } - .map { parameter -> - parameter - .generateFakeArray() - .joinToString("&") { "${parameter.name}=$it" } - } - - val queryParameters = this.getOperation(methodName).getParametersIn(context, "query") - .filter { it.isRequired } - .map { parameter -> - parameter - .generateFakeArray() - .joinToString("&") { "${parameter.name}=$it" } - } - val allParameters: String = (rootQueryParameters + queryParameters) - .joinToString("&") - .let { - if (it.isNotEmpty()) { - "?$it" - } else { - it + private fun Path.buildUrl(path: String, methodName: String, context: OAIContext): String { + val urlReplaced = this.getParametersIn(context, "path") + .fold(path) { pathToReplace: String, parameter: Parameter -> + """\{${parameter.name}}""".toRegex().replace( + pathToReplace, + parameter.generateFakeValue() + ) } + + val rootQueryParameters = this.getParametersIn(context, "query") + .filter { it.isRequired } + .map { parameter -> + parameter + .generateFakeArray() + .joinToString("&") { "${parameter.name}=$it" } + } + + val queryParameters = this.getOperation(methodName).getParametersIn(context, "query") + .filter { it.isRequired } + .map { parameter -> + parameter + .generateFakeArray() + .joinToString("&") { "${parameter.name}=$it" } + } + val allParameters: String = (rootQueryParameters + queryParameters) + .joinToString("&") + .let { + if (it.isNotEmpty()) { + "?$it" + } else { + it + } + } + + return "$urlReplaced$allParameters" + } + + private fun Parameter.generateFakeValue(): String { + return if (example != null) { + example.toString() + } else if (schema.type == "string" && schema.format == "uuid") { + UUID.randomUUID().toString() + } else { + "example123" } - - return "$urlReplaced$allParameters" -} - -private fun Parameter.generateFakeValue(): String { - return if (example != null) { - example.toString() - } else if (schema.type == "string" && schema.format == "uuid") { - UUID.randomUUID().toString() - } else { - "example123" } -} -private fun Parameter.generateFakeArray(): List { - if (schema.type != "array") { - error("Parameter is not an array") - } - return if (example != null && example is Iterable<*>) { - (example as Iterable<*>).map { it.toString() } - } else if (schema.itemsSchema.type == "string" && schema.itemsSchema.format == "uuid") { - listOf(UUID.randomUUID().toString()) - } else { - listOf("example123") + private fun Parameter.generateFakeArray(): List { + if (schema.type != "array") { + error("Parameter is not an array") + } + return if (example != null && example is Iterable<*>) { + (example as Iterable<*>).map { it.toString() } + } else if (schema.itemsSchema.type == "string" && schema.itemsSchema.format == "uuid") { + listOf(UUID.randomUUID().toString()) + } else { + listOf("example123") + } } + } -- 2.49.1