This commit is contained in:
2026-08-13 15:59:05 +08:00
parent 8b393d1906
commit 8bcd23f307
6 changed files with 115 additions and 22 deletions
+2 -2
View File
@@ -65,7 +65,7 @@ spring:
- id: warehouse-service
uri: lb://warehouse-service
predicates:
- Path=/api/merchant/v1/warehouses/**,/api/merchant/v1/partners/**,/api/platform/v1/warehouses/**,/api/platform/v1/warehouse-admin/**,/api/platform/v1/partners/**,/api/platform/v1/express-companies/**,/api/platform/v1/pallets/**,/api/platform/v1/locations/**,/api/platform/v1/overseas-storage-fees/**,/api/platform/v1/iam/tenants/{tenantId}/overseas-storage-fees,/api/platform/v1/iam/tenants/{tenantId}/overseas-storage-fees/**
- Path=/api/merchant/v1/warehouses/**,/api/merchant/v1/partners/**,/api/platform/v1/warehouses/**,/api/platform/v1/warehouse-admin/**,/api/platform/v1/partners/**,/api/platform/v1/express-companies/**,/api/platform/v1/pallets/**,/api/platform/v1/locations/**,/api/platform/v1/overseas-storage-fees/**,/api/platform/v1/suppliers/**,/api/platform/v1/domestic-containers/**,/api/platform/v1/iam/tenants/{tenantId}/overseas-storage-fees,/api/platform/v1/iam/tenants/{tenantId}/overseas-storage-fees/**
- id: file-service
uri: lb://file-service
predicates:
@@ -77,7 +77,7 @@ spring:
- id: firstleg-service
uri: lb://firstleg-service
predicates:
- Path=/api/merchant/v1/first-leg/**,/api/merchant/v1/customs/**,/api/platform/v1/first-leg/**,/api/platform/v1/customs/**,/api/platform/v1/port-schedules/**,/api/platform/v1/carrier-schedule-queries/**,/api/platform/v1/containers/**,/api/platform/v1/ocean-bookings/**,/api/platform/v1/truck-appointments/**,/api/platform/v1/fba-pricing/**,/api/platform/v1/inbounds/**,/api/platform/v1/fee-items/**,/api/platform/v1/loading-plans/**,/api/platform/inbounds/**,/openapi/v1/inbound-measurements/**
- Path=/api/merchant/v1/first-leg/**,/api/merchant/v1/customs/**,/api/platform/v1/first-leg/**,/api/platform/v1/customs/**,/api/platform/v1/port-schedules/**,/api/platform/v1/carrier-schedule-queries/**,/api/platform/v1/containers/**,/api/platform/v1/customers/{customerId}/container-transit-summary,/api/platform/v1/ocean-bookings/**,/api/platform/v1/truck-appointments/**,/api/platform/v1/fba-pricing/**,/api/platform/v1/inbounds/**,/api/platform/v1/fee-items/**,/api/platform/v1/loading-plans/**,/api/platform/inbounds/**,/openapi/v1/inbound-measurements/**
- id: finance-service
uri: lb://finance-service
predicates:
@@ -0,0 +1,34 @@
package com.baiyue.gateway.config;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.cloud.gateway.config.GatewayProperties;
import static org.assertj.core.api.Assertions.assertThat;
@SpringBootTest(properties = {
"spring.cloud.nacos.discovery.enabled=false",
"spring.cloud.nacos.discovery.register-enabled=false",
"spring.cloud.nacos.config.enabled=false",
"spring.cloud.gateway.discovery.locator.enabled=false",
"baiyue.security.jwt-secret=test-jwt-secret-at-least-32-bytes-long"
})
class CustomerTransitStatisticsRouteContractTest {
@Autowired private GatewayProperties gatewayProperties;
@Test
void routesCustomerTransitSummaryToFirstlegService() {
var route = gatewayProperties.getRoutes().stream()
.filter(candidate -> "firstleg-service".equals(candidate.getId()))
.findFirst()
.orElseThrow();
assertThat(route.getUri().toString()).isEqualTo("lb://firstleg-service");
assertThat(route.getPredicates()).singleElement().satisfies(predicate -> {
assertThat(predicate.getName()).isEqualTo("Path");
assertThat(String.join(",", predicate.getArgs().values()))
.contains("/api/platform/v1/customers/{customerId}/container-transit-summary");
});
}
}
@@ -69,7 +69,9 @@ class GatewayFileRouteConfigurationTest {
assertThat(paths)
.contains("/api/platform/v1/pallets/**")
.contains("/api/platform/v1/locations/**")
.contains("/api/platform/v1/overseas-storage-fees/**");
.contains("/api/platform/v1/overseas-storage-fees/**")
.contains("/api/platform/v1/suppliers/**")
.contains("/api/platform/v1/domestic-containers/**");
});
}