Skip to content

Commit

Permalink
chore(test): JWT 다루는 테스트 케이스 추가
Browse files Browse the repository at this point in the history
1)Base64URL 인코드된 결과인 JWT payload에 하이픈이 들어가는 경우와, 2)그냥 Base64 인코드된 스트링이 들어가는 경우를 추가했어요
  • Loading branch information
potados99 committed Feb 18, 2025
1 parent 0802e03 commit 1496aa2
Showing 1 changed file with 19 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package com.nexters.boolti.presentation.util

import io.kotest.assertions.throwables.shouldThrow
import io.kotest.core.spec.style.BehaviorSpec
import io.kotest.matchers.shouldBe

Expand All @@ -16,6 +17,24 @@ class JwtUtilTest : BehaviorSpec() {
payloadMap["sub"] shouldBe "3320565564"
}
}

`when`("이 하이픈 들어간 jwt를 디코드 했을 때") {
then("payload의 key value 쌍을 반환한다.") {
val payloadMap =
sut.decodePayload("eyJraWQiOiI5ZjI1MmRhZGQ1ZjIzM2Y5M2QyZmE1MjhkMTJmZWEiLCJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.ewogICJhdWQiOiAiMmQ1Y2JlMGI0YmFjYzI1MzJmODcxNjZlMmE3ZTUzYjHvuqoiLAogICJzdWIiOiAiMzMyMDU2NTU2NCIsCiAgImF1dGhfdGltZSI6IDE3MDY2MTg0MTgsCiAgImlzcyI6ICJodHRwczovL2thdXRoLmtha2FvLmNvbSIsCiAgIm5pY2tuYW1lIjogIu2Zjeq4uOuPme-6kiIsCiAgImV4cCI6IDE3MDY2NjE2MTgsCiAgImlhdCI6IDE3MDY2MTg0MTgsCiAgInBpY3R1cmUiOiAiaHR0cDovL2sua2FrYW9jZG4ubmV0L2RuLzFHOWtwL2J0c0FvdDhsaU9uLzhDV3VkaTN1eTA3cnZGTlVrazNFUjAvaW1nXzExMHgxMTAuanBnIgp9.f-pvLKlSly9KCDBHc0d_-ccKlwr48ezCrLuwxiD5VCjLoEJRACCDnB49K3ygCTzLKZZHG5KNJNheVci5v7kdqegsxRa3xLcRLQ7Vz-NluSwFHiSe6Ska9QRXEDY1lOPRSh103b2fEEAykVUH6VqRwnal6S1-X3d9C3QMSvz1mXIUbqkFL5sCygbvszQY1cERC0NLQ55qIhD8AWTyeWKp_wQwvBpSW3WQEhjyWaTJZqrb9i7s5ZouqsK6B9rKmml3bM18qmLydh8ruV48yUbcI-Zm3ugwLI-8KZbfWASwCgEdyQYROq8fspziPdNXlSGnEnFRziwitP4ZFA5UVbt_FQ")
payloadMap["nickname"] shouldBe "홍길동ﺒ"
payloadMap["picture"] shouldBe "http://k.kakaocdn.net/dn/1G9kp/btsAot8liOn/8CWudi3uy07rvFNUkk3ER0/img_110x110.jpg"
payloadMap["sub"] shouldBe "3320565564"
}
}

`when`("그런데 만약 JWT의 payload 부분이 표준대로 Base64 URL 인코드된 스트링이 아니라 그냥 Base64 인코딩된 스트링이라면") {
then("IllegalArgumentException을 터뜨린다.") {
shouldThrow<IllegalArgumentException> {
sut.decodePayload("eyJraWQiOiI5ZjI1MmRhZGQ1ZjIzM2Y5M2QyZmE1MjhkMTJmZWEiLCJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.ewogICJhdWQiOiAiMmQ1Y2JlMGI0YmFjYzI1MzJmODcxNjZlMmE3ZTUzYjHvuqoiLAogICJzdWIiOiAiMzMyMDU2NTU2NCIsCiAgImF1dGhfdGltZSI6IDE3MDY2MTg0MTgsCiAgImlzcyI6ICJodHRwczovL2thdXRoLmtha2FvLmNvbSIsCiAgIm5pY2tuYW1lIjogIu2Zjeq4uOuPme+6kiIsCiAgImV4cCI6IDE3MDY2NjE2MTgsCiAgImlhdCI6IDE3MDY2MTg0MTgsCiAgInBpY3R1cmUiOiAiaHR0cDovL2sua2FrYW9jZG4ubmV0L2RuLzFHOWtwL2J0c0FvdDhsaU9uLzhDV3VkaTN1eTA3cnZGTlVrazNFUjAvaW1nXzExMHgxMTAuanBnIgp9.f-pvLKlSly9KCDBHc0d_-ccKlwr48ezCrLuwxiD5VCjLoEJRACCDnB49K3ygCTzLKZZHG5KNJNheVci5v7kdqegsxRa3xLcRLQ7Vz-NluSwFHiSe6Ska9QRXEDY1lOPRSh103b2fEEAykVUH6VqRwnal6S1-X3d9C3QMSvz1mXIUbqkFL5sCygbvszQY1cERC0NLQ55qIhD8AWTyeWKp_wQwvBpSW3WQEhjyWaTJZqrb9i7s5ZouqsK6B9rKmml3bM18qmLydh8ruV48yUbcI-Zm3ugwLI-8KZbfWASwCgEdyQYROq8fspziPdNXlSGnEnFRziwitP4ZFA5UVbt_FQ")
}
}
}
}
}
}

0 comments on commit 1496aa2

Please sign in to comment.