diff --git a/src/main/kotlin/Application.kt b/src/main/kotlin/application/Application.kt similarity index 96% rename from src/main/kotlin/Application.kt rename to src/main/kotlin/application/Application.kt index b94c789..c2b6cd9 100644 --- a/src/main/kotlin/Application.kt +++ b/src/main/kotlin/application/Application.kt @@ -1,4 +1,4 @@ -package fr.dcproject +package fr.dcproject.application import com.fasterxml.jackson.core.util.DefaultIndenter import com.fasterxml.jackson.core.util.DefaultPrettyPrinter @@ -7,16 +7,19 @@ import com.fasterxml.jackson.databind.PropertyNamingStrategy import com.fasterxml.jackson.databind.SerializationFeature import com.fasterxml.jackson.datatype.joda.JodaModule import com.github.jasync.sql.db.postgresql.exceptions.GenericDatabaseException -import fr.dcproject.Env.PROD +import fr.dcproject.application.Env.PROD import fr.dcproject.component.article.routes.findArticleVersions import fr.dcproject.component.article.routes.findArticles import fr.dcproject.component.article.routes.getOneArticle import fr.dcproject.component.article.routes.upsertArticle +import fr.dcproject.component.auth.ForbiddenException import fr.dcproject.component.auth.User import fr.dcproject.component.auth.UserRepository +import fr.dcproject.component.auth.jwt.JwtConfig import fr.dcproject.component.auth.routes.authLogin import fr.dcproject.component.auth.routes.authRegister import fr.dcproject.component.auth.routes.authSso +import fr.dcproject.component.auth.user import fr.dcproject.component.citizen.routes.changeMyPassword import fr.dcproject.component.citizen.routes.findCitizen import fr.dcproject.component.citizen.routes.getCurrentCitizen @@ -48,7 +51,7 @@ import io.ktor.application.* import io.ktor.auth.* import io.ktor.auth.jwt.* import io.ktor.client.* -import io.ktor.client.engine.jetty.* +import io.ktor.client.engine.jetty.Jetty import io.ktor.features.* import io.ktor.http.* import io.ktor.http.auth.* @@ -56,6 +59,7 @@ import io.ktor.jackson.* import io.ktor.locations.* import io.ktor.response.* import io.ktor.routing.* +import io.ktor.server.jetty.* import io.ktor.util.* import io.ktor.websocket.* import kotlinx.coroutines.ExperimentalCoroutinesApi @@ -68,7 +72,7 @@ import java.time.Duration import java.util.* import java.util.concurrent.CompletionException -fun main(args: Array): Unit = io.ktor.server.jetty.EngineMain.main(args) +fun main(args: Array): Unit = EngineMain.main(args) enum class Env { PROD, TEST, CUCUMBER } diff --git a/src/main/kotlin/Configuration.kt b/src/main/kotlin/application/Configuration.kt similarity index 50% rename from src/main/kotlin/Configuration.kt rename to src/main/kotlin/application/Configuration.kt index e558fa0..f8597b6 100644 --- a/src/main/kotlin/Configuration.kt +++ b/src/main/kotlin/application/Configuration.kt @@ -1,14 +1,9 @@ -package fr.dcproject +package fr.dcproject.application -import com.auth0.jwt.JWT -import com.auth0.jwt.JWTVerifier -import com.auth0.jwt.algorithms.Algorithm import com.typesafe.config.ConfigFactory -import fr.dcproject.component.auth.UserI import java.net.URI -import java.util.* -object Config { +object Configuration { private var config = ConfigFactory.load() object Sql { @@ -31,33 +26,3 @@ object Config { val exchangeNotificationName = "notification" val sendGridKey: String = config.getString("mail.sendGrid.key") } - -object JwtConfig { - private const val secret = "zAP5MBA4B4Ijz0MZaS48" - const val issuer = "dc-project.fr" - private const val validityInMs = 3_600_000 * 10 // 10 hours - - // TODO change to RSA512 - val algorithm = Algorithm.HMAC512(secret) - - val verifier: JWTVerifier = JWT - .require(algorithm) - .withIssuer(issuer) - .build() - - /** - * Produce a token for this combination of User and Account - * TODO move token creator in other place - */ - fun makeToken(user: UserI): String = JWT.create() - .withSubject("Authentication") - .withIssuer(issuer) - .withClaim("id", user.id.toString()) - .withExpiresAt(getExpiration()) - .sign(algorithm) - - /** - * Calculate the expiration Date based on current time + the given validity - */ - private fun getExpiration() = Date(System.currentTimeMillis() + validityInMs) -} \ No newline at end of file diff --git a/src/main/kotlin/Converters.kt b/src/main/kotlin/application/Converters.kt similarity index 93% rename from src/main/kotlin/Converters.kt rename to src/main/kotlin/application/Converters.kt index bb7dedf..57f324a 100644 --- a/src/main/kotlin/Converters.kt +++ b/src/main/kotlin/application/Converters.kt @@ -1,4 +1,4 @@ -package fr.dcproject +package fr.dcproject.application import fr.dcproject.component.article.ArticleForView import fr.dcproject.component.article.ArticleRef @@ -6,12 +6,14 @@ import fr.dcproject.component.article.ArticleRepository import fr.dcproject.component.citizen.Citizen import fr.dcproject.component.citizen.CitizenBasic import fr.dcproject.component.citizen.CitizenRef +import fr.dcproject.component.citizen.CitizenRepository import fr.dcproject.component.comment.generic.CommentRef +import fr.dcproject.component.workgroup.Workgroup +import fr.dcproject.component.workgroup.WorkgroupRef +import fr.dcproject.component.workgroup.WorkgroupRepository import fr.dcproject.entity.Constitution import fr.dcproject.entity.ConstitutionRef -import fr.dcproject.component.workgroup.WorkgroupRef import fr.dcproject.repository.OpinionChoice -import fr.dcproject.component.workgroup.WorkgroupRepository import io.ktor.features.* import io.ktor.util.* import org.koin.core.context.GlobalContext @@ -84,7 +86,7 @@ val converters: ConverterDeclaration = { decode { values, _ -> val id = values.singleOrNull()?.let { UUID.fromString(it) } ?: throw InternalError("Cannot convert $values to UUID") - get().findById(id) ?: throw NotFoundException("Citizen $values not found") + get().findById(id) ?: throw NotFoundException("Citizen $values not found") } } @@ -113,7 +115,7 @@ val converters: ConverterDeclaration = { } } - convert> { + convert> { decode { values, _ -> val id = values.singleOrNull()?.let { UUID.fromString(it) } ?: throw InternalError("Cannot convert $values to UUID") diff --git a/src/main/kotlin/KoinModule.kt b/src/main/kotlin/application/KoinModule.kt similarity index 83% rename from src/main/kotlin/KoinModule.kt rename to src/main/kotlin/application/KoinModule.kt index 75c31cd..603b9a2 100644 --- a/src/main/kotlin/KoinModule.kt +++ b/src/main/kotlin/application/KoinModule.kt @@ -1,4 +1,4 @@ -package fr.dcproject +package fr.dcproject.application import com.fasterxml.jackson.databind.DeserializationFeature import com.fasterxml.jackson.databind.ObjectMapper @@ -48,30 +48,30 @@ import fr.dcproject.repository.VoteConstitution as VoteConstitutionRepository @KtorExperimentalAPI val KoinModule = module { - single { Config } + single { Configuration } // SQL connection single { Connection( - host = Config.host, - port = Config.port, - database = Config.database, - username = Config.username, - password = Config.password + host = Configuration.host, + port = Configuration.port, + database = Configuration.database, + username = Configuration.username, + password = Configuration.password ) } // Launch Database migration - single { Migrations(get(), Config.Sql.migrationFiles, Config.Sql.functionFiles) } + single { Migrations(get(), Configuration.Sql.migrationFiles, Configuration.Sql.functionFiles) } // Redis client single> { - RedisClient.create(Config.redis).connect()?.async() ?: error("Unable to connect to redis") + RedisClient.create(Configuration.redis).connect()?.async() ?: error("Unable to connect to redis") } // RabbitMQ single { - ConnectionFactory().apply { setUri(Config.rabbitmq) } + ConnectionFactory().apply { setUri(Configuration.rabbitmq) } } // JsonSerializer @@ -97,7 +97,7 @@ val KoinModule = module { single { Requester.RequesterFactory( connection = get(), - functionsDirectory = Config.Sql.functionFiles + functionsDirectory = Configuration.Sql.functionFiles ).createRequester() } @@ -127,19 +127,19 @@ val KoinModule = module { // Elasticsearch Client single { RestClient.builder( - HttpHost.create(Config.elasticsearch) + HttpHost.create(Configuration.elasticsearch) ).build() } single { ArticleViewManager(get()) } // Mailer - single { Mailer(Config.sendGridKey) } + single { Mailer(Configuration.sendGridKey) } // SSO Manager for connection - single { SsoManager(get(), Config.domain, get()) } + single { SsoManager(get(), Configuration.domain, get()) } single { Publisher(get(), get()) } - single { NotificationEmailSender(get(), Config.domain, get(), get()) } + single { NotificationEmailSender(get(), Configuration.domain, get(), get()) } } diff --git a/src/main/kotlin/component/article/routes/FindArticleVersions.kt b/src/main/kotlin/component/article/routes/FindArticleVersions.kt index ab1d7dc..38e3c90 100644 --- a/src/main/kotlin/component/article/routes/FindArticleVersions.kt +++ b/src/main/kotlin/component/article/routes/FindArticleVersions.kt @@ -1,9 +1,9 @@ package fr.dcproject.component.article.routes -import fr.dcproject.citizenOrNull import fr.dcproject.component.article.ArticleForView import fr.dcproject.component.article.ArticleRepository import fr.dcproject.component.article.ArticleVoter +import fr.dcproject.component.auth.citizenOrNull import fr.dcproject.voter.assert import fr.postgresjson.repository.RepositoryI import io.ktor.application.* diff --git a/src/main/kotlin/component/article/routes/FindArticles.kt b/src/main/kotlin/component/article/routes/FindArticles.kt index 517d807..ba4dfdb 100644 --- a/src/main/kotlin/component/article/routes/FindArticles.kt +++ b/src/main/kotlin/component/article/routes/FindArticles.kt @@ -1,9 +1,9 @@ package fr.dcproject.component.article.routes -import fr.dcproject.citizenOrNull import fr.dcproject.component.article.ArticleForListing import fr.dcproject.component.article.ArticleRepository import fr.dcproject.component.article.ArticleVoter +import fr.dcproject.component.auth.citizenOrNull import fr.dcproject.voter.assert import fr.postgresjson.connexion.Paginated import fr.postgresjson.repository.RepositoryI diff --git a/src/main/kotlin/component/article/routes/GetOneArticle.kt b/src/main/kotlin/component/article/routes/GetOneArticle.kt index 43c9b77..638a820 100644 --- a/src/main/kotlin/component/article/routes/GetOneArticle.kt +++ b/src/main/kotlin/component/article/routes/GetOneArticle.kt @@ -1,11 +1,11 @@ package fr.dcproject.component.article.routes -import fr.dcproject.citizenOrNull import fr.dcproject.component.article.ArticleForView import fr.dcproject.component.article.ArticleRepository import fr.dcproject.component.article.ArticleViewManager import fr.dcproject.component.article.ArticleVoter import fr.dcproject.component.article.routes.ArticleRequest.Output +import fr.dcproject.component.auth.citizenOrNull import fr.dcproject.dto.* import fr.dcproject.voter.assert import io.ktor.application.* diff --git a/src/main/kotlin/component/article/routes/UpsertArticle.kt b/src/main/kotlin/component/article/routes/UpsertArticle.kt index e525b9a..cdba467 100644 --- a/src/main/kotlin/component/article/routes/UpsertArticle.kt +++ b/src/main/kotlin/component/article/routes/UpsertArticle.kt @@ -1,16 +1,16 @@ package fr.dcproject.component.article.routes -import fr.dcproject.citizen -import fr.dcproject.citizenOrNull import fr.dcproject.component.article.ArticleForUpdate import fr.dcproject.component.article.ArticleForView import fr.dcproject.component.article.ArticleRepository import fr.dcproject.component.article.ArticleVoter import fr.dcproject.component.article.routes.PostArticleRequest.Input +import fr.dcproject.component.auth.citizen +import fr.dcproject.component.auth.citizenOrNull import fr.dcproject.component.workgroup.WorkgroupRef +import fr.dcproject.component.workgroup.WorkgroupRepository import fr.dcproject.event.ArticleUpdate import fr.dcproject.event.raiseEvent -import fr.dcproject.component.workgroup.WorkgroupRepository import fr.dcproject.voter.assert import io.ktor.application.* import io.ktor.locations.* diff --git a/src/main/kotlin/ApplicationContext.kt b/src/main/kotlin/component/auth/CitizenContext.kt similarity index 92% rename from src/main/kotlin/ApplicationContext.kt rename to src/main/kotlin/component/auth/CitizenContext.kt index 5257ff1..a384410 100644 --- a/src/main/kotlin/ApplicationContext.kt +++ b/src/main/kotlin/component/auth/CitizenContext.kt @@ -1,7 +1,5 @@ -package fr.dcproject +package fr.dcproject.component.auth -import fr.dcproject.component.auth.User -import fr.dcproject.component.auth.UserI import fr.dcproject.component.citizen.CitizenRepository import io.ktor.application.* import io.ktor.auth.* diff --git a/src/main/kotlin/component/auth/SsoManager.kt b/src/main/kotlin/component/auth/SsoManager.kt index f3613e5..331da58 100644 --- a/src/main/kotlin/component/auth/SsoManager.kt +++ b/src/main/kotlin/component/auth/SsoManager.kt @@ -3,10 +3,10 @@ package fr.dcproject.component.auth import com.sendgrid.helpers.mail.Mail import com.sendgrid.helpers.mail.objects.Content import com.sendgrid.helpers.mail.objects.Email -import fr.dcproject.JwtConfig import fr.dcproject.component.citizen.CitizenRepository import fr.dcproject.component.citizen.CitizenWithEmail import fr.dcproject.component.citizen.CitizenWithUserI +import fr.dcproject.makeToken import fr.dcproject.messages.Mailer import io.ktor.http.* @@ -25,7 +25,7 @@ class SsoManager( fun sendEmail(citizen: C, url: String) where C : CitizenWithEmail, C : CitizenWithUserI { mailer.sendEmail { - val token = JwtConfig.makeToken(citizen.user) + val token = citizen.user.makeToken() Mail( Email("sso@$domain"), "Connection", diff --git a/src/main/kotlin/component/auth/jwt/JWTMaker.kt b/src/main/kotlin/component/auth/jwt/JWTMaker.kt new file mode 100644 index 0000000..064c4c6 --- /dev/null +++ b/src/main/kotlin/component/auth/jwt/JWTMaker.kt @@ -0,0 +1,15 @@ +package fr.dcproject + +import com.auth0.jwt.JWT +import fr.dcproject.component.auth.UserI +import fr.dcproject.component.auth.jwt.JwtConfig + +/** + * Produce a token for this combination of User and Account + */ +fun UserI.makeToken(): String = JWT.create() + .withSubject("Authentication") + .withIssuer(JwtConfig.issuer) + .withClaim("id", id.toString()) + .withExpiresAt(JwtConfig.getExpiration()) + .sign(JwtConfig.algorithm) \ No newline at end of file diff --git a/src/main/kotlin/component/auth/jwt/JwtConfig.kt b/src/main/kotlin/component/auth/jwt/JwtConfig.kt new file mode 100644 index 0000000..06e2230 --- /dev/null +++ b/src/main/kotlin/component/auth/jwt/JwtConfig.kt @@ -0,0 +1,25 @@ +package fr.dcproject.component.auth.jwt + +import com.auth0.jwt.JWT +import com.auth0.jwt.JWTVerifier +import com.auth0.jwt.algorithms.Algorithm +import java.util.* + +object JwtConfig { + private const val secret = "zAP5MBA4B4Ijz0MZaS48" + const val issuer = "dc-project.fr" + private const val validityInMs = 3_600_000 * 10 // 10 hours + + // TODO change to RSA512 + val algorithm: Algorithm = Algorithm.HMAC512(secret) + + val verifier: JWTVerifier = JWT + .require(algorithm) + .withIssuer(issuer) + .build() + + /** + * Calculate the expiration Date based on current time + the given validity + */ + fun getExpiration() = Date(System.currentTimeMillis() + validityInMs) +} \ No newline at end of file diff --git a/src/main/kotlin/component/auth/routes/Login.kt b/src/main/kotlin/component/auth/routes/Login.kt index 6067d9e..435847d 100644 --- a/src/main/kotlin/component/auth/routes/Login.kt +++ b/src/main/kotlin/component/auth/routes/Login.kt @@ -1,8 +1,8 @@ package fr.dcproject.component.auth.routes import com.fasterxml.jackson.databind.exc.MismatchedInputException -import fr.dcproject.JwtConfig import fr.dcproject.component.auth.UserRepository +import fr.dcproject.makeToken import io.ktor.application.* import io.ktor.auth.* import io.ktor.http.* @@ -23,7 +23,7 @@ fun Route.authLogin(userRepo: UserRepository) { try { val credentials = call.receive() userRepo.findByCredentials(credentials)?.let { user -> - call.respondText(JwtConfig.makeToken(user)) + call.respondText(user.makeToken()) } ?: call.respond(HttpStatusCode.BadRequest, "Username not exist or password is wrong") } catch (e: MismatchedInputException) { call.respond(HttpStatusCode.BadRequest, "You must be send name and password to the request") diff --git a/src/main/kotlin/component/auth/routes/Register.kt b/src/main/kotlin/component/auth/routes/Register.kt index b83ae01..f126260 100644 --- a/src/main/kotlin/component/auth/routes/Register.kt +++ b/src/main/kotlin/component/auth/routes/Register.kt @@ -1,13 +1,13 @@ package fr.dcproject.component.auth.routes import com.fasterxml.jackson.module.kotlin.MissingKotlinParameterException -import fr.dcproject.JwtConfig import fr.dcproject.component.auth.User import fr.dcproject.component.auth.UserI import fr.dcproject.component.auth.routes.RegisterRequest.Input import fr.dcproject.component.citizen.Citizen import fr.dcproject.component.citizen.CitizenI import fr.dcproject.component.citizen.CitizenRepository +import fr.dcproject.makeToken import io.ktor.application.* import io.ktor.features.* import io.ktor.http.* @@ -61,7 +61,7 @@ fun Route.authRegister(citizenRepo: CitizenRepository) { try { val citizen = call.receive().toCitizen() val createdCitizen = citizenRepo.insertWithUser(citizen)?.user ?: throw BadRequestException("Bad request") - call.respondText(JwtConfig.makeToken(createdCitizen)) + call.respondText(createdCitizen.makeToken()) } catch (e: MissingKotlinParameterException) { call.respond(HttpStatusCode.BadRequest) } diff --git a/src/main/kotlin/component/citizen/routes/ChangeMyPassword.kt b/src/main/kotlin/component/citizen/routes/ChangeMyPassword.kt index 561bfb8..8a352a7 100644 --- a/src/main/kotlin/component/citizen/routes/ChangeMyPassword.kt +++ b/src/main/kotlin/component/citizen/routes/ChangeMyPassword.kt @@ -1,9 +1,9 @@ package fr.dcproject.component.citizen.routes import com.fasterxml.jackson.module.kotlin.MissingKotlinParameterException -import fr.dcproject.citizen -import fr.dcproject.citizenOrNull import fr.dcproject.component.auth.UserRepository +import fr.dcproject.component.auth.citizen +import fr.dcproject.component.auth.citizenOrNull import fr.dcproject.component.citizen.Citizen import fr.dcproject.component.citizen.CitizenVoter import fr.dcproject.voter.assert diff --git a/src/main/kotlin/component/citizen/routes/FindCitizens.kt b/src/main/kotlin/component/citizen/routes/FindCitizens.kt index 5ed6b4a..512d9f0 100644 --- a/src/main/kotlin/component/citizen/routes/FindCitizens.kt +++ b/src/main/kotlin/component/citizen/routes/FindCitizens.kt @@ -1,6 +1,6 @@ package fr.dcproject.component.citizen.routes -import fr.dcproject.citizenOrNull +import fr.dcproject.component.auth.citizenOrNull import fr.dcproject.component.citizen.CitizenRepository import fr.dcproject.component.citizen.CitizenVoter import fr.dcproject.voter.assert diff --git a/src/main/kotlin/component/citizen/routes/GetCurrentCitizen.kt b/src/main/kotlin/component/citizen/routes/GetCurrentCitizen.kt index 590e184..3483df5 100644 --- a/src/main/kotlin/component/citizen/routes/GetCurrentCitizen.kt +++ b/src/main/kotlin/component/citizen/routes/GetCurrentCitizen.kt @@ -1,7 +1,7 @@ package fr.dcproject.component.citizen.routes -import fr.dcproject.citizen -import fr.dcproject.citizenOrNull +import fr.dcproject.component.auth.citizen +import fr.dcproject.component.auth.citizenOrNull import fr.dcproject.component.citizen.CitizenVoter import fr.dcproject.voter.assert import io.ktor.application.* diff --git a/src/main/kotlin/component/citizen/routes/GetOneCitizen.kt b/src/main/kotlin/component/citizen/routes/GetOneCitizen.kt index f7cd9b4..77a7a86 100644 --- a/src/main/kotlin/component/citizen/routes/GetOneCitizen.kt +++ b/src/main/kotlin/component/citizen/routes/GetOneCitizen.kt @@ -1,6 +1,6 @@ package fr.dcproject.component.citizen.routes -import fr.dcproject.citizenOrNull +import fr.dcproject.component.auth.citizenOrNull import fr.dcproject.component.citizen.Citizen import fr.dcproject.component.citizen.CitizenVoter import fr.dcproject.voter.assert diff --git a/src/main/kotlin/component/comment/article/routes/CreateCommentArticle.kt b/src/main/kotlin/component/comment/article/routes/CreateCommentArticle.kt index 074f298..f642be6 100644 --- a/src/main/kotlin/component/comment/article/routes/CreateCommentArticle.kt +++ b/src/main/kotlin/component/comment/article/routes/CreateCommentArticle.kt @@ -1,8 +1,8 @@ package fr.dcproject.component.comment.article.routes -import fr.dcproject.citizen -import fr.dcproject.citizenOrNull import fr.dcproject.component.article.ArticleForView +import fr.dcproject.component.auth.citizen +import fr.dcproject.component.auth.citizenOrNull import fr.dcproject.component.comment.article.CommentArticleRepository import fr.dcproject.component.comment.generic.CommentForUpdate import fr.dcproject.component.comment.generic.CommentVoter diff --git a/src/main/kotlin/component/comment/article/routes/GetArticleComments.kt b/src/main/kotlin/component/comment/article/routes/GetArticleComments.kt index 2dda5bb..7fdcfd5 100644 --- a/src/main/kotlin/component/comment/article/routes/GetArticleComments.kt +++ b/src/main/kotlin/component/comment/article/routes/GetArticleComments.kt @@ -1,7 +1,7 @@ package fr.dcproject.component.comment.article.routes -import fr.dcproject.citizenOrNull import fr.dcproject.component.article.ArticleRef +import fr.dcproject.component.auth.citizenOrNull import fr.dcproject.component.comment.article.CommentArticleRepository import fr.dcproject.component.comment.generic.CommentVoter import fr.dcproject.voter.assert diff --git a/src/main/kotlin/component/comment/article/routes/GetCitizenArticleComments.kt b/src/main/kotlin/component/comment/article/routes/GetCitizenArticleComments.kt index d756aca..f3ea2e0 100644 --- a/src/main/kotlin/component/comment/article/routes/GetCitizenArticleComments.kt +++ b/src/main/kotlin/component/comment/article/routes/GetCitizenArticleComments.kt @@ -1,6 +1,6 @@ package fr.dcproject.component.comment.article.routes -import fr.dcproject.citizenOrNull +import fr.dcproject.component.auth.citizenOrNull import fr.dcproject.component.citizen.Citizen import fr.dcproject.component.comment.article.CommentArticleRepository import fr.dcproject.component.comment.generic.CommentVoter diff --git a/src/main/kotlin/component/comment/generic/routes/CreateCommentChildrenRequest.kt b/src/main/kotlin/component/comment/generic/routes/CreateCommentChildrenRequest.kt index 89a88eb..c63a343 100644 --- a/src/main/kotlin/component/comment/generic/routes/CreateCommentChildrenRequest.kt +++ b/src/main/kotlin/component/comment/generic/routes/CreateCommentChildrenRequest.kt @@ -1,7 +1,7 @@ package fr.dcproject.component.comment.generic.routes -import fr.dcproject.citizen -import fr.dcproject.citizenOrNull +import fr.dcproject.component.auth.citizen +import fr.dcproject.component.auth.citizenOrNull import fr.dcproject.component.comment.generic.CommentForUpdate import fr.dcproject.component.comment.generic.CommentRef import fr.dcproject.component.comment.generic.CommentRepository diff --git a/src/main/kotlin/component/comment/generic/routes/EditComment.kt b/src/main/kotlin/component/comment/generic/routes/EditComment.kt index d992732..28f4558 100644 --- a/src/main/kotlin/component/comment/generic/routes/EditComment.kt +++ b/src/main/kotlin/component/comment/generic/routes/EditComment.kt @@ -1,6 +1,6 @@ package fr.dcproject.component.comment.generic.routes -import fr.dcproject.citizenOrNull +import fr.dcproject.component.auth.citizenOrNull import fr.dcproject.component.comment.generic.CommentRef import fr.dcproject.component.comment.generic.CommentRepository import fr.dcproject.component.comment.generic.CommentVoter diff --git a/src/main/kotlin/component/comment/generic/routes/GetCommentChildrenRequest.kt b/src/main/kotlin/component/comment/generic/routes/GetCommentChildrenRequest.kt index 22d499b..cdeb8c8 100644 --- a/src/main/kotlin/component/comment/generic/routes/GetCommentChildrenRequest.kt +++ b/src/main/kotlin/component/comment/generic/routes/GetCommentChildrenRequest.kt @@ -1,6 +1,6 @@ package fr.dcproject.component.comment.generic.routes -import fr.dcproject.citizenOrNull +import fr.dcproject.component.auth.citizenOrNull import fr.dcproject.component.comment.generic.CommentRepository import fr.dcproject.component.comment.generic.CommentVoter import fr.dcproject.voter.assert diff --git a/src/main/kotlin/component/comment/generic/routes/GetOneComment.kt b/src/main/kotlin/component/comment/generic/routes/GetOneComment.kt index 37fc800..302705e 100644 --- a/src/main/kotlin/component/comment/generic/routes/GetOneComment.kt +++ b/src/main/kotlin/component/comment/generic/routes/GetOneComment.kt @@ -1,6 +1,6 @@ package fr.dcproject.component.comment.generic.routes -import fr.dcproject.citizenOrNull +import fr.dcproject.component.auth.citizenOrNull import fr.dcproject.component.comment.generic.CommentRef import fr.dcproject.component.comment.generic.CommentRepository import fr.dcproject.component.comment.generic.CommentVoter diff --git a/src/main/kotlin/component/workgroup/routes/CreateWorkgroup.kt b/src/main/kotlin/component/workgroup/routes/CreateWorkgroup.kt index 2ba5d23..5f4ded5 100644 --- a/src/main/kotlin/component/workgroup/routes/CreateWorkgroup.kt +++ b/src/main/kotlin/component/workgroup/routes/CreateWorkgroup.kt @@ -1,11 +1,11 @@ package fr.dcproject.component.workgroup.routes -import fr.dcproject.citizen -import fr.dcproject.citizenOrNull +import fr.dcproject.component.auth.citizen +import fr.dcproject.component.auth.citizenOrNull import fr.dcproject.component.workgroup.WorkgroupRepository import fr.dcproject.component.workgroup.WorkgroupSimple -import fr.dcproject.component.workgroup.routes.CreateWorkgroup.PostWorkgroupRequest.Input import fr.dcproject.component.workgroup.WorkgroupVoter +import fr.dcproject.component.workgroup.routes.CreateWorkgroup.PostWorkgroupRequest.Input import fr.dcproject.voter.assert import io.ktor.application.* import io.ktor.http.* diff --git a/src/main/kotlin/component/workgroup/routes/DeleteWorkgroup.kt b/src/main/kotlin/component/workgroup/routes/DeleteWorkgroup.kt index d584993..90f7589 100644 --- a/src/main/kotlin/component/workgroup/routes/DeleteWorkgroup.kt +++ b/src/main/kotlin/component/workgroup/routes/DeleteWorkgroup.kt @@ -1,6 +1,6 @@ package fr.dcproject.component.workgroup.routes -import fr.dcproject.citizenOrNull +import fr.dcproject.component.auth.citizenOrNull import fr.dcproject.component.workgroup.WorkgroupRepository import fr.dcproject.component.workgroup.WorkgroupVoter import fr.dcproject.voter.assert diff --git a/src/main/kotlin/component/workgroup/routes/EditWorkgroup.kt b/src/main/kotlin/component/workgroup/routes/EditWorkgroup.kt index 486c102..0a6c34b 100644 --- a/src/main/kotlin/component/workgroup/routes/EditWorkgroup.kt +++ b/src/main/kotlin/component/workgroup/routes/EditWorkgroup.kt @@ -1,9 +1,9 @@ package fr.dcproject.component.workgroup.routes -import fr.dcproject.citizenOrNull +import fr.dcproject.component.auth.citizenOrNull import fr.dcproject.component.workgroup.WorkgroupRepository -import fr.dcproject.component.workgroup.routes.EditWorkgroup.PutWorkgroupRequest.Input import fr.dcproject.component.workgroup.WorkgroupVoter +import fr.dcproject.component.workgroup.routes.EditWorkgroup.PutWorkgroupRequest.Input import fr.dcproject.voter.assert import io.ktor.application.* import io.ktor.http.* diff --git a/src/main/kotlin/component/workgroup/routes/GetWorkgroup.kt b/src/main/kotlin/component/workgroup/routes/GetWorkgroup.kt index 720274d..8fff870 100644 --- a/src/main/kotlin/component/workgroup/routes/GetWorkgroup.kt +++ b/src/main/kotlin/component/workgroup/routes/GetWorkgroup.kt @@ -1,6 +1,6 @@ package fr.dcproject.component.workgroup.routes -import fr.dcproject.citizenOrNull +import fr.dcproject.component.auth.citizenOrNull import fr.dcproject.component.workgroup.WorkgroupRepository import fr.dcproject.component.workgroup.WorkgroupVoter import fr.dcproject.voter.assert diff --git a/src/main/kotlin/component/workgroup/routes/GetWorkgroups.kt b/src/main/kotlin/component/workgroup/routes/GetWorkgroups.kt index 2951a02..5bd7064 100644 --- a/src/main/kotlin/component/workgroup/routes/GetWorkgroups.kt +++ b/src/main/kotlin/component/workgroup/routes/GetWorkgroups.kt @@ -1,6 +1,6 @@ package fr.dcproject.component.workgroup.routes -import fr.dcproject.citizenOrNull +import fr.dcproject.component.auth.citizenOrNull import fr.dcproject.component.workgroup.WorkgroupRepository import fr.dcproject.component.workgroup.WorkgroupVoter import fr.dcproject.utils.toUUID diff --git a/src/main/kotlin/component/workgroup/routes/members/AddMemberToWorkgroup.kt b/src/main/kotlin/component/workgroup/routes/members/AddMemberToWorkgroup.kt index 2b147c7..16c618b 100644 --- a/src/main/kotlin/component/workgroup/routes/members/AddMemberToWorkgroup.kt +++ b/src/main/kotlin/component/workgroup/routes/members/AddMemberToWorkgroup.kt @@ -1,10 +1,10 @@ package fr.dcproject.component.workgroup.routes.members -import fr.dcproject.citizenOrNull +import fr.dcproject.component.auth.citizenOrNull import fr.dcproject.component.citizen.CitizenRef import fr.dcproject.component.workgroup.WorkgroupRepository -import fr.dcproject.component.workgroup.WorkgroupWithMembersI import fr.dcproject.component.workgroup.WorkgroupVoter +import fr.dcproject.component.workgroup.WorkgroupWithMembersI import fr.dcproject.voter.assert import io.ktor.application.* import io.ktor.http.* diff --git a/src/main/kotlin/component/workgroup/routes/members/DeleteMembersOfWorkgroup.kt b/src/main/kotlin/component/workgroup/routes/members/DeleteMembersOfWorkgroup.kt index dcf1b20..97dd0d7 100644 --- a/src/main/kotlin/component/workgroup/routes/members/DeleteMembersOfWorkgroup.kt +++ b/src/main/kotlin/component/workgroup/routes/members/DeleteMembersOfWorkgroup.kt @@ -1,10 +1,10 @@ package fr.dcproject.component.workgroup.routes.members -import fr.dcproject.citizenOrNull +import fr.dcproject.component.auth.citizenOrNull import fr.dcproject.component.citizen.CitizenRef import fr.dcproject.component.workgroup.WorkgroupRepository -import fr.dcproject.component.workgroup.WorkgroupWithMembersI import fr.dcproject.component.workgroup.WorkgroupVoter +import fr.dcproject.component.workgroup.WorkgroupWithMembersI import fr.dcproject.voter.assert import io.ktor.application.* import io.ktor.http.* diff --git a/src/main/kotlin/component/workgroup/routes/members/UpdateMemberOfWorkgroup.kt b/src/main/kotlin/component/workgroup/routes/members/UpdateMemberOfWorkgroup.kt index bf78cb2..f3b50ef 100644 --- a/src/main/kotlin/component/workgroup/routes/members/UpdateMemberOfWorkgroup.kt +++ b/src/main/kotlin/component/workgroup/routes/members/UpdateMemberOfWorkgroup.kt @@ -1,10 +1,10 @@ package fr.dcproject.component.workgroup.routes.members -import fr.dcproject.citizenOrNull +import fr.dcproject.component.auth.citizenOrNull import fr.dcproject.component.citizen.CitizenRef import fr.dcproject.component.workgroup.WorkgroupRepository -import fr.dcproject.component.workgroup.WorkgroupWithMembersI import fr.dcproject.component.workgroup.WorkgroupVoter +import fr.dcproject.component.workgroup.WorkgroupWithMembersI import fr.dcproject.voter.assert import io.ktor.application.* import io.ktor.http.* diff --git a/src/main/kotlin/event/EventNotification.kt b/src/main/kotlin/event/EventNotification.kt index 0ef0008..7a77b3a 100644 --- a/src/main/kotlin/event/EventNotification.kt +++ b/src/main/kotlin/event/EventNotification.kt @@ -2,7 +2,7 @@ package fr.dcproject.event import com.rabbitmq.client.* import com.rabbitmq.client.BuiltinExchangeType.DIRECT -import fr.dcproject.Config +import fr.dcproject.application.Configuration import fr.dcproject.component.article.ArticleForView import fr.dcproject.component.citizen.CitizenRef import fr.dcproject.entity.FollowSimple @@ -46,7 +46,7 @@ class EventNotification( fun config() { /* Config Rabbit */ - val exchangeName = Config.exchangeNotificationName + val exchangeName = Configuration.exchangeNotificationName rabbitFactory.newConnection().use { connection -> connection.createChannel().use { channel -> channel.queueDeclare("push", true, false, false, null) diff --git a/src/main/kotlin/event/publisher/Publisher.kt b/src/main/kotlin/event/publisher/Publisher.kt index 89bd9a5..fbb1945 100644 --- a/src/main/kotlin/event/publisher/Publisher.kt +++ b/src/main/kotlin/event/publisher/Publisher.kt @@ -2,7 +2,7 @@ package fr.dcproject.event.publisher import com.fasterxml.jackson.databind.ObjectMapper import com.rabbitmq.client.ConnectionFactory -import fr.dcproject.Config +import fr.dcproject.application.Configuration import fr.dcproject.event.EntityEvent import kotlinx.coroutines.GlobalScope import kotlinx.coroutines.Job @@ -19,7 +19,7 @@ class Publisher( return GlobalScope.launch { factory.newConnection().use { connection -> connection.createChannel().use { channel -> - channel.basicPublish(Config.exchangeNotificationName, "", null, it.serialize().toByteArray()) + channel.basicPublish(Configuration.exchangeNotificationName, "", null, it.serialize().toByteArray()) logger.debug("Publish message ${it.target.id}") } } diff --git a/src/main/kotlin/routes/CommentConstitution.kt b/src/main/kotlin/routes/CommentConstitution.kt index 725a240..40099a7 100644 --- a/src/main/kotlin/routes/CommentConstitution.kt +++ b/src/main/kotlin/routes/CommentConstitution.kt @@ -1,7 +1,7 @@ package fr.dcproject.routes -import fr.dcproject.citizen -import fr.dcproject.citizenOrNull +import fr.dcproject.component.auth.citizen +import fr.dcproject.component.auth.citizenOrNull import fr.dcproject.component.citizen.Citizen import fr.dcproject.component.comment.generic.CommentForUpdate import fr.dcproject.component.comment.generic.CommentVoter diff --git a/src/main/kotlin/routes/Constitution.kt b/src/main/kotlin/routes/Constitution.kt index d1de166..3d75098 100644 --- a/src/main/kotlin/routes/Constitution.kt +++ b/src/main/kotlin/routes/Constitution.kt @@ -1,7 +1,7 @@ package fr.dcproject.routes -import fr.dcproject.citizen import fr.dcproject.component.article.ArticleRef +import fr.dcproject.component.auth.citizen import fr.dcproject.component.citizen.CitizenWithUserI import fr.dcproject.entity.ConstitutionSimple import fr.dcproject.entity.ConstitutionSimple.TitleSimple diff --git a/src/main/kotlin/routes/FollowArticle.kt b/src/main/kotlin/routes/FollowArticle.kt index d809e9c..fc6bcad 100644 --- a/src/main/kotlin/routes/FollowArticle.kt +++ b/src/main/kotlin/routes/FollowArticle.kt @@ -1,7 +1,7 @@ package fr.dcproject.routes -import fr.dcproject.citizen import fr.dcproject.component.article.ArticleRef +import fr.dcproject.component.auth.citizen import fr.dcproject.component.citizen.Citizen import fr.dcproject.entity.FollowForUpdate import fr.dcproject.security.voter.FollowVoter.Action.* diff --git a/src/main/kotlin/routes/FollowConstitution.kt b/src/main/kotlin/routes/FollowConstitution.kt index 689c217..e1c1d2d 100644 --- a/src/main/kotlin/routes/FollowConstitution.kt +++ b/src/main/kotlin/routes/FollowConstitution.kt @@ -1,6 +1,6 @@ package fr.dcproject.routes -import fr.dcproject.citizen +import fr.dcproject.component.auth.citizen import fr.dcproject.component.citizen.CitizenRef import fr.dcproject.entity.ConstitutionRef import fr.dcproject.entity.FollowForUpdate diff --git a/src/main/kotlin/routes/Notification.kt b/src/main/kotlin/routes/Notification.kt index 8adb954..0dc33c0 100644 --- a/src/main/kotlin/routes/Notification.kt +++ b/src/main/kotlin/routes/Notification.kt @@ -1,6 +1,6 @@ package fr.dcproject.routes -import fr.dcproject.citizen +import fr.dcproject.component.auth.citizen import fr.dcproject.event.Event import fr.postgresjson.serializer.deserialize import io.ktor.client.* diff --git a/src/main/kotlin/routes/OpinionArticle.kt b/src/main/kotlin/routes/OpinionArticle.kt index 29ef292..e70695a 100644 --- a/src/main/kotlin/routes/OpinionArticle.kt +++ b/src/main/kotlin/routes/OpinionArticle.kt @@ -1,7 +1,7 @@ package fr.dcproject.routes -import fr.dcproject.citizen import fr.dcproject.component.article.ArticleForView +import fr.dcproject.component.auth.citizen import fr.dcproject.component.citizen.CitizenRef import fr.dcproject.entity.OpinionChoiceRef import fr.dcproject.security.voter.OpinionVoter.Action.CREATE diff --git a/src/main/kotlin/routes/VoteArticle.kt b/src/main/kotlin/routes/VoteArticle.kt index b7bd6e4..2ad9c4d 100644 --- a/src/main/kotlin/routes/VoteArticle.kt +++ b/src/main/kotlin/routes/VoteArticle.kt @@ -1,7 +1,7 @@ package fr.dcproject.routes -import fr.dcproject.citizen import fr.dcproject.component.article.ArticleForView +import fr.dcproject.component.auth.citizen import fr.dcproject.component.citizen.Citizen import fr.dcproject.component.comment.generic.CommentRepository import fr.dcproject.entity.VoteForUpdate diff --git a/src/main/kotlin/routes/VoteConstitution.kt b/src/main/kotlin/routes/VoteConstitution.kt index ee58a03..4b2230a 100644 --- a/src/main/kotlin/routes/VoteConstitution.kt +++ b/src/main/kotlin/routes/VoteConstitution.kt @@ -1,6 +1,6 @@ package fr.dcproject.routes -import fr.dcproject.citizen +import fr.dcproject.component.auth.citizen import fr.dcproject.component.citizen.Citizen import fr.dcproject.entity.VoteForUpdate import fr.dcproject.routes.VoteConstitutionPaths.ConstitutionVoteRequest.Content diff --git a/src/main/kotlin/voter/ConstitutionVoter.kt b/src/main/kotlin/voter/ConstitutionVoter.kt index 7e6d958..f24a644 100644 --- a/src/main/kotlin/voter/ConstitutionVoter.kt +++ b/src/main/kotlin/voter/ConstitutionVoter.kt @@ -1,9 +1,9 @@ package fr.dcproject.security.voter import fr.dcproject.component.auth.UserI +import fr.dcproject.component.auth.user import fr.dcproject.component.comment.generic.CommentForView import fr.dcproject.entity.ConstitutionSimple -import fr.dcproject.user import fr.dcproject.voter.NoRuleDefinedException import fr.dcproject.voter.NoSubjectDefinedException import fr.ktorVoter.* diff --git a/src/main/kotlin/voter/FollowVoter.kt b/src/main/kotlin/voter/FollowVoter.kt index 43f74a7..427a576 100644 --- a/src/main/kotlin/voter/FollowVoter.kt +++ b/src/main/kotlin/voter/FollowVoter.kt @@ -1,6 +1,6 @@ package fr.dcproject.security.voter -import fr.dcproject.citizenOrNull +import fr.dcproject.component.auth.citizenOrNull import fr.dcproject.component.citizen.CitizenI import fr.dcproject.entity.FollowI import fr.dcproject.voter.NoSubjectDefinedException diff --git a/src/main/kotlin/voter/OpinionVoter.kt b/src/main/kotlin/voter/OpinionVoter.kt index 97e82e0..1e6faa6 100644 --- a/src/main/kotlin/voter/OpinionVoter.kt +++ b/src/main/kotlin/voter/OpinionVoter.kt @@ -2,8 +2,8 @@ package fr.dcproject.security.voter import fr.dcproject.component.article.ArticleAuthI import fr.dcproject.component.article.ArticleForView +import fr.dcproject.component.auth.user import fr.dcproject.entity.Opinion -import fr.dcproject.user import fr.dcproject.voter.NoRuleDefinedException import fr.dcproject.voter.NoSubjectDefinedException import fr.ktorVoter.* diff --git a/src/main/kotlin/voter/VoteVoter.kt b/src/main/kotlin/voter/VoteVoter.kt index 36b01ef..0ddf25f 100644 --- a/src/main/kotlin/voter/VoteVoter.kt +++ b/src/main/kotlin/voter/VoteVoter.kt @@ -1,6 +1,6 @@ package fr.dcproject.security.voter -import fr.dcproject.citizenOrNull +import fr.dcproject.component.auth.citizenOrNull import fr.dcproject.entity.VoteForUpdateI import fr.dcproject.entity.VoteI import fr.dcproject.voter.NoSubjectDefinedException diff --git a/src/test/kotlin/CucumberTest.kt b/src/test/kotlin/CucumberTest.kt index c442e6c..40f8a0e 100644 --- a/src/test/kotlin/CucumberTest.kt +++ b/src/test/kotlin/CucumberTest.kt @@ -1,6 +1,6 @@ -import fr.dcproject.Config -import fr.dcproject.Env.CUCUMBER -import fr.dcproject.module +import fr.dcproject.application.Configuration +import fr.dcproject.application.Env.CUCUMBER +import fr.dcproject.application.module import fr.dcproject.utils.LoggerDelegate import fr.postgresjson.connexion.Connection import fr.postgresjson.connexion.Requester @@ -32,9 +32,9 @@ class CucumberTest : En, KoinTest { init { if (!unitialized) { - Config.database = "test" - Config.username = "test" - Config.password = "test" + Configuration.database = "test" + Configuration.username = "test" + Configuration.password = "test" withTestApplication({ module(CUCUMBER) }) { migrations() @@ -43,9 +43,9 @@ class CucumberTest : En, KoinTest { } Before(-1) { _: Scenario -> - Config.database = "test" - Config.username = "test" - Config.password = "test" + Configuration.database = "test" + Configuration.username = "test" + Configuration.password = "test" ktorContext.start() //language=PostgreSQL get().sendQuery("start transaction;", listOf()) @@ -59,9 +59,9 @@ class CucumberTest : En, KoinTest { } private fun migrations() { - Config.database = "test" - Config.username = "test" - Config.password = "test" + Configuration.database = "test" + Configuration.username = "test" + Configuration.password = "test" val migrations: Migrations = get() migrations.forceAllDown() migrations.run() @@ -85,7 +85,7 @@ class CucumberTest : En, KoinTest { private fun getFixturesRequester(): Requester { return Requester.RequesterFactory( connection = get(), - queriesDirectory = Config.Sql.fixtureFiles + queriesDirectory = Configuration.Sql.fixtureFiles ).createRequester() } } diff --git a/src/test/kotlin/functional/MailerTest.kt b/src/test/kotlin/functional/MailerTest.kt index 7aba8ea..cb70308 100644 --- a/src/test/kotlin/functional/MailerTest.kt +++ b/src/test/kotlin/functional/MailerTest.kt @@ -3,9 +3,9 @@ package functional import com.sendgrid.helpers.mail.Mail import com.sendgrid.helpers.mail.objects.Content import com.sendgrid.helpers.mail.objects.Email -import fr.dcproject.Env +import fr.dcproject.application.Env.TEST +import fr.dcproject.application.module import fr.dcproject.messages.Mailer -import fr.dcproject.module import io.ktor.locations.* import io.ktor.server.testing.* import io.ktor.util.* @@ -25,7 +25,7 @@ class MailerTest : KoinTest, AutoCloseKoinTest() { @Test @Tag("online, functional") fun `can be send an email`() { - withTestApplication({ module(Env.TEST) }) { + withTestApplication({ module(TEST) }) { get().sendEmail { Mail( Email("sso@dc-project.fr"), diff --git a/src/test/kotlin/functional/ViewTest.kt b/src/test/kotlin/functional/ViewTest.kt index 0095e56..cbec0b8 100644 --- a/src/test/kotlin/functional/ViewTest.kt +++ b/src/test/kotlin/functional/ViewTest.kt @@ -1,10 +1,10 @@ package functional -import fr.dcproject.Env +import fr.dcproject.application.Env.TEST +import fr.dcproject.application.module import fr.dcproject.component.article.ArticleRefVersioning import fr.dcproject.component.article.ArticleViewManager import fr.dcproject.component.citizen.CitizenRef -import fr.dcproject.module import io.ktor.locations.* import io.ktor.server.testing.* import io.ktor.util.* @@ -26,7 +26,7 @@ class ViewTest { val article = ArticleRefVersioning(id = UUID.randomUUID(), versionId = UUID.randomUUID()) val citizenRef = CitizenRef() - withTestApplication({ module(Env.TEST) }) { + withTestApplication({ module(TEST) }) { val viewManager: ArticleViewManager = application.get() /* Get view before */ diff --git a/src/test/kotlin/steps/KtorServerAuthSteps.kt b/src/test/kotlin/steps/KtorServerAuthSteps.kt index b0613a6..b3b6648 100644 --- a/src/test/kotlin/steps/KtorServerAuthSteps.kt +++ b/src/test/kotlin/steps/KtorServerAuthSteps.kt @@ -1,7 +1,7 @@ package steps import com.auth0.jwt.JWT -import fr.dcproject.JwtConfig +import fr.dcproject.component.auth.jwt.JwtConfig import fr.dcproject.component.citizen.CitizenRepository import io.cucumber.java8.En import io.ktor.http.* diff --git a/src/test/kotlin/unit/voter/FollowVoterTest.kt b/src/test/kotlin/unit/voter/FollowVoterTest.kt index c169d42..cd6709e 100644 --- a/src/test/kotlin/unit/voter/FollowVoterTest.kt +++ b/src/test/kotlin/unit/voter/FollowVoterTest.kt @@ -1,9 +1,9 @@ package unit.voter -import fr.dcproject.citizenOrNull import fr.dcproject.component.article.ArticleForView import fr.dcproject.component.auth.User import fr.dcproject.component.auth.UserI +import fr.dcproject.component.auth.citizenOrNull import fr.dcproject.component.citizen.Citizen import fr.dcproject.component.citizen.CitizenBasic import fr.dcproject.component.citizen.CitizenCart @@ -105,7 +105,7 @@ internal class FollowVoterTest { ) init { - mockkStatic("fr.dcproject.ApplicationContextKt") + mockkStatic("fr.dcproject.component.auth.CitizenContextKt") } @Test diff --git a/src/test/kotlin/unit/voter/OpinionChoiceVoterTest.kt b/src/test/kotlin/unit/voter/OpinionChoiceVoterTest.kt index ef3feb3..d6dcd20 100644 --- a/src/test/kotlin/unit/voter/OpinionChoiceVoterTest.kt +++ b/src/test/kotlin/unit/voter/OpinionChoiceVoterTest.kt @@ -3,12 +3,12 @@ package unit.voter import fr.dcproject.component.article.ArticleForView import fr.dcproject.component.auth.User import fr.dcproject.component.auth.UserI +import fr.dcproject.component.auth.user import fr.dcproject.component.citizen.CitizenBasic import fr.dcproject.component.citizen.CitizenCart import fr.dcproject.component.citizen.CitizenI import fr.dcproject.entity.OpinionChoice import fr.dcproject.security.voter.OpinionChoiceVoter -import fr.dcproject.user import fr.ktorVoter.ActionI import fr.ktorVoter.Vote import fr.ktorVoter.can @@ -64,7 +64,7 @@ internal class OpinionChoiceVoterTest { ) init { - mockkStatic("fr.dcproject.ApplicationContextKt") + mockkStatic("fr.dcproject.component.auth.CitizenContextKt") } @Test diff --git a/src/test/kotlin/unit/voter/OpinionVoterTest.kt b/src/test/kotlin/unit/voter/OpinionVoterTest.kt index 40ca0ae..43f78ea 100644 --- a/src/test/kotlin/unit/voter/OpinionVoterTest.kt +++ b/src/test/kotlin/unit/voter/OpinionVoterTest.kt @@ -3,13 +3,13 @@ package unit.voter import fr.dcproject.component.article.ArticleForView import fr.dcproject.component.auth.User import fr.dcproject.component.auth.UserI +import fr.dcproject.component.auth.user import fr.dcproject.component.citizen.CitizenBasic import fr.dcproject.component.citizen.CitizenCart import fr.dcproject.component.citizen.CitizenI import fr.dcproject.entity.Opinion import fr.dcproject.entity.OpinionChoice import fr.dcproject.security.voter.OpinionVoter -import fr.dcproject.user import fr.dcproject.voter.NoSubjectDefinedException import fr.ktorVoter.* import io.ktor.application.* @@ -79,7 +79,7 @@ internal class OpinionVoterTest { ) init { - mockkStatic("fr.dcproject.ApplicationContextKt") + mockkStatic("fr.dcproject.component.auth.CitizenContextKt") } @Test diff --git a/src/test/kotlin/unit/voter/VoteVoterTest.kt b/src/test/kotlin/unit/voter/VoteVoterTest.kt index ff22a88..cfe3a48 100644 --- a/src/test/kotlin/unit/voter/VoteVoterTest.kt +++ b/src/test/kotlin/unit/voter/VoteVoterTest.kt @@ -1,10 +1,10 @@ package unit.voter -import fr.dcproject.citizenOrNull import fr.dcproject.component.article.ArticleForView import fr.dcproject.component.article.ArticleRef import fr.dcproject.component.auth.User import fr.dcproject.component.auth.UserI +import fr.dcproject.component.auth.citizenOrNull import fr.dcproject.component.citizen.Citizen import fr.dcproject.component.citizen.CitizenBasic import fr.dcproject.component.citizen.CitizenCart @@ -116,7 +116,7 @@ internal class VoteVoterTest { ) init { - mockkStatic("fr.dcproject.ApplicationContextKt") + mockkStatic("fr.dcproject.component.auth.CitizenContextKt") } @Test