package com.gxwebsoft.shop; import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.*; /** * 证书路径构建测试 * * @author 科技小王子 * @since 2025-08-09 */ public class CertificatePathTest { @Test public void testDevCertificatePath() { // 模拟开发环境配置 String uploadPath = "/Users/gxwebsoft/JAVA/mp-java/src/main/resources/"; Integer tenantId = 10324; String privateKeyFile = "apiclient_key.pem"; // 构建证书路径 String tenantCertPath = uploadPath + "dev/wechat/" + tenantId; String privateKeyPath = tenantCertPath + "/" + privateKeyFile; // 验证路径构建结果 String expectedTenantPath = "/Users/gxwebsoft/JAVA/mp-java/src/main/resources/dev/wechat/10324"; String expectedPrivateKeyPath = "/Users/gxwebsoft/JAVA/mp-java/src/main/resources/dev/wechat/10324/apiclient_key.pem"; assertEquals(expectedTenantPath, tenantCertPath); assertEquals(expectedPrivateKeyPath, privateKeyPath); System.out.println("开发环境证书路径测试通过:"); System.out.println("租户证书目录: " + tenantCertPath); System.out.println("私钥文件路径: " + privateKeyPath); } @Test public void testProdCertificatePath() { // 模拟生产环境配置 String uploadPath = "/www/wwwroot/file.ws"; Integer tenantId = 10324; String privateKeyFile = "apiclient_key.pem"; // 构建证书路径(生产环境不使用upload-path,而是从数据库读取) // 这里只是为了对比展示 String tenantCertPath = uploadPath + "dev/wechat/" + tenantId; String privateKeyPath = tenantCertPath + "/" + privateKeyFile; // 验证路径构建结果 String expectedTenantPath = "/www/wwwroot/file.ws/dev/wechat/10324"; String expectedPrivateKeyPath = "/www/wwwroot/file.ws/dev/wechat/10324/apiclient_key.pem"; assertEquals(expectedTenantPath, tenantCertPath); assertEquals(expectedPrivateKeyPath, privateKeyPath); System.out.println("生产环境证书路径测试通过:"); System.out.println("租户证书目录: " + tenantCertPath); System.out.println("私钥文件路径: " + privateKeyPath); } @Test public void testMultipleTenants() { String uploadPath = "/Users/gxwebsoft/JAVA/mp-java/src/main/resources/"; String privateKeyFile = "apiclient_key.pem"; // 测试多个租户的路径构建 Integer[] tenantIds = {10324, 10325, 10326}; for (Integer tenantId : tenantIds) { String tenantCertPath = uploadPath + "dev/wechat/" + tenantId; String privateKeyPath = tenantCertPath + "/" + privateKeyFile; assertTrue(tenantCertPath.contains(tenantId.toString())); assertTrue(privateKeyPath.endsWith(privateKeyFile)); System.out.println("租户 " + tenantId + " 证书路径: " + privateKeyPath); } } }