Merge pull request #86
move "Check auth on all routes" extension into the class
This commit was merged in pull request #86.
This commit is contained in:
@@ -84,64 +84,65 @@ class `Check auth on all routes` : BaseTest() {
|
|||||||
return """HttpStatus ${statusCode.value} for: ${method.value.padStart(6, ' ')} $uri"""
|
return """HttpStatus ${statusCode.value} for: ${method.value.padStart(6, ' ')} $uri"""
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
private fun Path.buildUrl(path: String, methodName: String, context: OAIContext): String {
|
private fun Path.buildUrl(path: String, methodName: String, context: OAIContext): String {
|
||||||
val urlReplaced = this.getParametersIn(context, "path")
|
val urlReplaced = this.getParametersIn(context, "path")
|
||||||
.fold(path) { pathToReplace: String, parameter: Parameter ->
|
.fold(path) { pathToReplace: String, parameter: Parameter ->
|
||||||
"""\{${parameter.name}}""".toRegex().replace(
|
"""\{${parameter.name}}""".toRegex().replace(
|
||||||
pathToReplace,
|
pathToReplace,
|
||||||
parameter.generateFakeValue()
|
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
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
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<String> {
|
private fun Parameter.generateFakeArray(): List<String> {
|
||||||
if (schema.type != "array") {
|
if (schema.type != "array") {
|
||||||
error("Parameter is not an array")
|
error("Parameter is not an array")
|
||||||
}
|
}
|
||||||
return if (example != null && example is Iterable<*>) {
|
return if (example != null && example is Iterable<*>) {
|
||||||
(example as Iterable<*>).map { it.toString() }
|
(example as Iterable<*>).map { it.toString() }
|
||||||
} else if (schema.itemsSchema.type == "string" && schema.itemsSchema.format == "uuid") {
|
} else if (schema.itemsSchema.type == "string" && schema.itemsSchema.format == "uuid") {
|
||||||
listOf(UUID.randomUUID().toString())
|
listOf(UUID.randomUUID().toString())
|
||||||
} else {
|
} else {
|
||||||
listOf("example123")
|
listOf("example123")
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user