From 79feed54dd8794393b7a43b44ddb8f41c13d8f4d Mon Sep 17 00:00:00 2001 From: Fabrice Lecomte Date: Wed, 3 Mar 2021 02:25:24 +0100 Subject: [PATCH] #68 Clean vote and citizen Entity remove last warnings --- .../fr/dcproject/component/citizen/Citizen.kt | 45 +++---------------- .../component/citizen/CitizenRepository.kt | 2 +- .../component/constitution/Constitution.kt | 6 +-- .../notification/NotificationEmailSender.kt | 6 +-- .../component/vote/VoteAccessControl.kt | 2 +- .../component/vote/VoteRepositoryAbs.kt | 2 +- .../vote/entity/{Vote.kt => VoteForView.kt} | 13 +++--- .../workgroup/WorkgroupRepository.kt | 9 ++-- src/test/kotlin/functional/MailerTest.kt | 2 + src/test/kotlin/functional/ViewTest.kt | 2 + .../integration/steps/given/Constitution.kt | 4 +- .../integration/steps/given/Workgroup.kt | 7 +-- .../unit/security/Citizen Access Control.kt | 14 ++---- .../unit/security/Opinion Access Control.kt | 13 +----- .../security/OpinionChoice Access Control.kt | 32 ++----------- .../unit/security/Vote Access Control.kt | 13 +++--- .../unit/security/Workgroup Access Control.kt | 22 +-------- 17 files changed, 52 insertions(+), 142 deletions(-) rename src/main/kotlin/fr/dcproject/component/vote/entity/{Vote.kt => VoteForView.kt} (82%) diff --git a/src/main/kotlin/fr/dcproject/component/citizen/Citizen.kt b/src/main/kotlin/fr/dcproject/component/citizen/Citizen.kt index 9be68e4..93fd901 100644 --- a/src/main/kotlin/fr/dcproject/component/citizen/Citizen.kt +++ b/src/main/kotlin/fr/dcproject/component/citizen/Citizen.kt @@ -32,13 +32,12 @@ class Citizen( override val id: UUID = UUID.randomUUID(), override val name: Name, override val email: String, - override val birthday: DateTime, + val birthday: DateTime, override val voteAnonymous: Boolean = true, override val followAnonymous: Boolean = true, override val user: User, deletedAt: DateTime? = null -) : CitizenFull, - CitizenBasicI, +) : CitizenWithEmail, CitizenCreatorI, CitizenWithUserI, CitizenRef(id), @@ -75,33 +74,14 @@ interface CitizenCreatorI : CitizenWithUserI, CitizenWithEmail, CitizenCartI, De override val deletedAt: DateTime? } -@Deprecated("") -data class CitizenBasic( - override var id: UUID = UUID.randomUUID(), - override var name: Name, - override var email: String, - override var birthday: DateTime, - override var voteAnonymous: Boolean = true, - override var followAnonymous: Boolean = true, - override val user: User, - override val deletedAt: DateTime? = null -) : CitizenBasicI, - CitizenRefWithUser(id, user), - DeletedAt by DeletedAt.Imp(deletedAt) - -@Deprecated("") -open class CitizenSimple( - id: UUID = UUID.randomUUID(), - var name: Name, - user: UserRef -) : CitizenRefWithUser(id, user) - class CitizenCart( id: UUID = UUID.randomUUID(), override val name: Name, - override val user: UserRef + override val user: UserRef, + override val deletedAt: DateTime? = null, ) : CitizenRef(id), - CitizenCartI + CitizenCartI, + DeletedAt by DeletedAt.Imp(deletedAt) interface CitizenCartI : CitizenI, CitizenWithUserI { val name: Name @@ -133,19 +113,6 @@ interface CitizenI : EntityI { } } -@Deprecated("") -interface CitizenBasicI : CitizenWithUserI, CitizenWithEmail, DeletedAt { - val name: Name - val birthday: DateTime - val voteAnonymous: Boolean - val followAnonymous: Boolean -} - -@Deprecated("") -interface CitizenFull : CitizenBasicI { - override val user: User -} - interface CitizenWithUserI : CitizenI { val user: UserI } diff --git a/src/main/kotlin/fr/dcproject/component/citizen/CitizenRepository.kt b/src/main/kotlin/fr/dcproject/component/citizen/CitizenRepository.kt index f710b00..6c1a402 100644 --- a/src/main/kotlin/fr/dcproject/component/citizen/CitizenRepository.kt +++ b/src/main/kotlin/fr/dcproject/component/citizen/CitizenRepository.kt @@ -35,7 +35,7 @@ class CitizenRepository(override var requester: Requester) : RepositoryI { sort: String? = null, direction: RepositoryI.Direction? = null, search: String? = null - ): Paginated = requester + ): Paginated = requester .getFunction("find_citizens") .select( page, diff --git a/src/main/kotlin/fr/dcproject/component/constitution/Constitution.kt b/src/main/kotlin/fr/dcproject/component/constitution/Constitution.kt index 2d9eba7..41f16f4 100644 --- a/src/main/kotlin/fr/dcproject/component/constitution/Constitution.kt +++ b/src/main/kotlin/fr/dcproject/component/constitution/Constitution.kt @@ -9,7 +9,7 @@ import fr.dcproject.common.entity.TargetRef import fr.dcproject.common.entity.VersionableId import fr.dcproject.component.article.ArticleForListing import fr.dcproject.component.article.ArticleI -import fr.dcproject.component.citizen.CitizenSimple +import fr.dcproject.component.citizen.CitizenCreator import fr.dcproject.component.citizen.CitizenWithUserI import fr.dcproject.component.constitution.ConstitutionSimple.TitleSimple import java.util.UUID @@ -21,8 +21,8 @@ class Constitution( titles: MutableList> = mutableListOf(), draft: Boolean = false, lastVersion: Boolean = false, - override val createdBy: CitizenSimple -) : ConstitutionSimple>( + override val createdBy: CitizenCreator +) : ConstitutionSimple>( id, title = title, anonymous = anonymous, diff --git a/src/main/kotlin/fr/dcproject/component/notification/NotificationEmailSender.kt b/src/main/kotlin/fr/dcproject/component/notification/NotificationEmailSender.kt index 15911f3..71511d0 100644 --- a/src/main/kotlin/fr/dcproject/component/notification/NotificationEmailSender.kt +++ b/src/main/kotlin/fr/dcproject/component/notification/NotificationEmailSender.kt @@ -8,7 +8,7 @@ import fr.dcproject.common.entity.EntityI import fr.dcproject.common.entity.TargetRef import fr.dcproject.component.article.ArticleRepository import fr.dcproject.component.article.ArticleWithTitleI -import fr.dcproject.component.citizen.CitizenBasicI +import fr.dcproject.component.citizen.CitizenCreatorI import fr.dcproject.component.citizen.CitizenRepository import fr.dcproject.component.follow.FollowForView import java.util.UUID @@ -42,7 +42,7 @@ class NotificationEmailSender( } } - private fun generateHtmlContent(citizen: CitizenBasicI, target: EntityI): String? { + private fun generateHtmlContent(citizen: CitizenCreatorI, target: EntityI): String? { return when (target) { is ArticleWithTitleI -> """ Hello ${citizen.name.getFullName()},
@@ -52,7 +52,7 @@ class NotificationEmailSender( } } - private fun generateContent(citizen: CitizenBasicI, target: EntityI): String { + private fun generateContent(citizen: CitizenCreatorI, target: EntityI): String { return when (target) { is ArticleWithTitleI -> """ Hello ${citizen.name.getFullName()}, diff --git a/src/main/kotlin/fr/dcproject/component/vote/VoteAccessControl.kt b/src/main/kotlin/fr/dcproject/component/vote/VoteAccessControl.kt index 4a9c800..4dc271e 100644 --- a/src/main/kotlin/fr/dcproject/component/vote/VoteAccessControl.kt +++ b/src/main/kotlin/fr/dcproject/component/vote/VoteAccessControl.kt @@ -6,7 +6,7 @@ import fr.dcproject.common.security.AccessControl import fr.dcproject.common.security.AccessResponse import fr.dcproject.component.citizen.CitizenI import fr.dcproject.component.vote.entity.VoteForUpdateI -import fr.dcproject.component.vote.entity.Vote as VoteEntity +import fr.dcproject.component.vote.entity.VoteForView as VoteEntity class VoteAccessControl : AccessControl() { fun canCreate(subject: VoteForUpdateI, citizen: CitizenI?): AccessResponse where S : DeletedAt, S : TargetI = when { diff --git a/src/main/kotlin/fr/dcproject/component/vote/VoteRepositoryAbs.kt b/src/main/kotlin/fr/dcproject/component/vote/VoteRepositoryAbs.kt index cdc33fb..674c7a0 100644 --- a/src/main/kotlin/fr/dcproject/component/vote/VoteRepositoryAbs.kt +++ b/src/main/kotlin/fr/dcproject/component/vote/VoteRepositoryAbs.kt @@ -15,7 +15,7 @@ import fr.postgresjson.connexion.Requester import fr.postgresjson.repository.RepositoryI import java.util.UUID import fr.dcproject.component.citizen.Citizen as CitizenEntity -import fr.dcproject.component.vote.entity.Vote as VoteEntity +import fr.dcproject.component.vote.entity.VoteForView as VoteEntity abstract class VoteRepositoryAbs(override var requester: Requester) : RepositoryI { fun vote(vote: VoteForUpdateI, anonymous: Boolean? = null): VoteAggregation { diff --git a/src/main/kotlin/fr/dcproject/component/vote/entity/Vote.kt b/src/main/kotlin/fr/dcproject/component/vote/entity/VoteForView.kt similarity index 82% rename from src/main/kotlin/fr/dcproject/component/vote/entity/Vote.kt rename to src/main/kotlin/fr/dcproject/component/vote/entity/VoteForView.kt index 229c5c2..6835d0e 100644 --- a/src/main/kotlin/fr/dcproject/component/vote/entity/Vote.kt +++ b/src/main/kotlin/fr/dcproject/component/vote/entity/VoteForView.kt @@ -7,22 +7,21 @@ import fr.dcproject.common.entity.ExtraI import fr.dcproject.common.entity.HasTarget import fr.dcproject.common.entity.TargetI import fr.dcproject.common.entity.UpdatedAt -import fr.dcproject.component.citizen.CitizenBasic -import fr.dcproject.component.citizen.CitizenBasicI +import fr.dcproject.component.citizen.CitizenCreator +import fr.dcproject.component.citizen.CitizenCreatorI import fr.dcproject.component.citizen.CitizenI import java.util.UUID -@Deprecated("") -class Vote( +class VoteForView( id: UUID = UUID.randomUUID(), - override val createdBy: CitizenBasic, + override val createdBy: CitizenCreator, override val target: T, var note: Int, var anonymous: Boolean = true -) : ExtraI, +) : ExtraI, VoteRef(id), CreatedAt by CreatedAt.Imp(), - CreatedBy by CreatedBy.Imp(createdBy), + CreatedBy by CreatedBy.Imp(createdBy), UpdatedAt by UpdatedAt.Imp() { init { if (note > 1 && note < -1) { diff --git a/src/main/kotlin/fr/dcproject/component/workgroup/WorkgroupRepository.kt b/src/main/kotlin/fr/dcproject/component/workgroup/WorkgroupRepository.kt index d3e9236..7d6294a 100644 --- a/src/main/kotlin/fr/dcproject/component/workgroup/WorkgroupRepository.kt +++ b/src/main/kotlin/fr/dcproject/component/workgroup/WorkgroupRepository.kt @@ -1,6 +1,5 @@ package fr.dcproject.component.workgroup -import fr.dcproject.component.citizen.CitizenBasic import fr.dcproject.component.citizen.CitizenCreator import fr.dcproject.component.citizen.CitizenI import fr.dcproject.component.citizen.CitizenRef @@ -59,24 +58,24 @@ class WorkgroupRepository(override var requester: Requester) : RepositoryI { "members" to Member(citizen, roles).serialize() ) - fun addMembers(workgroup: WorkgroupI, members: List>): List> = requester + fun addMembers(workgroup: WorkgroupI, members: List>): List> = requester .getFunction("add_workgroup_members") .select( "id" to workgroup.id, "members" to members.serialize() ) - fun removeMember(workgroup: WorkgroupI, memberToDelete: Member): List> = + fun removeMember(workgroup: WorkgroupI, memberToDelete: Member): List> = removeMembers(workgroup, listOf(memberToDelete)) - fun removeMembers(workgroup: WorkgroupI, membersToDelete: List>): List> = requester + fun removeMembers(workgroup: WorkgroupI, membersToDelete: List>): List> = requester .getFunction("remove_workgroup_members") .select( "id" to workgroup.id, "members" to membersToDelete ) - fun updateMembers(workgroup: WorkgroupI, members: List>): List> = requester + fun updateMembers(workgroup: WorkgroupI, members: List>): List> = requester .getFunction("update_workgroup_members") .select( "id" to workgroup.id, diff --git a/src/test/kotlin/functional/MailerTest.kt b/src/test/kotlin/functional/MailerTest.kt index 6e48b7b..f6bbb6a 100644 --- a/src/test/kotlin/functional/MailerTest.kt +++ b/src/test/kotlin/functional/MailerTest.kt @@ -9,6 +9,7 @@ import fr.dcproject.common.email.Mailer import io.ktor.locations.KtorExperimentalLocationsAPI import io.ktor.server.testing.withTestApplication import io.ktor.util.KtorExperimentalAPI +import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.InternalCoroutinesApi import org.junit.jupiter.api.Tag import org.junit.jupiter.api.Tags @@ -24,6 +25,7 @@ import org.koin.test.get @Tags(Tag("functional")) class MailerTest : KoinTest, AutoCloseKoinTest() { @InternalCoroutinesApi + @ExperimentalCoroutinesApi @Test @Tags(Tag("online")) fun `can be send an email`() { diff --git a/src/test/kotlin/functional/ViewTest.kt b/src/test/kotlin/functional/ViewTest.kt index 5292d33..23d1e45 100644 --- a/src/test/kotlin/functional/ViewTest.kt +++ b/src/test/kotlin/functional/ViewTest.kt @@ -8,6 +8,7 @@ import fr.dcproject.component.citizen.CitizenRef import io.ktor.locations.KtorExperimentalLocationsAPI import io.ktor.server.testing.withTestApplication import io.ktor.util.KtorExperimentalAPI +import kotlinx.coroutines.ExperimentalCoroutinesApi import org.amshove.kluent.`should be equal to` import org.junit.jupiter.api.Tag import org.junit.jupiter.api.Tags @@ -19,6 +20,7 @@ import java.util.UUID @KtorExperimentalLocationsAPI @KtorExperimentalAPI +@ExperimentalCoroutinesApi @TestInstance(PER_CLASS) @Tags(Tag("functional")) class ViewTest { diff --git a/src/test/kotlin/integration/steps/given/Constitution.kt b/src/test/kotlin/integration/steps/given/Constitution.kt index 980cffe..4280894 100644 --- a/src/test/kotlin/integration/steps/given/Constitution.kt +++ b/src/test/kotlin/integration/steps/given/Constitution.kt @@ -46,13 +46,13 @@ fun createConstitution( ): Constitution { val constitutionRepository: ConstitutionRepository by lazy { GlobalContext.get().koin.get() } - val createdBy: CitizenWithUserI = createCitizen(createdBy) + val creator: CitizenWithUserI = createCitizen(createdBy) val constitution = ConstitutionSimple( id = id ?: UUID.randomUUID(), title = LoremIpsum().getTitle(3), titles = titles ?: createTitles(5), - createdBy = createdBy, + createdBy = creator, versionId = UUID.randomUUID() ) return constitutionRepository.upsert(constitution) ?: error("Cannot create constitution") diff --git a/src/test/kotlin/integration/steps/given/Workgroup.kt b/src/test/kotlin/integration/steps/given/Workgroup.kt index cfc3d08..3018552 100644 --- a/src/test/kotlin/integration/steps/given/Workgroup.kt +++ b/src/test/kotlin/integration/steps/given/Workgroup.kt @@ -34,6 +34,7 @@ fun WorkgroupForView.`With members`( addMemberToWorkgroup(this, *member) } +@Suppress("UNCHECKED_CAST") fun addMemberToWorkgroup(workgroup: WorkgroupForView, vararg membersNames: CitizenI.Name) { val citizenRepository: CitizenRepository by lazy { GlobalContext.get().koin.get() } val workgroupRepository: WorkgroupRepository by lazy { GlobalContext.get().koin.get() } @@ -58,8 +59,8 @@ private fun createWorkgroup( val citizenRepository: CitizenRepository by lazy { GlobalContext.get().koin.get() } val workgroupRepository: WorkgroupRepository by lazy { GlobalContext.get().koin.get() } - val createdBy = createdBy ?: CitizenI.Name("Paul", "Langevin") - val creator = citizenRepository.findByName(createdBy) ?: run { + val creatorName = createdBy ?: CitizenI.Name("Paul", "Langevin") + val creator = citizenRepository.findByName(creatorName) ?: run { val username = ("username" + UUID.randomUUID().toString()) .toLowerCase().replace(' ', '-') val user = UserForCreate( @@ -67,7 +68,7 @@ private fun createWorkgroup( password = "azerty", ) CitizenForCreate( - name = createdBy, + name = creatorName, email = "$username@dc-project.fr", birthday = DateTime.now(), user = user diff --git a/src/test/kotlin/unit/security/Citizen Access Control.kt b/src/test/kotlin/unit/security/Citizen Access Control.kt index df44552..871400b 100644 --- a/src/test/kotlin/unit/security/Citizen Access Control.kt +++ b/src/test/kotlin/unit/security/Citizen Access Control.kt @@ -5,7 +5,7 @@ import fr.dcproject.common.security.AccessDecision.GRANTED import fr.dcproject.component.auth.User import fr.dcproject.component.auth.UserI import fr.dcproject.component.citizen.CitizenAccessControl -import fr.dcproject.component.citizen.CitizenBasic +import fr.dcproject.component.citizen.CitizenCart import fr.dcproject.component.citizen.CitizenI import org.amshove.kluent.`should be` import org.joda.time.DateTime @@ -20,32 +20,26 @@ import org.junit.jupiter.api.parallel.ExecutionMode.CONCURRENT @Execution(CONCURRENT) @Tags(Tag("security"), Tag("unit")) internal class `Citizen Access Control` { - private val tesla = CitizenBasic( + private val tesla = CitizenCart( user = User( username = "nicolas-tesla", roles = listOf(UserI.Roles.ROLE_USER) ), - birthday = DateTime.now(), - email = "tesla@best.com", name = CitizenI.Name("Nicolas", "Tesla") ) - private val einstein = CitizenBasic( + private val einstein = CitizenCart( user = User( username = "albert-einstein", roles = listOf(UserI.Roles.ROLE_USER) ), - birthday = DateTime.now(), - email = "einstein@best.com", name = CitizenI.Name("Albert", "Einstein") ) - private val curie = CitizenBasic( + private val curie = CitizenCart( user = User( username = "marie-curie", roles = listOf(UserI.Roles.ROLE_USER) ), - birthday = DateTime.now(), - email = "curie@best.com", name = CitizenI.Name("Marie", "Curie"), deletedAt = DateTime.now() ) diff --git a/src/test/kotlin/unit/security/Opinion Access Control.kt b/src/test/kotlin/unit/security/Opinion Access Control.kt index 73ac993..03b90bd 100644 --- a/src/test/kotlin/unit/security/Opinion Access Control.kt +++ b/src/test/kotlin/unit/security/Opinion Access Control.kt @@ -6,15 +6,14 @@ import fr.dcproject.component.article.ArticleForView import fr.dcproject.component.auth.User import fr.dcproject.component.auth.UserCreator import fr.dcproject.component.auth.UserI -import fr.dcproject.component.citizen.CitizenBasic import fr.dcproject.component.citizen.CitizenCart import fr.dcproject.component.citizen.CitizenCreator import fr.dcproject.component.citizen.CitizenI +import fr.dcproject.component.citizen.CitizenRef import fr.dcproject.component.opinion.OpinionAccessControl import fr.dcproject.component.opinion.entity.Opinion import fr.dcproject.component.opinion.entity.OpinionChoice import org.amshove.kluent.`should be` -import org.joda.time.DateTime import org.junit.jupiter.api.Tag import org.junit.jupiter.api.Tags import org.junit.jupiter.api.Test @@ -36,16 +35,8 @@ internal class `Opinion Access Control` { followAnonymous = false ) - private val einstein = CitizenBasic( + private val einstein = CitizenRef( id = UUID.fromString("319f1226-8f47-4df3-babd-2c7671ad0fbc"), - user = User( - username = "albert-einstein", - roles = listOf(UserI.Roles.ROLE_USER) - ), - birthday = DateTime.now(), - email = "einstein@best.com", - name = CitizenI.Name("Albert", "Einstein"), - followAnonymous = true ) private val einstein2 = CitizenCart( diff --git a/src/test/kotlin/unit/security/OpinionChoice Access Control.kt b/src/test/kotlin/unit/security/OpinionChoice Access Control.kt index f285c1b..c193996 100644 --- a/src/test/kotlin/unit/security/OpinionChoice Access Control.kt +++ b/src/test/kotlin/unit/security/OpinionChoice Access Control.kt @@ -1,16 +1,10 @@ package unit.security import fr.dcproject.common.security.AccessDecision.GRANTED -import fr.dcproject.component.article.ArticleForView -import fr.dcproject.component.auth.User -import fr.dcproject.component.auth.UserI -import fr.dcproject.component.citizen.CitizenBasic -import fr.dcproject.component.citizen.CitizenCart -import fr.dcproject.component.citizen.CitizenI +import fr.dcproject.component.citizen.CitizenRef import fr.dcproject.component.opinion.OpinionChoiceAccessControl import fr.dcproject.component.opinion.entity.OpinionChoice import org.amshove.kluent.`should be` -import org.joda.time.DateTime import org.junit.jupiter.api.Tag import org.junit.jupiter.api.Tags import org.junit.jupiter.api.Test @@ -23,32 +17,12 @@ import java.util.UUID @Execution(CONCURRENT) @Tags(Tag("security"), Tag("unit")) internal class `OpinionChoice Access Control` { - private val tesla = CitizenBasic( + private val tesla = CitizenRef( id = UUID.fromString("e6efc288-4283-4729-a268-6debb18de1a0"), - user = User( - username = "nicolas-tesla", - roles = listOf(UserI.Roles.ROLE_USER) - ), - birthday = DateTime.now(), - email = "tesla@best.com", - name = CitizenI.Name("Nicolas", "Tesla"), - followAnonymous = false ) - private val tesla2 = CitizenCart( + private val tesla2 = CitizenRef( id = UUID.fromString("e6efc288-4283-4729-a268-6debb18de1a0"), - user = User( - username = "nicolas-tesla", - roles = listOf(UserI.Roles.ROLE_USER) - ), - name = CitizenI.Name("Nicolas", "Tesla") - ) - - private val article1 = ArticleForView( - content = "Hi", - createdBy = tesla2, - description = "blablabla", - title = "Super article" ) private val choice1 = OpinionChoice( diff --git a/src/test/kotlin/unit/security/Vote Access Control.kt b/src/test/kotlin/unit/security/Vote Access Control.kt index c1fa4fb..925e446 100644 --- a/src/test/kotlin/unit/security/Vote Access Control.kt +++ b/src/test/kotlin/unit/security/Vote Access Control.kt @@ -4,10 +4,11 @@ import fr.dcproject.common.security.AccessDecision.DENIED import fr.dcproject.common.security.AccessDecision.GRANTED import fr.dcproject.component.article.ArticleForView import fr.dcproject.component.auth.User +import fr.dcproject.component.auth.UserCreator import fr.dcproject.component.auth.UserI import fr.dcproject.component.citizen.Citizen -import fr.dcproject.component.citizen.CitizenBasic import fr.dcproject.component.citizen.CitizenCart +import fr.dcproject.component.citizen.CitizenCreator import fr.dcproject.component.citizen.CitizenI import fr.dcproject.component.vote.VoteAccessControl import fr.dcproject.component.vote.entity.VoteForUpdate @@ -20,7 +21,7 @@ import org.junit.jupiter.api.TestInstance import org.junit.jupiter.api.parallel.Execution import org.junit.jupiter.api.parallel.ExecutionMode.CONCURRENT import java.util.UUID -import fr.dcproject.component.vote.entity.Vote as VoteEntity +import fr.dcproject.component.vote.entity.VoteForView @TestInstance(TestInstance.Lifecycle.PER_CLASS) @Execution(CONCURRENT) @@ -37,13 +38,11 @@ internal class `Vote Access Control` { name = CitizenI.Name("Nicolas", "Tesla"), followAnonymous = false ) - private val tesla3 = CitizenBasic( + private val tesla3 = CitizenCreator( id = UUID.fromString("a1e35c99-9d33-4fb4-9201-58d7071243bb"), - user = User( + user = UserCreator( username = "nicolas-tesla", - roles = listOf(UserI.Roles.ROLE_USER) ), - birthday = DateTime.now(), email = "tesla@best.com", name = CitizenI.Name("Nicolas", "Tesla"), followAnonymous = false @@ -77,7 +76,7 @@ internal class `Vote Access Control` { title = "Super article" ) - private val vote1 = VoteEntity( + private val vote1 = VoteForView( createdBy = tesla3, target = article1, note = 1 diff --git a/src/test/kotlin/unit/security/Workgroup Access Control.kt b/src/test/kotlin/unit/security/Workgroup Access Control.kt index f126964..6634b2d 100644 --- a/src/test/kotlin/unit/security/Workgroup Access Control.kt +++ b/src/test/kotlin/unit/security/Workgroup Access Control.kt @@ -5,14 +5,13 @@ import fr.dcproject.common.security.AccessDecision.GRANTED import fr.dcproject.component.auth.User import fr.dcproject.component.auth.UserCreator import fr.dcproject.component.auth.UserI -import fr.dcproject.component.citizen.CitizenBasic import fr.dcproject.component.citizen.CitizenCart import fr.dcproject.component.citizen.CitizenCreator import fr.dcproject.component.citizen.CitizenI +import fr.dcproject.component.citizen.CitizenRef import fr.dcproject.component.workgroup.WorkgroupAccessControl import fr.dcproject.component.workgroup.WorkgroupWithMembersI import org.amshove.kluent.`should be` -import org.joda.time.DateTime import org.junit.jupiter.api.Tag import org.junit.jupiter.api.Tags import org.junit.jupiter.api.Test @@ -35,25 +34,8 @@ internal class `Workgroup Access Control` { followAnonymous = false ) - private val einstein = CitizenBasic( + private val einstein = CitizenRef( id = UUID.fromString("319f1226-8f47-4df3-babd-2c7671ad0fbc"), - user = User( - username = "albert-einstein", - roles = listOf(UserI.Roles.ROLE_USER) - ), - birthday = DateTime.now(), - email = "einstein@best.com", - name = CitizenI.Name("Albert", "Einstein"), - followAnonymous = true - ) - - private val einstein2 = CitizenCart( - id = UUID.fromString("319f1226-8f47-4df3-babd-2c7671ad0fbc"), - user = User( - username = "albert-einstein", - roles = listOf(UserI.Roles.ROLE_USER) - ), - name = CitizenI.Name("Albert", "Einstein") ) private val workgroupPublic = WorkgroupEntity(