Application not run migration if test

This commit is contained in:
2019-08-28 23:38:28 +02:00
parent 4c2da6ab71
commit b00456b31a
2 changed files with 11 additions and 4 deletions

View File

@@ -7,12 +7,14 @@ import com.fasterxml.jackson.databind.PropertyNamingStrategy
import com.fasterxml.jackson.databind.SerializationFeature import com.fasterxml.jackson.databind.SerializationFeature
import com.fasterxml.jackson.datatype.joda.JodaModule import com.fasterxml.jackson.datatype.joda.JodaModule
import com.github.jasync.sql.db.postgresql.exceptions.GenericDatabaseException import com.github.jasync.sql.db.postgresql.exceptions.GenericDatabaseException
import fr.dcproject.Env.PROD
import fr.dcproject.entity.Article import fr.dcproject.entity.Article
import fr.dcproject.entity.Citizen import fr.dcproject.entity.Citizen
import fr.dcproject.entity.Constitution import fr.dcproject.entity.Constitution
import fr.dcproject.entity.User import fr.dcproject.entity.User
import fr.dcproject.routes.* import fr.dcproject.routes.*
import fr.dcproject.security.voter.* import fr.dcproject.security.voter.*
import fr.postgresjson.migration.Migrations
import io.ktor.application.Application import io.ktor.application.Application
import io.ktor.application.ApplicationCall import io.ktor.application.ApplicationCall
import io.ktor.application.call import io.ktor.application.call
@@ -41,10 +43,12 @@ import fr.dcproject.repository.User as UserRepository
fun main(args: Array<String>): Unit = io.ktor.server.jetty.EngineMain.main(args) fun main(args: Array<String>): Unit = io.ktor.server.jetty.EngineMain.main(args)
enum class Env { PROD, TEST, CUCUMBER }
@KtorExperimentalAPI @KtorExperimentalAPI
@KtorExperimentalLocationsAPI @KtorExperimentalLocationsAPI
@Suppress("unused") // Referenced in application.conf @Suppress("unused") // Referenced in application.conf
fun Application.module() { fun Application.module(env: Env = PROD) {
install(Koin) { install(Koin) {
Slf4jLog() Slf4jLog()
modules(Module) modules(Module)
@@ -171,5 +175,7 @@ fun Application.module() {
} }
// TODO move to postgresJson lib // TODO move to postgresJson lib
get<Migrations>().run() if (env == PROD) {
get<Migrations>().run()
}
} }

View File

@@ -1,4 +1,5 @@
import feature.KtorServerContext import feature.KtorServerContext
import fr.dcproject.Env.CUCUMBER
import fr.dcproject.config import fr.dcproject.config
import fr.dcproject.module import fr.dcproject.module
import fr.dcproject.utils.LoggerDelegate import fr.dcproject.utils.LoggerDelegate
@@ -27,7 +28,7 @@ class RunCucumberTest: En, KoinTest {
private val logger: Logger? by LoggerDelegate() private val logger: Logger? by LoggerDelegate()
val ktorContext = KtorServerContext { val ktorContext = KtorServerContext {
module() module(CUCUMBER)
} }
init { init {
@@ -37,7 +38,7 @@ class RunCucumberTest: En, KoinTest {
config.username = "test" config.username = "test"
config.password = "test" config.password = "test"
withTestApplication({ module() }) { withTestApplication({ module(CUCUMBER) }) {
migrations() migrations()
fixtures() fixtures()
} }