Add Password validation

This commit is contained in:
2021-04-08 01:55:10 +02:00
parent 708d241a26
commit 6aa3ddb28d
2 changed files with 67 additions and 0 deletions

View File

@@ -0,0 +1,45 @@
package unit
import fr.dcproject.common.validation.passwordScore
import io.konform.validation.Invalid
import io.konform.validation.Valid
import io.konform.validation.Validation
import org.amshove.kluent.`should be equal to`
import org.amshove.kluent.`should be instance of`
import org.junit.jupiter.api.Tag
import org.junit.jupiter.api.Tags
import org.junit.jupiter.api.Test
import org.junit.jupiter.api.TestInstance
import org.junit.jupiter.api.parallel.Execution
import org.junit.jupiter.api.parallel.ExecutionMode
@TestInstance(TestInstance.Lifecycle.PER_CLASS)
@Execution(ExecutionMode.CONCURRENT)
@Tags(Tag("validation"), Tag("unit"))
internal class `Password Validation` {
@Test
fun password() {
"1234567890".passwordScore() `should be equal to` 10
"1234567A".passwordScore() `should be equal to` 10
"1234Aa".passwordScore() `should be equal to` 10
"12Aab".passwordScore() `should be equal to` 11
"1234Aa".passwordScore() `should be equal to` 10
"12abCD-+".passwordScore() `should be equal to` 18
"Abcde12!".passwordScore() `should be equal to` 15
"Hello world".passwordScore() `should be equal to` 16
}
@Test
fun passwordScore() {
Validation<ObjectToValid> {
ObjectToValid::password {
this.passwordScore(10)
}
}.run {
validate(ObjectToValid("1234567890")) `should be instance of` Valid::class
validate(ObjectToValid("12345678")) `should be instance of` Invalid::class
}
}
class ObjectToValid(val password: String)
}