Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
import org.hibernate.annotations.ColumnDefault;

import jakarta.persistence.Column;
import jakarta.persistence.Convert;
import jakarta.persistence.Entity;
import jakarta.persistence.Enumerated;
import jakarta.persistence.Id;
Expand Down Expand Up @@ -68,9 +69,11 @@ public enum EventType { CREATED, PROCESSED }
private UUID attemptToken;

@Column(name = "expires_at", columnDefinition = "DATETIME(6)")
@Convert(disableConversion = true)
private LocalDateTime expiresAt;

@Column(name = "next_attempt_at", columnDefinition = "DATETIME(6)")
@Convert(disableConversion = true)
private LocalDateTime nextAttemptAt;

@Enumerated(STRING)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@
class DiningReportDeliveryServiceTest extends AcceptanceTest {

private static final ZoneId KST = ZoneId.of("Asia/Seoul");
private static final Instant START = Instant.parse("2024-01-15T03:00:00Z");
private static final Instant START = Instant.parse("2024-01-15T03:00:00.551123Z");
private static final String IMAGE_URL = "https://test.koreatech.in/upload/COOP/soldout.jpg";
private static final long TIMEOUT_SECONDS = 10;

Expand Down Expand Up @@ -142,6 +142,10 @@ void tearDown() {
createReport();
var task = claim();
assertThat(result(task, FAILED).deliveryState()).isEqualTo(QUEUED);
assertThat(jdbcTemplate.queryForObject("""
SELECT next_attempt_at FROM dining_soldout_report_change
WHERE delivery_id = UNHEX(REPLACE(?, '-', ''))
""", LocalDateTime.class, task.deliveryId().toString())).isEqualTo(currentTime().plusSeconds(5));
advance(4);
assertThat(result(task, FAILED).deliveryState()).isEqualTo(QUEUED);
assertThat(deliveryService.claim()).isEmpty();
Expand All @@ -156,6 +160,10 @@ void tearDown() {
void 배정_60초_만료_즉시_같은_작업을_재배정하고_이전_토큰은_거부한다() {
createReport();
var task = claim();
assertThat(jdbcTemplate.queryForObject("""
SELECT expires_at FROM dining_soldout_report_change
WHERE delivery_id = UNHEX(REPLACE(?, '-', ''))
""", LocalDateTime.class, task.deliveryId().toString())).isEqualTo(currentTime().plusSeconds(60));
advance(59);
assertThat(deliveryService.claim()).isEmpty();
advance(1);
Expand Down
Loading