add valid account annotation

- add AccountValidator
- add ValidAccount
This commit is contained in:
2025-02-03 22:05:51 +01:00
parent a762a05c11
commit ddc701ea51
3 changed files with 143 additions and 0 deletions

View File

@@ -0,0 +1,109 @@
package ltd.hlaeja.validator
import io.mockk.mockk
import ltd.hlaeja.library.accountRegistry.Account
import org.assertj.core.api.Assertions.assertThat
import org.junit.jupiter.api.Test
class AccountValidatorTest {
val validator = AccountValidator()
@Test
fun `validate account - success all values`() {
// given
val request = Account.Request(
username = "validUser",
password = "strongPassword",
enabled = true,
roles = listOf("USER", "TEST")
)
// when
val result = validator.isValid(request, mockk())
// then
assertThat(result).isTrue
}
@Test
fun `validate account - success password null`() {
// given
val request = Account.Request(
username = "validUser",
password = null,
enabled = true,
roles = listOf("USER")
)
// when
val result = validator.isValid(request, mockk())
// then
assertThat(result).isTrue
}
@Test
fun `validate account - failed username empty`() {
// given
val request = Account.Request(
username = "",
password = "strongPassword",
enabled = true,
roles = listOf("USER")
)
// when
val result = validator.isValid(request, mockk())
// then
assertThat(result).isFalse
}
@Test
fun `validate account - failed password empty`() {
// given
val request = Account.Request(
username = "validUser",
password = "",
enabled = true,
roles = listOf("USER")
)
// when
val result = validator.isValid(request, mockk())
// then
assertThat(result).isFalse
}
@Test
fun `validate account - failed roles empty`() {
// given
val request = Account.Request(
username = "validUser",
password = "",
enabled = true,
roles = emptyList()
)
// when
val result = validator.isValid(request, mockk())
// then
assertThat(result).isFalse
}
@Test
fun `validate account - success wrong data type`() {
// given
val request = "A string"
// when
val result = validator.isValid(request, mockk())
// then
assertThat(result).isTrue
}
}