修正灰度环境参数化后的部署合同断言 #20

Merged
admin merged 1 commits from test into main 2026-10-07 11:18:32 +08:00
4 changed files with 18 additions and 8 deletions
Showing only changes of commit 7ff6512864 - Show all commits
@@ -16,12 +16,13 @@ class ExportInfrastructureContractTest {
assertTrue(compose.contains("FILE_EXPORT_PUBLISHER_ENABLED: ${FILE_EXPORT_PUBLISHER_ENABLED:-false}"));
assertTrue(compose.contains("FILE_EXPORT_RECONCILER_ENABLED: ${FILE_EXPORT_RECONCILER_ENABLED:-false}"));
assertTrue(compose.contains("-Xms1g -Xmx2g"));
assertTrue(compose.contains("MQ_TOPIC_PREFIX: test-"));
assertTrue(compose.contains("MQ_TOPIC_PREFIX: ${MQ_TOPIC_PREFIX:-test-}"));
assertTrue(compose.contains("ROCKETMQ_NAME_SERVER: ${ROCKETMQ_NAME_SERVER}"));
String entry=read("..","deploy","scripts","deploy-services.sh");
assertTrue(entry.contains("sh deploy/scripts/deploy-built-service.sh"));
String deployScript=read("..","deploy","scripts","deploy-built-service.sh");
assertTrue(deployScript.contains("MQ_TOPIC_PREFIX must be test-"));
assertTrue(deployScript.contains("MQ_TOPIC_PREFIX must be $DEPLOY_ENV-"));
assertTrue(deployScript.contains("[ \"$(env_file_value MQ_TOPIC_PREFIX)\" = \"$DEPLOY_ENV-\" ]"));
assertTrue(deployScript.contains("ROCKETMQ_NAME_SERVER"));
assertTrue(deployScript.contains("env_file_value"));
}
@@ -1,10 +1,12 @@
package com.baiyue.firstleg.client;
import org.junit.jupiter.api.Test;
import org.springframework.util.PropertyPlaceholderHelper;
import java.nio.file.Files;
import java.nio.file.Path;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertTrue;
@@ -23,11 +25,18 @@ class EventBridgeClientDeploymentContractTest {
}
@Test
void testComposeUsesDirectBusinessServiceDns() throws Exception {
void composeUsesDirectBusinessServiceDnsForTestAndGray() throws Exception {
String compose = Files.readString(REPOSITORY_ROOT.resolve("deploy/docker-compose.yml"));
assertTrue(compose.contains("LASTLEG_SERVICE_URL: http://lastleg-service:9303"));
assertTrue(compose.contains("firstleg-test-network"));
String networkName = compose.lines().map(String::strip)
.filter(line -> line.startsWith("name: firstleg-") && line.endsWith("-network"))
.findFirst().orElseThrow().substring("name: ".length());
assertEquals("firstleg-${DEPLOY_ENV:-test}-network", networkName);
var placeholders = new PropertyPlaceholderHelper("${", "}", ":-", false);
assertEquals("firstleg-test-network", placeholders.replacePlaceholders(networkName, key -> null));
assertEquals("firstleg-production-network", placeholders.replacePlaceholders(networkName,
key -> "DEPLOY_ENV".equals(key) ? "production" : null));
assertFalse(compose.contains("event-bridge"));
}
}
@@ -74,7 +74,7 @@ class Phase4BrowserApiBoundaryTest {
}
@Test
void lastlegReachesPrintThroughTheUnifiedTestNetwork() throws Exception {
void lastlegReachesPrintThroughTheUnifiedEnvironmentNetwork() throws Exception {
Path composePath = Path.of("deploy/docker-compose.yml");
if (!Files.exists(composePath)) composePath = Path.of("..").resolve(composePath);
String compose = Files.readString(composePath);
@@ -83,7 +83,7 @@ class Phase4BrowserApiBoundaryTest {
assertTrue(lastleg.contains("<<: *common-environment"));
assertTrue(lastleg.contains("PRINT_SERVICE_URL: ${PRINT_SERVICE_URL:-http://print:9207}"));
assertTrue(compose.contains("networks: [firstleg-network, infra-network]"));
assertTrue(compose.contains("name: firstleg-test-network"));
assertTrue(compose.contains("name: firstleg-${DEPLOY_ENV:-test}-network"));
assertFalse(lastleg.contains("ports:"));
assertFalse(compose.contains("gateway-overseas"));
}
@@ -49,12 +49,12 @@ class DomesticPartnerWarehouseClientContractTest {
.doesNotContain("ports:");
assertThat(compose).contains("INTERNAL_SERVICE_TOKEN: ${INTERNAL_SERVICE_TOKEN}")
.contains("NACOS_USERNAME: ${NACOS_USERNAME}")
.contains("NACOS_NAMESPACE: ${NACOS_NAMESPACE:?actual TEST namespace ID required}")
.contains("NACOS_NAMESPACE: ${NACOS_NAMESPACE:?actual environment namespace ID required}")
.contains("JWT_JWKS_URI: http://auth:9100/api/auth/.well-known/jwks.json")
.doesNotContain("OVERSEAS_NACOS_NAMESPACE", "OVERSEAS_NACOS_USERNAME", "FIRSTLEG_EVENT_BRIDGE_URL");
assertThat(common).contains("session-mode: redis")
.contains("jwk-set-uri: ${JWT_JWKS_URI:http://auth:9100/api/auth/.well-known/jwks.json}");
assertThat(deploy).contains("Only test is supported")
assertThat(deploy).contains("Only test and production are supported")
.contains("NACOS_SERVER_ADDR NACOS_NAMESPACE NACOS_USERNAME NACOS_PASSWORD")
.contains("REDIS_TOKEN_KEY_PREFIX INTERNAL_SERVICE_TOKEN")
.contains("lastleg-service) db_prefix=LASTLEG");