109 lines
2.4 KiB
Kotlin
109 lines
2.4 KiB
Kotlin
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
|
|
}
|
|
}
|