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

# Conflicts:
#	scripts/acceptance-finance-full-contract.test.mjs
#	scripts/admin-test-env-acceptance.mjs
This commit is contained in:
2026-09-04 16:43:43 +08:00
11 changed files with 76 additions and 12 deletions
@@ -6,6 +6,7 @@ import com.baiyue.firstleg.portschedule.dto.CarrierScheduleQueryDtos.ProviderObs
import com.baiyue.firstleg.portschedule.dto.CarrierScheduleQueryDtos.ProviderExceptionRequest;
import com.baiyue.firstleg.portschedule.entity.CarrierScheduleQueryEntity;
import com.baiyue.firstleg.portschedule.repository.CarrierScheduleQueryRepository;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
@@ -18,6 +19,7 @@ import java.util.List;
import java.util.UUID;
@Component
@ConditionalOnProperty(prefix = "baiyue.carrier-schedule.scheduler", name = "enabled", havingValue = "true")
public class CarrierScheduleQueryScheduler {
private final CarrierScheduleQueryRepository repository;
private final CarrierScheduleQueryService service;
@@ -39,6 +39,7 @@ baiyue:
emc-automated: ${EMC_TRACKING_ENABLED:false}
hede-automated: ${HEDE_TRACKING_ENABLED:false}
scheduler:
enabled: ${CARRIER_SCHEDULE_SCHEDULER_ENABLED:false}
zone: ${CARRIER_SCHEDULE_ZONE:Asia/Shanghai}
scan-fixed-delay: ${CARRIER_SCHEDULE_SCAN_FIXED_DELAY:PT1M}
scan-initial-delay: ${CARRIER_SCHEDULE_SCAN_INITIAL_DELAY:PT10S}
@@ -4,6 +4,7 @@ import com.baiyue.firstleg.client.CarrierScheduleIntegrationClient;
import com.baiyue.firstleg.portschedule.entity.CarrierScheduleQueryEntity;
import com.baiyue.firstleg.portschedule.repository.CarrierScheduleQueryRepository;
import org.junit.jupiter.api.Test;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.test.util.ReflectionTestUtils;
@@ -27,6 +28,18 @@ import static org.mockito.Mockito.when;
import static org.mockito.Mockito.never;
class CarrierScheduleQuerySchedulerTest {
@Test
void isDisabledUnlessTheAutomaticSchedulerIsExplicitlyEnabled() {
ConditionalOnProperty condition = CarrierScheduleQueryScheduler.class
.getAnnotation(ConditionalOnProperty.class);
assertThat(condition).isNotNull();
assertThat(condition.prefix()).isEqualTo("baiyue.carrier-schedule.scheduler");
assertThat(condition.name()).containsExactly("enabled");
assertThat(condition.havingValue()).isEqualTo("true");
assertThat(condition.matchIfMissing()).isFalse();
}
@Test
void declaresOneConfigurableDueScannerRatherThanDirectCarrierCronCalls() throws Exception {
Scheduled[] schedules = CarrierScheduleQueryScheduler.class.getMethod("poll").getAnnotationsByType(Scheduled.class);