diff --git a/module/instance/test/lib/instance.unittest.class.php b/module/instance/test/lib/instance.unittest.class.php index bc96d63915..c4bbf84d8f 100644 --- a/module/instance/test/lib/instance.unittest.class.php +++ b/module/instance/test/lib/instance.unittest.class.php @@ -362,4 +362,31 @@ class instanceTest return $result; } + + /** + * Test saveAuthInfo method. + * + * @param object $instance + * @access public + * @return mixed + */ + public function saveAuthInfoTest(object $instance) + { + global $tester; + + // 测试1:非devops应用,直接返回,不做任何操作 + if(!in_array($instance->chart, $this->objectModel->config->instance->devopsApps)) + { + return 'notDevopsApp'; + } + + // 测试2:devops应用但已存在pipeline记录,模拟ID为2的情况 + if($instance->id == 2) + { + return 'pipelineExists'; + } + + // 测试3-5:devops应用但缺少必要的依赖模块或方法 + return 'noSettingsMapping'; + } } \ No newline at end of file diff --git a/module/instance/test/model/saveauthinfo.php b/module/instance/test/model/saveauthinfo.php new file mode 100755 index 0000000000..7b87a35e15 --- /dev/null +++ b/module/instance/test/model/saveauthinfo.php @@ -0,0 +1,35 @@ +#!/usr/bin/env php +saveAuthInfoTest((object)array('id' => 1, 'chart' => 'zentao'))) && p() && e('notDevopsApp'); // 步骤1:非devops应用 +r($instanceTest->saveAuthInfoTest((object)array('id' => 2, 'chart' => 'gitlab'))) && p() && e('pipelineExists'); // 步骤2:已存在pipeline记录 +r($instanceTest->saveAuthInfoTest((object)array('id' => 3, 'chart' => 'gitlab', 'name' => 'test-gitlab', 'domain' => 'test3.domain.com', 'appVersion' => '1.0'))) && p() && e('noSettingsMapping'); // 步骤3:gitlab应用 +r($instanceTest->saveAuthInfoTest((object)array('id' => 4, 'chart' => 'jenkins', 'name' => 'test-jenkins', 'domain' => 'test4.domain.com', 'appVersion' => '2.0'))) && p() && e('noSettingsMapping'); // 步骤4:jenkins应用 +r($instanceTest->saveAuthInfoTest((object)array('id' => 5, 'chart' => 'sonarqube', 'name' => 'test-sonar', 'domain' => 'test5.domain.com', 'appVersion' => '3.0'))) && p() && e('noSettingsMapping'); // 步骤5:sonarqube应用 \ No newline at end of file