napperley
03/21/2019, 4:23 AMimport io.kotlintest.specs.FunSpec
import io.ktor.application.Application
import io.ktor.http.HttpMethod
import io.ktor.http.HttpStatusCode
import io.ktor.server.testing.handleRequest
import io.ktor.server.testing.withTestApplication
import kotlin.test.assertEquals
class RouteTest : FunSpec() {
init {
testHomeRouteExists()
}
private fun testHomeRouteExists() = test("homeRouteExists") {
withTestApplication(Application::main) {
with(handleRequest(HttpMethod.Get, "/")) {
assertEquals(expected = HttpStatusCode.OK, actual = response.status())
assertEquals(expected = "Battery Info Server\n", actual = response.content)
}
}
}
}
// ...
fun main() {
val env = applicationEngineEnvironment {
module { main() }
connector {
host = GeneralSettings.host
port = GeneralSettings.port
}
}
<http://logger.info|logger.info>("Starting server (on http://${GeneralSettings.host}:${GeneralSettings.port})...")
embeddedServer(factory = Netty, environment = env).start(true)
}
fun Application.main() {
connectToDb()
install(ContentNegotiation, setupJackson())
install(StatusPages, setupStatusPages())
routing {
homeRoute(this)
ownerExistsRoute(this)
listOwnersRoute(this)
setupSiteRoutes(this)
setupSensorDataRoutes(this)
sensorDataTimestampRangeRoute(this)
}
}
// ...
dave08
03/24/2019, 5:25 AMnapperley
03/24/2019, 8:23 PMfun Application.testMain() {
install(ContentNegotiation, setupJackson())
install(StatusPages, setupStatusPages())
routing {
homeRoute(this)
setupOwnerRoutes(this, true)
setupSiteRoutes(this, true)
setupSensorDataRoutes(this, true)
}
}
dave08
03/25/2019, 11:09 AMport(8080) { ... }
route, and the tests seem to ignore it, I guess its a different problem then 😞