Merge remote-tracking branch 'origin/test' into dev

This commit is contained in:
2026-09-09 01:28:48 +08:00
2 changed files with 18 additions and 1 deletions
@@ -158,6 +158,22 @@ class CarrierScheduleQuerySchedulerTest {
verify(service).completeScheduledAttempt(1L, "RETRYABLE_FAILURE", "HTTP_503", "unavailable");
}
@Test
void providerClientFailurePersistsBusinessSafeMessageInsteadOfFrameworkExceptionName() {
CarrierScheduleQueryRepository repository = mock(CarrierScheduleQueryRepository.class);
CarrierScheduleQueryService service = mock(CarrierScheduleQueryService.class);
CarrierScheduleIntegrationClient integration = mock(CarrierScheduleIntegrationClient.class);
CarrierScheduleQueryScheduler scheduler = new CarrierScheduleQueryScheduler(repository, service, integration);
CarrierScheduleQueryEntity task = task(1L);
when(repository.claimLease(anyLong(), anyString(), any(), any())).thenReturn(true);
when(integration.query(any(), any())).thenThrow(new RuntimeException("NoFallbackAvailableException"));
scheduler.execute(task, LocalDateTime.of(2026, 9, 9, 9, 0));
verify(service).completeScheduledAttempt(1L, "RETRYABLE_FAILURE", "PROVIDER_CALL_FAILED",
CarrierScheduleQueryScheduler.PROVIDER_TEMPORARILY_UNAVAILABLE);
}
private static CarrierScheduleQueryEntity task(long id) {
CarrierScheduleQueryEntity value = new CarrierScheduleQueryEntity(); value.setId(id); return value;
}