Add Tests for /user/info

This commit is contained in:
Hubert Van De Walle 2020-06-15 18:05:24 +02:00
parent 305772fb20
commit ebd897093c
2 changed files with 34 additions and 1 deletions

View File

@ -13,5 +13,6 @@
<logger name="io.netty" level="INFO"/> <logger name="io.netty" level="INFO"/>
<logger name="org.flywaydb.core" level="INFO"/> <logger name="org.flywaydb.core" level="INFO"/>
<logger name="org.testcontainers" level="INFO"/> <logger name="org.testcontainers" level="INFO"/>
<logger name="com.github.dockerjava" level="INFO"/> <logger name="com.github.dockerjava" level="WARN"/>
<logger name="🐳 [mariadb:10.3.6]" level="WARN"/>
</configuration> </configuration>

View File

@ -38,6 +38,10 @@ class AuthControllerKtTest {
every { userService.getFromUsername("existing") } returns user every { userService.getFromUsername("existing") } returns user
every { userService.userExists(1) } returns true every { userService.userExists(1) } returns true
every { userService.getUserInfo(1) } returns User {
username = "existing"
email = "existing@mail.com"
}
val user2 = User { val user2 = User {
password = BCrypt.hashpw("right password", BCrypt.gensalt()) password = BCrypt.hashpw("right password", BCrypt.gensalt())
@ -49,6 +53,7 @@ class AuthControllerKtTest {
every { userService.getFromUsername("notExisting") } returns null every { userService.getFromUsername("notExisting") } returns null
every { userService.userExists(3) } returns false every { userService.userExists(3) } returns false
every { userService.getUserInfo(3) } returns null
} }
@ -191,5 +196,32 @@ class AuthControllerKtTest {
} }
@Nested
inner class UserInfo {
@Test
fun `test user info for existing user`() {
val authJwt by kodein.instance<SimpleJWT>(tag = "auth")
val token = authJwt.sign(1)
val res = testEngine.get("/user/me") {
setToken(token)
}
res.content `should strictly be equal to json` """{user:{username:"existing", email: "existing@mail.com"}}"""
res.status() `should be equal to` HttpStatusCode.OK
}
@Test
fun `test user info on deleted user`() {
val authJwt by kodein.instance<SimpleJWT>(tag = "auth")
val token = authJwt.sign(3)
val res = testEngine.get("/user/me") {
setToken(token)
}
res.status()!!.value `should not be in range` (200..299)
val jsonObject = JSONObject(res.content)
jsonObject.keyList() `should be equal to` listOf("msg")
}
}
} }