Skip to content

Commit 64a6c7c

Browse files
committed
Chore: DataStore 테스트 반환타입 수정
1 parent c418049 commit 64a6c7c

2 files changed

Lines changed: 24 additions & 33 deletions

File tree

core/datastore/src/main/java/com/threegap/bitnagil/datastore/auth/storage/AuthTokenDataStoreImpl.kt

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package com.threegap.bitnagil.datastore.auth.storage
22

3-
import android.util.Log
43
import androidx.datastore.core.DataStore
54
import com.threegap.bitnagil.datastore.auth.model.AuthToken
65
import kotlinx.coroutines.flow.Flow
@@ -15,9 +14,7 @@ class AuthTokenDataStoreImpl(
1514
dataStore.updateData {
1615
AuthToken(accessToken, refreshToken)
1716
}
18-
Log.d(TAG, "Auth token updated successfully")
1917
} catch (e: Exception) {
20-
Log.e(TAG, "updateAuthToken failed:", e)
2118
throw e
2219
}
2320
}
@@ -27,9 +24,7 @@ class AuthTokenDataStoreImpl(
2724
dataStore.updateData { currentToken ->
2825
currentToken.copy(accessToken = accessToken)
2926
}
30-
Log.d(TAG, "Access token updated successfully")
3127
} catch (e: Exception) {
32-
Log.e(TAG, "updateAccessToken failed:", e)
3328
throw e
3429
}
3530
}
@@ -39,19 +34,15 @@ class AuthTokenDataStoreImpl(
3934
dataStore.updateData { currentToken ->
4035
currentToken.copy(refreshToken = refreshToken)
4136
}
42-
Log.d(TAG, "Refresh token updated successfully")
4337
} catch (e: Exception) {
44-
Log.e(TAG, "updateRefreshToken failed:", e)
4538
throw e
4639
}
4740
}
4841

4942
override suspend fun clearAuthToken() {
5043
try {
5144
dataStore.updateData { AuthToken() }
52-
Log.d(TAG, "Auth token cleared successfully")
5345
} catch (e: Exception) {
54-
Log.e(TAG, "clearAuthToken failed:", e)
5546
throw e
5647
}
5748
}

core/datastore/src/test/java/com/threegap/bitnagil/datastore/auth/storage/AuthTokenDataStoreImplTest.kt

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -70,16 +70,19 @@ class AuthTokenDataStoreImplTest {
7070
fun `토큰 전체 업데이트가 성공하면 저장된 토큰을 반환해야 한다`() =
7171
runTest {
7272
// given
73+
val accessToken = "access"
74+
val refreshToken = "refresh"
7375
val token =
7476
AuthToken(
75-
accessToken = "access",
76-
refreshToken = "refresh",
77+
accessToken = accessToken,
78+
refreshToken = refreshToken,
7779
)
7880

7981
// when
80-
val result = authTokenDataStore.updateAuthToken(token)
82+
authTokenDataStore.updateAuthToken(accessToken, refreshToken)
8183

8284
// then
85+
val result = authTokenDataStore.tokenFlow.first()
8386
assertEquals(token, result)
8487
}
8588

@@ -88,54 +91,51 @@ class AuthTokenDataStoreImplTest {
8891
runTest {
8992
// given
9093
authTokenDataStore.updateAuthToken(
91-
AuthToken(
92-
accessToken = "oldAccess",
93-
refreshToken = "oldRefresh",
94-
),
94+
accessToken = "oldAccess",
95+
refreshToken = "oldRefresh",
9596
)
9697

9798
// when
98-
val updated = authTokenDataStore.updateAccessToken(accessToken = "newAccess")
99+
authTokenDataStore.updateAccessToken(accessToken = "newAccess")
99100

100101
// then
101-
assertEquals("newAccess", updated.accessToken)
102-
assertEquals("oldRefresh", updated.refreshToken)
102+
val result = authTokenDataStore.tokenFlow.first()
103+
assertEquals("newAccess", result.accessToken)
104+
assertEquals("oldRefresh", result.refreshToken)
103105
}
104106

105107
@Test
106108
fun `refreshToken만 업데이트하면 기존 accessToken은 유지되어야 한다`() =
107109
runTest {
108110
// given
109111
authTokenDataStore.updateAuthToken(
110-
AuthToken(
111-
accessToken = "oldAccess",
112-
refreshToken = "oldRefresh",
113-
),
112+
accessToken = "oldAccess",
113+
refreshToken = "oldRefresh",
114114
)
115115

116116
// when
117-
val updated = authTokenDataStore.updateRefreshToken(refreshToken = "newRefresh")
117+
authTokenDataStore.updateRefreshToken(refreshToken = "newRefresh")
118118

119119
// then
120-
assertEquals("oldAccess", updated.accessToken)
121-
assertEquals("newRefresh", updated.refreshToken)
120+
val result = authTokenDataStore.tokenFlow.first()
121+
assertEquals("oldAccess", result.accessToken)
122+
assertEquals("newRefresh", result.refreshToken)
122123
}
123124

124125
@Test
125126
fun `토큰을 클리어하면 기본값이 저장되어야 한다`() =
126127
runTest {
127128
// given
128129
authTokenDataStore.updateAuthToken(
129-
AuthToken(
130-
accessToken = "someAccess",
131-
refreshToken = "someRefresh",
132-
),
130+
accessToken = "someAccess",
131+
refreshToken = "someRefresh",
133132
)
134133

135134
// when
136-
val cleared = authTokenDataStore.clearAuthToken()
135+
authTokenDataStore.clearAuthToken()
137136

138137
// then
138+
val cleared = authTokenDataStore.tokenFlow.first()
139139
assertEquals(AuthToken(), cleared)
140140
}
141141

@@ -150,7 +150,7 @@ class AuthTokenDataStoreImplTest {
150150
)
151151

152152
// when
153-
authTokenDataStore.updateAuthToken(token)
153+
authTokenDataStore.updateAuthToken("flowAccess", "flowRefresh")
154154

155155
// then
156156
val flowValue = authTokenDataStore.tokenFlow.first()
@@ -172,7 +172,7 @@ class AuthTokenDataStoreImplTest {
172172
val failingDataStore = AuthTokenDataStoreImpl(brokenStore)
173173

174174
// when & then
175-
failingDataStore.updateAuthToken(AuthToken("access", "refresh"))
175+
failingDataStore.updateAuthToken("access", "refresh")
176176
}
177177

178178
@Test(expected = RuntimeException::class)

0 commit comments

Comments
 (0)