Fix api version shit

This commit is contained in:
ProtoByter 2022-12-03 20:12:23 +00:00
parent 2f7904e451
commit 2c5adf86a1
2 changed files with 47 additions and 14 deletions

View File

@ -60,23 +60,26 @@ fun Application.module() {
call.respond(HttpStatusCode.BadRequest, "Invalid request")
}
if (Versions.apiver.toInt() != request?.apiVer) {
call.respond(HttpStatusCode.BadRequest, "Invalid API version")
if (request == null) {
call.respond(HttpStatusCode.BadRequest, "Invalid request")
return@post
}
if (request != null) {
var client = DatabaseHandler.getClient(request.name)
if (Versions.apiver.toInt() != request.apiVer) {
return@post call.respond(HttpStatusCode.BadRequest, "Invalid API version")
}
if (client == null) {
client = DatabaseHandler.getClient(request.id)
}
var client = DatabaseHandler.getClient(request.name)
if (client != null) {
call.respond(HttpStatusCode.BadRequest, "Invalid request")
} else {
val id = DatabaseHandler.addClient(request.id, request.name,this.call.request.origin.remoteHost+":${this.call.request.origin.port}", request.sampledClients)
call.respond(HttpStatusCode.OK, RegisterResponse(id))
}
if (client == null) {
client = DatabaseHandler.getClient(request.id)
}
if (client != null) {
call.respond(HttpStatusCode.BadRequest, "Invalid request")
} else {
val id = DatabaseHandler.addClient(request.id, request.name,this.call.request.origin.remoteHost+":${this.call.request.origin.port}", request.sampledClients)
call.respond(HttpStatusCode.OK, RegisterResponse(id))
}
}

View File

@ -183,7 +183,8 @@ class ApplicationKtTest {
UUID.fromString("00000000-0000-0000-0000-000000000002"),
"TestClient2",
1,
sampledClientsTestVal
sampledClientsTestVal,
1
)
)
}.apply {
@ -192,6 +193,35 @@ class ApplicationKtTest {
}
}
@Test
fun testRegisterRequestInvalidAPIVersion() = testApplication {
val client = createClient {
install(ContentNegotiation) {
json()
}
}
application {
module()
}
client.post("/register") {
contentType(ContentType.Application.Json)
setBody(
RegisterRequest(
UUID.fromString("00000000-0000-0000-0000-000000000002"),
"TestClient3",
1,
sampledClientsTestVal,
0
)
)
}.apply {
assertEquals(400, this.status.value)
assertEquals("Invalid API version", this.body())
}
}
@Test
fun testSearchRequestNoBody() = testApplication {
application {