diff --git a/src/main/kotlin/com/vauthenticator/server/account/emailverification/SendVerifyEMailChallenge.kt b/src/main/kotlin/com/vauthenticator/server/account/emailverification/SendVerifyEMailChallenge.kt index 2340e0de..f0e7b7af 100644 --- a/src/main/kotlin/com/vauthenticator/server/account/emailverification/SendVerifyEMailChallenge.kt +++ b/src/main/kotlin/com/vauthenticator/server/account/emailverification/SendVerifyEMailChallenge.kt @@ -5,8 +5,8 @@ import com.vauthenticator.server.account.repository.AccountRepository import com.vauthenticator.server.email.EMailSenderService import com.vauthenticator.server.mfa.domain.MfaMethod import com.vauthenticator.server.mfa.domain.MfaMethodsEnrollment -import com.vauthenticator.server.mfa.domain.VerificationTicket import com.vauthenticator.server.oauth2.clientapp.ClientAppId +import com.vauthenticator.server.ticket.VerificationTicket import org.slf4j.LoggerFactory private const val LINK_KEY = "verificationEMailLink" diff --git a/src/main/kotlin/com/vauthenticator/server/account/emailverification/VerifyEMailChallenge.kt b/src/main/kotlin/com/vauthenticator/server/account/emailverification/VerifyEMailChallenge.kt index 569d5401..4f6de523 100644 --- a/src/main/kotlin/com/vauthenticator/server/account/emailverification/VerifyEMailChallenge.kt +++ b/src/main/kotlin/com/vauthenticator/server/account/emailverification/VerifyEMailChallenge.kt @@ -2,11 +2,11 @@ package com.vauthenticator.server.account.emailverification import com.vauthenticator.server.account.Account import com.vauthenticator.server.account.repository.AccountRepository -import com.vauthenticator.server.mfa.domain.InvalidTicketException import com.vauthenticator.server.mfa.domain.MfaMethod import com.vauthenticator.server.mfa.domain.MfaMethodsEnrollmentAssociation -import com.vauthenticator.server.mfa.domain.VerificationTicket -import com.vauthenticator.server.mfa.repository.TicketRepository +import com.vauthenticator.server.ticket.InvalidTicketException +import com.vauthenticator.server.ticket.TicketRepository +import com.vauthenticator.server.ticket.VerificationTicket class VerifyEMailChallenge( private val ticketRepository: TicketRepository, diff --git a/src/main/kotlin/com/vauthenticator/server/config/EMailVerificationConfig.kt b/src/main/kotlin/com/vauthenticator/server/config/EMailVerificationConfig.kt index fd791931..1636ff7e 100644 --- a/src/main/kotlin/com/vauthenticator/server/config/EMailVerificationConfig.kt +++ b/src/main/kotlin/com/vauthenticator/server/config/EMailVerificationConfig.kt @@ -9,8 +9,8 @@ import com.vauthenticator.server.account.repository.AccountRepository import com.vauthenticator.server.email.* import com.vauthenticator.server.mfa.domain.MfaMethodsEnrollment import com.vauthenticator.server.mfa.domain.MfaMethodsEnrollmentAssociation -import com.vauthenticator.server.mfa.repository.TicketRepository import com.vauthenticator.server.oauth2.clientapp.ClientApplicationRepository +import com.vauthenticator.server.ticket.TicketRepository import org.springframework.beans.factory.annotation.Value import org.springframework.context.annotation.Bean import org.springframework.context.annotation.Configuration diff --git a/src/main/kotlin/com/vauthenticator/server/config/ResetPasswordConfig.kt b/src/main/kotlin/com/vauthenticator/server/config/ResetPasswordConfig.kt index 0f8965f0..19e8108e 100644 --- a/src/main/kotlin/com/vauthenticator/server/config/ResetPasswordConfig.kt +++ b/src/main/kotlin/com/vauthenticator/server/config/ResetPasswordConfig.kt @@ -5,13 +5,13 @@ import com.vauthenticator.document.repository.DocumentRepository import com.vauthenticator.server.account.repository.AccountRepository import com.vauthenticator.server.email.* import com.vauthenticator.server.events.VAuthenticatorEventsDispatcher -import com.vauthenticator.server.mfa.domain.VerificationTicketFactory -import com.vauthenticator.server.mfa.repository.TicketRepository import com.vauthenticator.server.oauth2.clientapp.ClientApplicationRepository import com.vauthenticator.server.password.PasswordPolicy import com.vauthenticator.server.password.VAuthenticatorPasswordEncoder import com.vauthenticator.server.password.resetpassword.ResetAccountPassword import com.vauthenticator.server.password.resetpassword.SendResetPasswordMailChallenge +import com.vauthenticator.server.ticket.TicketRepository +import com.vauthenticator.server.ticket.VerificationTicketFactory import org.springframework.beans.factory.annotation.Value import org.springframework.context.annotation.Bean import org.springframework.context.annotation.Configuration diff --git a/src/main/kotlin/com/vauthenticator/server/config/TicketConfig.kt b/src/main/kotlin/com/vauthenticator/server/config/TicketConfig.kt index b21bf40f..1eb70c36 100644 --- a/src/main/kotlin/com/vauthenticator/server/config/TicketConfig.kt +++ b/src/main/kotlin/com/vauthenticator/server/config/TicketConfig.kt @@ -1,9 +1,9 @@ package com.vauthenticator.server.config -import com.vauthenticator.server.mfa.domain.VerificationTicketFactory -import com.vauthenticator.server.mfa.domain.VerificationTicketFeatures -import com.vauthenticator.server.mfa.repository.DynamoDbTicketRepository -import com.vauthenticator.server.mfa.repository.TicketRepository +import com.vauthenticator.server.ticket.DynamoDbTicketRepository +import com.vauthenticator.server.ticket.TicketRepository +import com.vauthenticator.server.ticket.VerificationTicketFactory +import com.vauthenticator.server.ticket.VerificationTicketFeatures import org.springframework.beans.factory.annotation.Value import org.springframework.context.annotation.Bean import org.springframework.context.annotation.Configuration diff --git a/src/main/kotlin/com/vauthenticator/server/mfa/MfaConfig.kt b/src/main/kotlin/com/vauthenticator/server/mfa/MfaConfig.kt index 82823529..68b5c270 100644 --- a/src/main/kotlin/com/vauthenticator/server/mfa/MfaConfig.kt +++ b/src/main/kotlin/com/vauthenticator/server/mfa/MfaConfig.kt @@ -11,7 +11,8 @@ import com.vauthenticator.server.mask.SensitiveEmailMasker import com.vauthenticator.server.mfa.domain.* import com.vauthenticator.server.mfa.repository.DynamoMfaAccountMethodsRepository import com.vauthenticator.server.mfa.repository.MfaAccountMethodsRepository -import com.vauthenticator.server.mfa.repository.TicketRepository +import com.vauthenticator.server.ticket.TicketRepository +import com.vauthenticator.server.ticket.VerificationTicketFactory import org.springframework.beans.factory.annotation.Value import org.springframework.boot.context.properties.ConfigurationProperties import org.springframework.context.annotation.Bean @@ -48,9 +49,9 @@ class MfaConfig { @Bean fun mfaMethodsEnrollment( + mfaSender : OtpMfaSender, verificationTicketFactory: VerificationTicketFactory, - mfaAccountMethodsRepository: MfaAccountMethodsRepository - ) = MfaMethodsEnrollment(verificationTicketFactory, mfaAccountMethodsRepository) + ) = MfaMethodsEnrollment(verificationTicketFactory, mfaSender) @Bean fun otpMfa( diff --git a/src/main/kotlin/com/vauthenticator/server/mfa/domain/MfaMethodsEnrollment.kt b/src/main/kotlin/com/vauthenticator/server/mfa/domain/MfaMethodsEnrollment.kt index 75a063af..84c7369d 100644 --- a/src/main/kotlin/com/vauthenticator/server/mfa/domain/MfaMethodsEnrollment.kt +++ b/src/main/kotlin/com/vauthenticator/server/mfa/domain/MfaMethodsEnrollment.kt @@ -2,8 +2,8 @@ package com.vauthenticator.server.mfa.domain import com.vauthenticator.server.account.Account import com.vauthenticator.server.mfa.repository.MfaAccountMethodsRepository -import com.vauthenticator.server.mfa.repository.TicketRepository import com.vauthenticator.server.oauth2.clientapp.ClientAppId +import com.vauthenticator.server.ticket.* class MfaMethodsEnrollmentAssociation( private val ticketRepository: TicketRepository, @@ -33,7 +33,7 @@ class MfaMethodsEnrollmentAssociation( class MfaMethodsEnrollment( private val verificationTicketFactory: VerificationTicketFactory, - private val mfaAccountMethodsRepository: MfaAccountMethodsRepository + mfaSender: OtpMfaSender, ) { fun enroll( diff --git a/src/main/kotlin/com/vauthenticator/server/password/resetpassword/ResetAccountPassword.kt b/src/main/kotlin/com/vauthenticator/server/password/resetpassword/ResetAccountPassword.kt index 15f1c56f..2f2b43a2 100644 --- a/src/main/kotlin/com/vauthenticator/server/password/resetpassword/ResetAccountPassword.kt +++ b/src/main/kotlin/com/vauthenticator/server/password/resetpassword/ResetAccountPassword.kt @@ -4,14 +4,14 @@ import com.vauthenticator.server.account.Email import com.vauthenticator.server.account.repository.AccountRepository import com.vauthenticator.server.events.ResetPasswordEvent import com.vauthenticator.server.events.VAuthenticatorEventsDispatcher -import com.vauthenticator.server.mfa.domain.InvalidTicketException -import com.vauthenticator.server.mfa.domain.Ticket -import com.vauthenticator.server.mfa.domain.VerificationTicket -import com.vauthenticator.server.mfa.repository.TicketRepository import com.vauthenticator.server.oauth2.clientapp.ClientAppId import com.vauthenticator.server.password.Password import com.vauthenticator.server.password.PasswordPolicy import com.vauthenticator.server.password.VAuthenticatorPasswordEncoder +import com.vauthenticator.server.ticket.InvalidTicketException +import com.vauthenticator.server.ticket.Ticket +import com.vauthenticator.server.ticket.TicketRepository +import com.vauthenticator.server.ticket.VerificationTicket import java.time.Instant import java.util.* diff --git a/src/main/kotlin/com/vauthenticator/server/password/resetpassword/RestePasswordEndPoint.kt b/src/main/kotlin/com/vauthenticator/server/password/resetpassword/RestePasswordEndPoint.kt index 7709c2ac..0d44175e 100644 --- a/src/main/kotlin/com/vauthenticator/server/password/resetpassword/RestePasswordEndPoint.kt +++ b/src/main/kotlin/com/vauthenticator/server/password/resetpassword/RestePasswordEndPoint.kt @@ -3,10 +3,10 @@ package com.vauthenticator.server.password.resetpassword import com.fasterxml.jackson.databind.ObjectMapper import com.vauthenticator.server.i18n.I18nMessageInjector import com.vauthenticator.server.i18n.I18nScope -import com.vauthenticator.server.mfa.domain.VerificationTicket import com.vauthenticator.server.oauth2.clientapp.Scope import com.vauthenticator.server.oauth2.clientapp.Scopes import com.vauthenticator.server.role.PermissionValidator +import com.vauthenticator.server.ticket.VerificationTicket import jakarta.servlet.http.HttpSession import org.springframework.http.ResponseEntity import org.springframework.http.ResponseEntity.noContent diff --git a/src/main/kotlin/com/vauthenticator/server/password/resetpassword/SendResetPasswordMailChallenge.kt b/src/main/kotlin/com/vauthenticator/server/password/resetpassword/SendResetPasswordMailChallenge.kt index ad7eee18..88ae69c3 100644 --- a/src/main/kotlin/com/vauthenticator/server/password/resetpassword/SendResetPasswordMailChallenge.kt +++ b/src/main/kotlin/com/vauthenticator/server/password/resetpassword/SendResetPasswordMailChallenge.kt @@ -2,8 +2,8 @@ package com.vauthenticator.server.password.resetpassword import com.vauthenticator.server.account.repository.AccountRepository import com.vauthenticator.server.email.EMailSenderService -import com.vauthenticator.server.mfa.domain.VerificationTicketFactory import com.vauthenticator.server.oauth2.clientapp.ClientAppId +import com.vauthenticator.server.ticket.VerificationTicketFactory class SendResetPasswordMailChallenge( private val accountRepository: AccountRepository, diff --git a/src/main/kotlin/com/vauthenticator/server/mfa/repository/DynamoDbTicketRepository.kt b/src/main/kotlin/com/vauthenticator/server/ticket/DynamoDbTicketRepository.kt similarity index 93% rename from src/main/kotlin/com/vauthenticator/server/mfa/repository/DynamoDbTicketRepository.kt rename to src/main/kotlin/com/vauthenticator/server/ticket/DynamoDbTicketRepository.kt index 068ff58c..cf3b29ce 100644 --- a/src/main/kotlin/com/vauthenticator/server/mfa/repository/DynamoDbTicketRepository.kt +++ b/src/main/kotlin/com/vauthenticator/server/ticket/DynamoDbTicketRepository.kt @@ -1,11 +1,9 @@ -package com.vauthenticator.server.mfa.repository +package com.vauthenticator.server.ticket import com.vauthenticator.server.extentions.asDynamoAttribute import com.vauthenticator.server.extentions.filterEmptyMetadata import com.vauthenticator.server.extentions.valueAsLongFor import com.vauthenticator.server.extentions.valueAsStringFor -import com.vauthenticator.server.mfa.domain.Ticket -import com.vauthenticator.server.mfa.domain.VerificationTicket import software.amazon.awssdk.services.dynamodb.DynamoDbClient import software.amazon.awssdk.services.dynamodb.model.DeleteItemRequest import software.amazon.awssdk.services.dynamodb.model.GetItemRequest diff --git a/src/main/kotlin/com/vauthenticator/server/mfa/domain/Ticket.kt b/src/main/kotlin/com/vauthenticator/server/ticket/Ticket.kt similarity index 89% rename from src/main/kotlin/com/vauthenticator/server/mfa/domain/Ticket.kt rename to src/main/kotlin/com/vauthenticator/server/ticket/Ticket.kt index f109a9cb..f354f174 100644 --- a/src/main/kotlin/com/vauthenticator/server/mfa/domain/Ticket.kt +++ b/src/main/kotlin/com/vauthenticator/server/ticket/Ticket.kt @@ -1,4 +1,4 @@ -package com.vauthenticator.server.mfa.domain +package com.vauthenticator.server.ticket import java.time.Duration diff --git a/src/main/kotlin/com/vauthenticator/server/mfa/repository/TicketRepository.kt b/src/main/kotlin/com/vauthenticator/server/ticket/TicketRepository.kt similarity index 56% rename from src/main/kotlin/com/vauthenticator/server/mfa/repository/TicketRepository.kt rename to src/main/kotlin/com/vauthenticator/server/ticket/TicketRepository.kt index 78d2274b..1c58126a 100644 --- a/src/main/kotlin/com/vauthenticator/server/mfa/repository/TicketRepository.kt +++ b/src/main/kotlin/com/vauthenticator/server/ticket/TicketRepository.kt @@ -1,7 +1,5 @@ -package com.vauthenticator.server.mfa.repository +package com.vauthenticator.server.ticket -import com.vauthenticator.server.mfa.domain.Ticket -import com.vauthenticator.server.mfa.domain.VerificationTicket import java.util.* interface TicketRepository { diff --git a/src/main/kotlin/com/vauthenticator/server/mfa/domain/VerificationTicketFactory.kt b/src/main/kotlin/com/vauthenticator/server/ticket/VerificationTicketFactory.kt similarity index 83% rename from src/main/kotlin/com/vauthenticator/server/mfa/domain/VerificationTicketFactory.kt rename to src/main/kotlin/com/vauthenticator/server/ticket/VerificationTicketFactory.kt index f71ece08..0e4a7aac 100644 --- a/src/main/kotlin/com/vauthenticator/server/mfa/domain/VerificationTicketFactory.kt +++ b/src/main/kotlin/com/vauthenticator/server/ticket/VerificationTicketFactory.kt @@ -1,12 +1,13 @@ -package com.vauthenticator.server.mfa.domain +package com.vauthenticator.server.ticket import com.vauthenticator.server.account.Account import com.vauthenticator.server.extentions.expirationTimeStampInSecondFromNow -import com.vauthenticator.server.mfa.repository.TicketRepository import com.vauthenticator.server.oauth2.clientapp.ClientAppId import java.time.Clock -// todo create and store ticket is a SRP violation.. it should be decoupled +/* +* This domain class create a new verification ticket storing the associated information in the database +* */ class VerificationTicketFactory( private val ticketGenerator: () -> String, private val clock: Clock, diff --git a/src/test/kotlin/com/vauthenticator/server/account/emailverification/SendVerifyEMailChallengeTest.kt b/src/test/kotlin/com/vauthenticator/server/account/emailverification/SendVerifyEMailChallengeTest.kt index 2b7f7a2a..476e74ef 100644 --- a/src/test/kotlin/com/vauthenticator/server/account/emailverification/SendVerifyEMailChallengeTest.kt +++ b/src/test/kotlin/com/vauthenticator/server/account/emailverification/SendVerifyEMailChallengeTest.kt @@ -7,12 +7,12 @@ import com.vauthenticator.server.clientapp.ClientAppFixture.aClientApp import com.vauthenticator.server.email.EMailSenderService import com.vauthenticator.server.mfa.domain.MfaMethod import com.vauthenticator.server.mfa.domain.MfaMethodsEnrollment -import com.vauthenticator.server.mfa.domain.VerificationTicket import com.vauthenticator.server.oauth2.clientapp.ClientAppId import com.vauthenticator.server.oauth2.clientapp.ClientApplicationRepository import com.vauthenticator.server.oauth2.clientapp.Scope import com.vauthenticator.server.oauth2.clientapp.Scopes import com.vauthenticator.server.support.AccountTestFixture.anAccount +import com.vauthenticator.server.ticket.VerificationTicket import io.mockk.every import io.mockk.impl.annotations.MockK import io.mockk.junit5.MockKExtension diff --git a/src/test/kotlin/com/vauthenticator/server/account/emailverification/VerificationTicketFactoryTest.kt b/src/test/kotlin/com/vauthenticator/server/account/emailverification/VerificationTicketFactoryTest.kt index 3e6d99ef..2c41a614 100644 --- a/src/test/kotlin/com/vauthenticator/server/account/emailverification/VerificationTicketFactoryTest.kt +++ b/src/test/kotlin/com/vauthenticator/server/account/emailverification/VerificationTicketFactoryTest.kt @@ -1,14 +1,14 @@ package com.vauthenticator.server.account.emailverification import com.vauthenticator.server.clientapp.A_CLIENT_APP_ID -import com.vauthenticator.server.mfa.domain.VerificationTicket -import com.vauthenticator.server.mfa.domain.VerificationTicketFactory -import com.vauthenticator.server.mfa.domain.VerificationTicketFeatures -import com.vauthenticator.server.mfa.repository.TicketRepository import com.vauthenticator.server.oauth2.clientapp.ClientAppId import com.vauthenticator.server.support.AccountTestFixture.anAccount import com.vauthenticator.server.support.EMAIL import com.vauthenticator.server.support.TicketFixture.ticketFor +import com.vauthenticator.server.ticket.TicketRepository +import com.vauthenticator.server.ticket.VerificationTicket +import com.vauthenticator.server.ticket.VerificationTicketFactory +import com.vauthenticator.server.ticket.VerificationTicketFeatures import io.mockk.every import io.mockk.impl.annotations.MockK import io.mockk.junit5.MockKExtension diff --git a/src/test/kotlin/com/vauthenticator/server/account/emailverification/VerifyEMailChallengeTest.kt b/src/test/kotlin/com/vauthenticator/server/account/emailverification/VerifyEMailChallengeTest.kt index ae5f014c..d7966efe 100644 --- a/src/test/kotlin/com/vauthenticator/server/account/emailverification/VerifyEMailChallengeTest.kt +++ b/src/test/kotlin/com/vauthenticator/server/account/emailverification/VerifyEMailChallengeTest.kt @@ -1,14 +1,14 @@ package com.vauthenticator.server.account.emailverification import com.vauthenticator.server.account.repository.AccountRepository -import com.vauthenticator.server.mfa.domain.InvalidTicketException import com.vauthenticator.server.mfa.domain.MfaMethod import com.vauthenticator.server.mfa.domain.MfaMethodsEnrollmentAssociation -import com.vauthenticator.server.mfa.domain.VerificationTicket -import com.vauthenticator.server.mfa.repository.TicketRepository import com.vauthenticator.server.oauth2.clientapp.ClientAppId import com.vauthenticator.server.support.AccountTestFixture import com.vauthenticator.server.support.TicketFixture +import com.vauthenticator.server.ticket.InvalidTicketException +import com.vauthenticator.server.ticket.TicketRepository +import com.vauthenticator.server.ticket.VerificationTicket import io.mockk.every import io.mockk.impl.annotations.MockK import io.mockk.junit5.MockKExtension diff --git a/src/test/kotlin/com/vauthenticator/server/mfa/domain/MfaMethodsEnrollmentTest.kt b/src/test/kotlin/com/vauthenticator/server/mfa/domain/MfaMethodsEnrollmentTest.kt index e5c28413..844d8940 100644 --- a/src/test/kotlin/com/vauthenticator/server/mfa/domain/MfaMethodsEnrollmentTest.kt +++ b/src/test/kotlin/com/vauthenticator/server/mfa/domain/MfaMethodsEnrollmentTest.kt @@ -1,5 +1,75 @@ package com.vauthenticator.server.mfa.domain +import com.vauthenticator.server.clientapp.ClientAppFixture.aClientAppId +import com.vauthenticator.server.support.AccountTestFixture.anAccount +import com.vauthenticator.server.ticket.VerificationTicket +import com.vauthenticator.server.ticket.VerificationTicketFactory +import io.mockk.every +import io.mockk.impl.annotations.MockK +import io.mockk.junit5.MockKExtension +import io.mockk.just +import io.mockk.runs +import io.mockk.verify +import junit.framework.TestCase.assertEquals +import org.junit.jupiter.api.Test +import org.junit.jupiter.api.extension.ExtendWith + +@ExtendWith(MockKExtension::class) class MfaMethodsEnrollmentTest { + @MockK + private lateinit var verificationTicketFactory: VerificationTicketFactory + + @MockK + private lateinit var mfaSender: OtpMfaSender + + + @Test + fun `when the enrolment do not send the verification code together the verification ticket`() { + + val uut = MfaMethodsEnrollment( + verificationTicketFactory, + mfaSender, + ) + + + val account = anAccount() + val clientAppId = aClientAppId() + + + val verificationTicket = VerificationTicket("A_TICKET") + + every { verificationTicketFactory.createTicketFor(account, clientAppId) } returns verificationTicket + val actual = uut.enroll(account, MfaMethod.EMAIL_MFA_METHOD, clientAppId, false) + + verify { verificationTicketFactory.createTicketFor(account, clientAppId) } + + assertEquals(verificationTicket, actual) + } + + @Test + fun `when the enrolment send the verification code together the verification ticket`() { + + val uut = MfaMethodsEnrollment( + verificationTicketFactory, + mfaSender, + ) + + + val account = anAccount() + val clientAppId = aClientAppId() + + + val verificationTicket = VerificationTicket("A_TICKET") + + every { verificationTicketFactory.createTicketFor(account, clientAppId) } returns verificationTicket + every { mfaSender.sendMfaChallenge(account.email) } just runs + + val actual = uut.enroll(account, MfaMethod.EMAIL_MFA_METHOD, clientAppId, true) + + verify { verificationTicketFactory.createTicketFor(account, clientAppId) } + verify { mfaSender.sendMfaChallenge(account.email) } + + assertEquals(verificationTicket, actual) + } } \ No newline at end of file diff --git a/src/test/kotlin/com/vauthenticator/server/password/resetpassword/ResetAccountPasswordTest.kt b/src/test/kotlin/com/vauthenticator/server/password/resetpassword/ResetAccountPasswordTest.kt index d28046f3..eb87dc1e 100644 --- a/src/test/kotlin/com/vauthenticator/server/password/resetpassword/ResetAccountPasswordTest.kt +++ b/src/test/kotlin/com/vauthenticator/server/password/resetpassword/ResetAccountPasswordTest.kt @@ -3,13 +3,13 @@ package com.vauthenticator.server.password.resetpassword import com.vauthenticator.server.account.repository.AccountRepository import com.vauthenticator.server.events.ResetPasswordEvent import com.vauthenticator.server.events.VAuthenticatorEventsDispatcher -import com.vauthenticator.server.mfa.domain.InvalidTicketException -import com.vauthenticator.server.mfa.domain.VerificationTicket -import com.vauthenticator.server.mfa.repository.TicketRepository import com.vauthenticator.server.password.PasswordPolicy import com.vauthenticator.server.password.VAuthenticatorPasswordEncoder import com.vauthenticator.server.support.AccountTestFixture.anAccount import com.vauthenticator.server.support.TicketFixture +import com.vauthenticator.server.ticket.InvalidTicketException +import com.vauthenticator.server.ticket.TicketRepository +import com.vauthenticator.server.ticket.VerificationTicket import io.mockk.every import io.mockk.impl.annotations.MockK import io.mockk.junit5.MockKExtension diff --git a/src/test/kotlin/com/vauthenticator/server/password/resetpassword/ResetPasswordEndPointTest.kt b/src/test/kotlin/com/vauthenticator/server/password/resetpassword/ResetPasswordEndPointTest.kt index ad52db32..614ab208 100644 --- a/src/test/kotlin/com/vauthenticator/server/password/resetpassword/ResetPasswordEndPointTest.kt +++ b/src/test/kotlin/com/vauthenticator/server/password/resetpassword/ResetPasswordEndPointTest.kt @@ -3,7 +3,6 @@ package com.vauthenticator.server.password.resetpassword import com.fasterxml.jackson.databind.ObjectMapper import com.vauthenticator.server.clientapp.A_CLIENT_APP_ID import com.vauthenticator.server.clientapp.ClientAppFixture.aClientApp -import com.vauthenticator.server.mfa.domain.VerificationTicket import com.vauthenticator.server.oauth2.clientapp.ClientAppId import com.vauthenticator.server.oauth2.clientapp.ClientApplicationRepository import com.vauthenticator.server.oauth2.clientapp.Scope @@ -11,6 +10,7 @@ import com.vauthenticator.server.role.PermissionValidator import com.vauthenticator.server.support.EMAIL import com.vauthenticator.server.support.SecurityFixture.principalFor import com.vauthenticator.server.support.VAUTHENTICATOR_ADMIN +import com.vauthenticator.server.ticket.VerificationTicket import io.mockk.every import io.mockk.impl.annotations.MockK import io.mockk.junit5.MockKExtension diff --git a/src/test/kotlin/com/vauthenticator/server/password/resetpassword/SendResetPasswordMailChallengeTest.kt b/src/test/kotlin/com/vauthenticator/server/password/resetpassword/SendResetPasswordMailChallengeTest.kt index b23d1baa..7904f3e1 100644 --- a/src/test/kotlin/com/vauthenticator/server/password/resetpassword/SendResetPasswordMailChallengeTest.kt +++ b/src/test/kotlin/com/vauthenticator/server/password/resetpassword/SendResetPasswordMailChallengeTest.kt @@ -2,10 +2,10 @@ package com.vauthenticator.server.password.resetpassword import com.vauthenticator.server.account.repository.AccountRepository import com.vauthenticator.server.email.EMailSenderService -import com.vauthenticator.server.mfa.domain.VerificationTicket -import com.vauthenticator.server.mfa.domain.VerificationTicketFactory import com.vauthenticator.server.oauth2.clientapp.ClientAppId import com.vauthenticator.server.support.AccountTestFixture.anAccount +import com.vauthenticator.server.ticket.VerificationTicket +import com.vauthenticator.server.ticket.VerificationTicketFactory import io.mockk.every import io.mockk.impl.annotations.MockK import io.mockk.junit5.MockKExtension diff --git a/src/test/kotlin/com/vauthenticator/server/support/TicketFixture.kt b/src/test/kotlin/com/vauthenticator/server/support/TicketFixture.kt index 548fd72b..a530eb09 100644 --- a/src/test/kotlin/com/vauthenticator/server/support/TicketFixture.kt +++ b/src/test/kotlin/com/vauthenticator/server/support/TicketFixture.kt @@ -1,7 +1,7 @@ package com.vauthenticator.server.support -import com.vauthenticator.server.mfa.domain.Ticket -import com.vauthenticator.server.mfa.domain.VerificationTicket +import com.vauthenticator.server.ticket.Ticket +import com.vauthenticator.server.ticket.VerificationTicket object TicketFixture { fun ticketFor(verificationTicketValue: String, mail: String, clientAppId: String) = diff --git a/src/test/kotlin/com/vauthenticator/server/mfa/repository/DynamoDbTicketRepositoryTest.kt b/src/test/kotlin/com/vauthenticator/server/ticket/DynamoDbTicketRepositoryTest.kt similarity index 94% rename from src/test/kotlin/com/vauthenticator/server/mfa/repository/DynamoDbTicketRepositoryTest.kt rename to src/test/kotlin/com/vauthenticator/server/ticket/DynamoDbTicketRepositoryTest.kt index 500ca99a..dd0cc831 100644 --- a/src/test/kotlin/com/vauthenticator/server/mfa/repository/DynamoDbTicketRepositoryTest.kt +++ b/src/test/kotlin/com/vauthenticator/server/ticket/DynamoDbTicketRepositoryTest.kt @@ -1,9 +1,7 @@ -package com.vauthenticator.server.mfa.repository +package com.vauthenticator.server.ticket import com.vauthenticator.server.clientapp.A_CLIENT_APP_ID import com.vauthenticator.server.extentions.asDynamoAttribute -import com.vauthenticator.server.mfa.domain.Ticket -import com.vauthenticator.server.mfa.domain.VerificationTicket import com.vauthenticator.server.support.DynamoDbUtils import com.vauthenticator.server.support.DynamoDbUtils.dynamoTicketTableName import com.vauthenticator.server.support.DynamoDbUtils.resetDynamoDb diff --git a/src/test/kotlin/com/vauthenticator/server/mfa/domain/MfaMethodsEnrollmentAssociationTest.kt b/src/test/kotlin/com/vauthenticator/server/ticket/MfaMethodsEnrollmentAssociationTest.kt similarity index 92% rename from src/test/kotlin/com/vauthenticator/server/mfa/domain/MfaMethodsEnrollmentAssociationTest.kt rename to src/test/kotlin/com/vauthenticator/server/ticket/MfaMethodsEnrollmentAssociationTest.kt index 1a383a1f..cdd81392 100644 --- a/src/test/kotlin/com/vauthenticator/server/mfa/domain/MfaMethodsEnrollmentAssociationTest.kt +++ b/src/test/kotlin/com/vauthenticator/server/ticket/MfaMethodsEnrollmentAssociationTest.kt @@ -1,8 +1,10 @@ -package com.vauthenticator.server.mfa.domain +package com.vauthenticator.server.ticket import com.vauthenticator.server.keys.Kid +import com.vauthenticator.server.mfa.domain.MfaAccountMethod +import com.vauthenticator.server.mfa.domain.MfaMethod +import com.vauthenticator.server.mfa.domain.MfaMethodsEnrollmentAssociation import com.vauthenticator.server.mfa.repository.MfaAccountMethodsRepository -import com.vauthenticator.server.mfa.repository.TicketRepository import com.vauthenticator.server.oauth2.clientapp.ClientAppId import com.vauthenticator.server.support.AccountTestFixture.anAccount import com.vauthenticator.server.support.TicketFixture