|
16 | 16 | import org.springframework.beans.factory.annotation.Autowired; |
17 | 17 | import org.springframework.boot.test.autoconfigure.actuate.observability.AutoConfigureObservability; |
18 | 18 | import org.springframework.boot.test.context.SpringBootTest; |
| 19 | +import org.springframework.boot.test.context.TestConfiguration; |
19 | 20 | import org.springframework.cloud.contract.wiremock.AutoConfigureWireMock; |
| 21 | +import org.springframework.context.annotation.Bean; |
| 22 | +import org.springframework.context.annotation.Primary; |
20 | 23 | import org.springframework.jdbc.core.JdbcTemplate; |
21 | 24 | import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate; |
22 | 25 | import org.springframework.test.context.ActiveProfiles; |
23 | 26 | import org.springframework.test.context.ContextConfiguration; |
24 | 27 | import org.springframework.test.web.reactive.server.WebTestClient; |
25 | 28 |
|
26 | 29 | import java.time.Clock; |
| 30 | +import java.time.LocalDateTime; |
| 31 | +import java.time.Month; |
| 32 | +import java.time.ZoneOffset; |
27 | 33 | import java.util.TimeZone; |
28 | 34 | import javax.annotation.Nonnull; |
29 | 35 |
|
|
35 | 41 | @ActiveProfiles("test") |
36 | 42 | @AutoConfigureObservability |
37 | 43 | @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) |
38 | | -@ContextConfiguration(initializers = {KafkaInitializer.class, JaegerInitializer.class, PostgresInitializer.class}) |
| 44 | +@ContextConfiguration( |
| 45 | + classes = TestBase.CustomClockConfiguration.class, |
| 46 | + initializers = {KafkaInitializer.class, JaegerInitializer.class, PostgresInitializer.class} |
| 47 | +) |
39 | 48 | @AutoConfigureWireMock(port = 0) |
40 | 49 | public abstract class TestBase { |
41 | 50 |
|
| 51 | + private static final ZoneOffset FIXED_ZONE = ZoneOffset.ofHours(-1); |
| 52 | + private static final LocalDateTime BEFORE_MILLENNIUM = LocalDateTime.of(1999, Month.DECEMBER, 31, 23, 59, 59); |
| 53 | + |
42 | 54 | @Autowired |
43 | 55 | protected WebTestClient webTestClient; |
44 | 56 | @Autowired |
@@ -88,4 +100,14 @@ private void stubErrorResponse(@Nonnull final String zoneName, @Nonnull final Ru |
88 | 100 | .withBody(objectMapper.writeValueAsString(errorForResponse)) |
89 | 101 | )); |
90 | 102 | } |
| 103 | + |
| 104 | + @TestConfiguration |
| 105 | + static class CustomClockConfiguration { |
| 106 | + |
| 107 | + @Bean |
| 108 | + @Primary |
| 109 | + public Clock fixedClock() { |
| 110 | + return Clock.fixed(BEFORE_MILLENNIUM.toInstant(FIXED_ZONE), FIXED_ZONE); |
| 111 | + } |
| 112 | + } |
91 | 113 | } |
0 commit comments