From 668486c9d48cc7d77b85f5859260d7744cd7f189 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E5=BF=A0=E6=9E=97?= <170083662@qq.com> Date: Sun, 10 Aug 2025 02:52:34 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=94=AF=E4=BB=98=E8=AF=81?= =?UTF-8?q?=E4=B9=A6=E7=9A=84=E6=8B=BC=E6=8E=A5=E8=A7=84=E5=88=99=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../gxwebsoft/shop/CertificatePathTest.java | 79 +++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 src/test/java/com/gxwebsoft/shop/CertificatePathTest.java diff --git a/src/test/java/com/gxwebsoft/shop/CertificatePathTest.java b/src/test/java/com/gxwebsoft/shop/CertificatePathTest.java new file mode 100644 index 0000000..4a3e39a --- /dev/null +++ b/src/test/java/com/gxwebsoft/shop/CertificatePathTest.java @@ -0,0 +1,79 @@ +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); + } + } +}