forked from solid-connection/solid-connect-server
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathRefreshTokenCookieManagerTest.java
More file actions
64 lines (53 loc) · 2.28 KB
/
RefreshTokenCookieManagerTest.java
File metadata and controls
64 lines (53 loc) · 2.28 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
package com.example.solidconnection.auth.controller;
import static org.assertj.core.api.Assertions.assertThat;
import static org.junit.jupiter.api.Assertions.assertAll;
import com.example.solidconnection.auth.domain.TokenType;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import org.springframework.mock.web.MockHttpServletResponse;
@DisplayName("리프레시 토큰 쿠키 매니저 테스트")
class RefreshTokenCookieManagerTest {
private RefreshTokenCookieManager cookieManager;
@BeforeEach
void setUp() {
cookieManager = new RefreshTokenCookieManager();
}
@Test
void 리프레시_토큰을_쿠키로_설정한다() {
// given
MockHttpServletResponse response = new MockHttpServletResponse();
String refreshToken = "test-refresh-token";
// when
cookieManager.setCookie(response, refreshToken);
// then
String header = response.getHeader("Set-Cookie");
assertAll(
() -> assertThat(header).isNotNull(),
() -> assertThat(header).contains("refreshToken=" + refreshToken),
() -> assertThat(header).contains("HttpOnly"),
() -> assertThat(header).contains("Secure"),
() -> assertThat(header).contains("Path=/"),
() -> assertThat(header).contains("Max-Age=" + TokenType.REFRESH.getExpireTime() / 1000),
() -> assertThat(header).contains("SameSite=Strict")
);
}
@Test
void 쿠키에서_리프레시_토큰을_삭제한다() {
// given
MockHttpServletResponse response = new MockHttpServletResponse();
// when
cookieManager.deleteCookie(response);
// then
String header = response.getHeader("Set-Cookie");
assertAll(
() -> assertThat(header).isNotNull(),
() -> assertThat(header).contains("refreshToken="),
() -> assertThat(header).contains("HttpOnly"),
() -> assertThat(header).contains("Secure"),
() -> assertThat(header).contains("Path=/"),
() -> assertThat(header).contains("Max-Age=0"),
() -> assertThat(header).contains("SameSite=Strict")
);
}
}