From b05dea7e0b7b9efb3ef520b3b80b54c142da29e0 Mon Sep 17 00:00:00 2001 From: liugang Date: Sun, 7 Sep 2025 13:20:03 +0800 Subject: [PATCH] + [misc] Add unit tests for cneModel::uploadCert() method MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- module/cne/test/lib/cne.unittest.class.php | 24 +++++++++++ module/cne/test/model/uploadcert.php | 47 ++++++++++++++++++++++ 2 files changed, 71 insertions(+) create mode 100755 module/cne/test/model/uploadcert.php diff --git a/module/cne/test/lib/cne.unittest.class.php b/module/cne/test/lib/cne.unittest.class.php index 32922490d2..ac43b53982 100755 --- a/module/cne/test/lib/cne.unittest.class.php +++ b/module/cne/test/lib/cne.unittest.class.php @@ -460,4 +460,28 @@ class cneTest return $result; } + + /** + * Test uploadCert method. + * + * @param object $cert + * @param string $channel + * @access public + * @return mixed + */ + public function uploadCertTest(object $cert = null, string $channel = ''): mixed + { + if($cert === null) + { + $cert = new stdclass(); + $cert->name = 'test-cert'; + $cert->certificate_pem = '-----BEGIN CERTIFICATE-----\ntest-cert-pem\n-----END CERTIFICATE-----'; + $cert->private_key_pem = '-----BEGIN PRIVATE KEY-----\ntest-key-pem\n-----END PRIVATE KEY-----'; + } + + $result = $this->objectModel->uploadCert($cert, $channel); + if(dao::isError()) return dao::getError(); + + return $result; + } } diff --git a/module/cne/test/model/uploadcert.php b/module/cne/test/model/uploadcert.php new file mode 100755 index 0000000000..83cdaea480 --- /dev/null +++ b/module/cne/test/model/uploadcert.php @@ -0,0 +1,47 @@ +#!/usr/bin/env php +name = 'test-certificate'; +$normalCert->certificate_pem = '-----BEGIN CERTIFICATE-----\nMIIC5DCCAcwCAQAwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL\n-----END CERTIFICATE-----'; +$normalCert->private_key_pem = '-----BEGIN PRIVATE KEY-----\nMIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC\n-----END PRIVATE KEY-----'; + +$emptyCert = new stdclass(); +$emptyCert->name = ''; +$emptyCert->certificate_pem = ''; +$emptyCert->private_key_pem = ''; + +$incompleteCert = new stdclass(); +$incompleteCert->name = 'incomplete-cert'; + +$complexCert = new stdclass(); +$complexCert->name = 'complex-cert-123_test.domain.com'; +$complexCert->certificate_pem = '-----BEGIN CERTIFICATE-----\nMIIC5DCCAcwCAQAwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL\n-----END CERTIFICATE-----'; +$complexCert->private_key_pem = '-----BEGIN PRIVATE KEY-----\nMIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC\n-----END PRIVATE KEY-----'; + +r($cneTest->uploadCertTest($normalCert)) && p('code') && e('600'); // 步骤1:正常上传证书(API错误返回) +r($cneTest->uploadCertTest($emptyCert)) && p('code') && e('600'); // 步骤2:使用空的证书对象上传(API错误返回) +r($cneTest->uploadCertTest($normalCert, 'stable')) && p('code') && e('600'); // 步骤3:使用自定义channel上传证书(API错误返回) +r($cneTest->uploadCertTest($incompleteCert)) && p('code') && e('600'); // 步骤4:使用不完整的证书对象上传(API错误返回) +r($cneTest->uploadCertTest($complexCert)) && p('code') && e('600'); // 步骤5:使用复杂证书名称上传(API错误返回) \ No newline at end of file