Server: Implement get version

This commit is contained in:
2020-11-22 09:49:35 -06:00
parent 8fa3ba1b18
commit 2848c4e77b
2 changed files with 20 additions and 0 deletions

View File

@@ -50,5 +50,14 @@ fun Routing.storage(app: SyncApplication) {
call.respond(HttpStatusCode.Conflict, currData)
}
}
get("version") {
val key = call.parameters["key"]!!
try {
val data = app.server.get(key)
call.respond(HttpStatusCode.OK, data.version)
} catch(e: KeyNotFoundException) {
call.respond(HttpStatusCode.NotFound)
}
}
}
}

View File

@@ -41,6 +41,17 @@ class StorageModuleTest : BaseApplicationTest() {
}
}
@Test
fun `when get version succeeds should return version`() {
`when`(server.get("k1")).thenReturn(data1)
withTestApplication(app()) {
handleGet("/db/k1/version").apply {
assertEquals(HttpStatusCode.OK, response.status())
assertEquals("1", response.content)
}
}
}
@Test
fun `when get with invalid key should return 404`() {
`when`(server.get("k1")).thenThrow(KeyNotFoundException())