Skip to content

Commit f067d23

Browse files
committed
test: 분산락 및 재시도 적용에 따른 MapService 단위 테스트 코드 수정
1 parent 7380221 commit f067d23

File tree

1 file changed

+24
-3
lines changed

1 file changed

+24
-3
lines changed

src/test/java/com/example/log4u/domain/Map/service/MapServiceTest.java

Lines changed: 24 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,19 @@
88
import java.util.List;
99
import java.util.Optional;
1010
import java.util.Set;
11+
import java.util.function.Supplier;
1112

13+
import org.junit.jupiter.api.BeforeEach;
1214
import org.junit.jupiter.api.DisplayName;
1315
import org.junit.jupiter.api.Test;
1416
import org.junit.jupiter.api.extension.ExtendWith;
1517
import org.mockito.InjectMocks;
1618
import org.mockito.Mock;
1719
import org.mockito.junit.jupiter.MockitoExtension;
20+
import org.mockito.junit.jupiter.MockitoSettings;
21+
import org.mockito.quality.Strictness;
1822

23+
import com.example.log4u.common.executor.RetryExecutor;
1924
import com.example.log4u.domain.diary.entity.Diary;
2025
import com.example.log4u.domain.diary.repository.DiaryRepository;
2126
import com.example.log4u.domain.diary.service.DiaryGeohashService;
@@ -26,14 +31,17 @@
2631
import com.example.log4u.domain.map.dto.response.DiaryMarkerResponseDto;
2732
import com.example.log4u.domain.map.exception.InvalidGeohashException;
2833
import com.example.log4u.domain.map.exception.InvalidMapLevelException;
34+
import com.example.log4u.domain.map.repository.sido.SidoAreasDiaryCountRepository;
2935
import com.example.log4u.domain.map.repository.sido.SidoAreasRepository;
36+
import com.example.log4u.domain.map.repository.sigg.SiggAreasDiaryCountRepository;
3037
import com.example.log4u.domain.map.repository.sigg.SiggAreasRepository;
3138
import com.example.log4u.domain.map.service.MapService;
3239
import com.example.log4u.fixture.DiaryFixture;
3340
import com.example.log4u.fixture.DiaryMarkerFixture;
3441

3542
@DisplayName("지도 API 단위 테스트")
3643
@ExtendWith(MockitoExtension.class)
44+
@MockitoSettings(strictness = Strictness.LENIENT)
3745
class MapServiceTest {
3846

3947
@InjectMocks
@@ -42,23 +50,26 @@ class MapServiceTest {
4250
@Mock
4351
private SidoAreasRepository sidoAreasRepository;
4452

53+
@Mock
54+
private SidoAreasDiaryCountRepository sidoAreasDiaryCountRepository;
55+
4556
@Mock
4657
private SiggAreasRepository siggAreasRepository;
4758

4859
@Mock
49-
private DiaryRepository diaryRepository;
60+
private SiggAreasDiaryCountRepository siggAreasDiaryCountRepository;
5061

5162
@Mock
5263
private MarkerCacheDao markerCacheDao;
5364

5465
@Mock
55-
private DiaryService diaryService;
66+
private ClusterCacheDao clusterCacheDao;
5667

5768
@Mock
5869
private DiaryGeohashService diaryGeohashService;
5970

6071
@Mock
61-
private ClusterCacheDao clusterCacheDao;
72+
private RetryExecutor retryExecutor;
6273

6374
private static final String GEOHASH_L3 = "abc";
6475
private static final String GEOHASH_L5 = "abcde";
@@ -76,6 +87,16 @@ class MapServiceTest {
7687
)
7788
);
7889

90+
@BeforeEach
91+
void setUp() {
92+
given(retryExecutor.runWithRetry(any()))
93+
.willAnswer(invocation -> {
94+
@SuppressWarnings("unchecked")
95+
Supplier<?> supplier = invocation.getArgument(0);
96+
return supplier.get();
97+
});
98+
}
99+
79100
@DisplayName("성공: 클러스터 캐시 HIT")
80101
@Test
81102
void getDiaryClusters_cacheHit() {

0 commit comments

Comments
 (0)