diff --git a/server/src/test/kotlin/dev/ulfrx/recipe/ApplicationTest.kt b/server/src/test/kotlin/dev/ulfrx/recipe/ApplicationTest.kt index 296e95f..6f9f71a 100644 --- a/server/src/test/kotlin/dev/ulfrx/recipe/ApplicationTest.kt +++ b/server/src/test/kotlin/dev/ulfrx/recipe/ApplicationTest.kt @@ -1,20 +1,30 @@ package dev.ulfrx.recipe -import io.ktor.client.request.* -import io.ktor.client.statement.* -import io.ktor.http.* -import io.ktor.server.testing.* -import kotlin.test.* +import io.ktor.client.request.get +import io.ktor.client.statement.bodyAsText +import io.ktor.http.HttpStatusCode +import io.ktor.serialization.kotlinx.json.json +import io.ktor.server.application.install +import io.ktor.server.plugins.contentnegotiation.ContentNegotiation +import io.ktor.server.testing.testApplication +import kotlin.test.Test +import kotlin.test.assertEquals +import kotlin.test.assertTrue class ApplicationTest { @Test - fun testRoot() = testApplication { + fun `health endpoint returns 200 with status ok`() = testApplication { application { - module() + install(ContentNegotiation) { + json() + } + configureRouting() } - val response = client.get("/") + val response = client.get("/health") assertEquals(HttpStatusCode.OK, response.status) - assertEquals("Ktor: ${Greeting().greet()}", response.bodyAsText()) + val body = response.bodyAsText() + assertTrue(body.contains("\"status\""), "expected body to contain status field, was: $body") + assertTrue(body.contains("\"ok\""), "expected body to contain ok value, was: $body") } -} \ No newline at end of file +}