mirror of
https://gitlab.com/mangadex-pub/mangadex_at_home.git
synced 2024-01-19 02:48:37 +00:00
Add some token tests
This commit is contained in:
parent
b79f6067bb
commit
1dfac5e0ad
|
@ -44,6 +44,7 @@ import org.http4k.core.Status
|
|||
import org.http4k.core.then
|
||||
import org.http4k.kotest.shouldHaveHeader
|
||||
import org.http4k.kotest.shouldHaveStatus
|
||||
import org.http4k.kotest.shouldNotHaveStatus
|
||||
import org.http4k.routing.bind
|
||||
import org.http4k.routing.routes
|
||||
import org.ktorm.database.Database
|
||||
|
@ -265,13 +266,29 @@ class TokenVerifierTest : FreeSpec() {
|
|||
val clientKeys = TweetNaclFast.Box.keyPair()
|
||||
val box = TweetNaclFast.Box(clientKeys.publicKey, remoteKeys.secretKey)
|
||||
|
||||
val handler = tokenVerifier(box.before()) { _, _ ->
|
||||
val backend = tokenVerifier(box.before()) { _, _ ->
|
||||
true
|
||||
}.then {
|
||||
Response(Status.OK)
|
||||
}
|
||||
|
||||
"token" - {
|
||||
val handler = routes(
|
||||
"/data/{chapterHash}/{fileName}" bind Method.GET to backend,
|
||||
"/data-saver/{chapterHash}/{fileName}" bind Method.GET to backend,
|
||||
"/{token}/data/{chapterHash}/{fileName}" bind Method.GET to backend,
|
||||
"/{token}/data-saver/{chapterHash}/{fileName}" bind Method.GET to backend,
|
||||
)
|
||||
|
||||
"invalid" - {
|
||||
"missing token should fail" {
|
||||
val response = handler(Request(Method.GET, "/data/02181a8f5fe8cd408720a771dd129fd8/T2.png"))
|
||||
response.shouldNotHaveStatus(Status.OK)
|
||||
}
|
||||
|
||||
"too short token should fail" {
|
||||
val response = handler(Request(Method.GET, "/a/data/02181a8f5fe8cd408720a771dd129fd8/T2.png"))
|
||||
response.shouldNotHaveStatus(Status.OK)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue