diff --git a/module/bug/test/lib/bug.unittest.class.php b/module/bug/test/lib/bug.unittest.class.php index 78c32af05a..31f0701a12 100644 --- a/module/bug/test/lib/bug.unittest.class.php +++ b/module/bug/test/lib/bug.unittest.class.php @@ -1411,10 +1411,11 @@ class bugTest */ public function getActivatedBugsTest(string $productIdList, string $begin = '', string $end = '', string $buildIdList = ''): string { - if($begin == 'lastweek') $begin = date('Y-m-d', strtotime('-7 days')); - if($begin == 'lastmonth') $begin = date('Y-m-d', strtotime('-30 days')); - if($end == 'nextweek') $end = date('Y-m-d', strtotime('+7 days')); - if($end == 'nextmonth') $end = date('Y-m-d', strtotime('+30 days')); + $date = '2025-05-01'; + if($begin == 'lastweek') $begin = date('Y-m-d', strtotime($date . '-7 days')); + if($begin == 'lastmonth') $begin = date('Y-m-d', strtotime($date . '-30 days')); + if($end == 'nextweek') $end = date('Y-m-d', strtotime($date . '+7 days')); + if($end == 'nextmonth') $end = date('Y-m-d', strtotime($date . '+30 days')); $bugs = $this->objectModel->getActivatedBugs(explode(',', $productIdList), $begin, $end, explode(',', $buildIdList)); if(dao::isError()) return dao::getError(); return implode(',', array_column($bugs, 'id')); diff --git a/module/bug/test/model/getactivatedbugs.php b/module/bug/test/model/getactivatedbugs.php index a419c47f58..f060a9f1ad 100755 --- a/module/bug/test/model/getactivatedbugs.php +++ b/module/bug/test/model/getactivatedbugs.php @@ -4,7 +4,9 @@ include dirname(__FILE__, 5) . '/test/lib/init.php'; include dirname(__FILE__, 2) . '/lib/bug.unittest.class.php'; zenData('bug')->gen(30); -zenData('action')->loadYaml('action')->gen(100); +$action = zenData('action')->loadYaml('action'); +$action->date->range("20250401 000000-20250601 000000:1D")->type('timestamp')->format('YY-MM-DD hh:mm:ss'); +$action->gen(100); zenData('history')->loadYaml('history')->gen(100); zenData('user')->gen(1); @@ -16,10 +18,10 @@ title=bugModel->getActivatedBugs(); timeout=0 cid=1 -- 测试获取产品 1 2 3 类型 空 开始日期 上月 结束日期 下月 的bug @2,5,6,9 +- 测试获取产品 1 2 3 类型 空 开始日期 上月 结束日期 下月 的bug @1,2,5,6,9 - 测试获取产品 1 2 3 类型 空 开始日期 上周 结束日期 下周 的bug @0 -- 测试获取产品 1 2 3 类型 resolved 开始日期 上月 结束日期 下月 的bug @5,6,9 +- 测试获取产品 1 2 3 类型 resolved 开始日期 上月 结束日期 下月 的bug @1,5,6,9 - 测试获取产品 1 2 3 类型 resolved 开始日期 上周 结束日期 下周 的bug @0 - 测试获取产品 1 2 3 类型 opened 开始日期 上月 结束日期 下月 的bug @2,5,6,9 @@ -62,9 +64,9 @@ $buildIdList = array('1,0,trunk', '1,trunk', '0,trunk'); $bug = new bugTest(); -r($bug->getActivatedBugsTest($productIdList[0], $beginList[0], $endList[0], $buildIdList[0])) && p() && e('2,5,6,9'); // 测试获取产品 1 2 3 类型 空 开始日期 上月 结束日期 下月 的bug +r($bug->getActivatedBugsTest($productIdList[0], $beginList[0], $endList[0], $buildIdList[0])) && p() && e('1,2,5,6,9'); // 测试获取产品 1 2 3 类型 空 开始日期 上月 结束日期 下月 的bug r($bug->getActivatedBugsTest($productIdList[0], $beginList[1], $endList[1], $buildIdList[0])) && p() && e('0'); // 测试获取产品 1 2 3 类型 空 开始日期 上周 结束日期 下周 的bug -r($bug->getActivatedBugsTest($productIdList[0], $beginList[0], $endList[0], $buildIdList[1])) && p() && e('5,6,9'); // 测试获取产品 1 2 3 类型 resolved 开始日期 上月 结束日期 下月 的bug +r($bug->getActivatedBugsTest($productIdList[0], $beginList[0], $endList[0], $buildIdList[1])) && p() && e('1,5,6,9'); // 测试获取产品 1 2 3 类型 resolved 开始日期 上月 结束日期 下月 的bug r($bug->getActivatedBugsTest($productIdList[0], $beginList[1], $endList[1], $buildIdList[1])) && p() && e('0'); // 测试获取产品 1 2 3 类型 resolved 开始日期 上周 结束日期 下周 的bug r($bug->getActivatedBugsTest($productIdList[0], $beginList[0], $endList[0], $buildIdList[2])) && p() && e('2,5,6,9'); // 测试获取产品 1 2 3 类型 opened 开始日期 上月 结束日期 下月 的bug r($bug->getActivatedBugsTest($productIdList[0], $beginList[1], $endList[1], $buildIdList[2])) && p() && e('0'); // 测试获取产品 1 2 3 类型 opened 开始日期 上周 结束日期 下周 的bug diff --git a/module/instance/test/model/autobackup.php b/module/instance/test/model/autobackup.php index 5f1bab4aea..dc41724c3b 100644 --- a/module/instance/test/model/autobackup.php +++ b/module/instance/test/model/autobackup.php @@ -2,8 +2,11 @@ gen(5); +$cron = zenData('cron'); +$cron->command->range('1-5')->prefix('moduleName=instance&methodName=cronBackup&instanceID='); +$cron->gen(1); +zenData('instance')->loadYaml('instance')->gen(5); +zenData('space')->loadYaml('space')->gen(1); zenData('user')->gen(5); /** @@ -12,32 +15,37 @@ title=instanceModel->autoBackup(); timeout=0 cid=1 -- 计算 id=1的实例执行备份 是否成功 @0 -- 计算 id=2的实例执行备份 是否成功 @0 -- 计算 id=3的实例执行备份 是否成功 @0 -- 计算 id=4的实例执行备份 是否成功 @0 -- 计算 id=5的实例执行备份 是否成功 @0 - */ +- 执行instance模块的autoBackup方法,参数是$instance, $user @1 +- 执行instance模块的autoBackup方法,参数是$instance, $user @1 +- 执行instance模块的autoBackup方法,参数是$instance, $user @1 +- 执行instance模块的autoBackup方法,参数是$instance, $user @1 +- 执行instance模块的autoBackup方法,参数是$instance, $user @1 -global $tester; +*/ + +global $tester, $config; $tester->loadModel('instance'); +$config->CNE->api->host = 'http://devops.corp.cc:32380'; +$config->CNE->api->token = 'R09p3H5mU1JCg60NGPX94RVbGq31JVkF'; +$config->CNE->app->domain = 'devops.corp.cc'; +$config->CNE->api->headers[] = "{$config->CNE->api->auth}: {$config->CNE->api->token}"; su('admin'); $user = new stdClass(); $user->account = 'admin'; $instance = $tester->instance->getByID(1); -r(!$tester->instance->autoBackup($instance, $user)) && p(0) && e(0); +r(!$tester->instance->autoBackup($instance, $user)) && p(0) && e(1); $instance = $tester->instance->getByID(2); -r(!$tester->instance->autoBackup($instance, $user)) && p(0) && e(0); +r(!$tester->instance->autoBackup($instance, $user)) && p(0) && e(1); $instance = $tester->instance->getByID(3); -r(!$tester->instance->autoBackup($instance, $user)) && p(0) && e(0); +r(!$tester->instance->autoBackup($instance, $user)) && p(0) && e(1); $instance = $tester->instance->getByID(4); -r(!$tester->instance->autoBackup($instance, $user)) && p(0) && e(0); +r(!$tester->instance->autoBackup($instance, $user)) && p(0) && e(1); $instance = $tester->instance->getByID(5); -r(!$tester->instance->autoBackup($instance, $user)) && p(0) && e(0); \ No newline at end of file +r(!$tester->instance->autoBackup($instance, $user)) && p(0) && e(1); diff --git a/module/instance/test/yaml/instance.yaml b/module/instance/test/yaml/instance.yaml new file mode 100644 index 0000000000..db33ad26fb --- /dev/null +++ b/module/instance/test/yaml/instance.yaml @@ -0,0 +1,65 @@ +--- +title: instance +author: Yanyi Cao +version: "1.0" +fields: + - field: id + range: '1-5' + - field: space + range: '`1`' + - field: solution + range: '`1`,0' + - field: name + range: '`GitLab`,`Subversion`' + - field: appID + range: '`42`,`156`' + - field: appName + range: '`GitLab`,`Subversion`' + - field: appVersion + range: '`15.3.4`,`1.14.2`' + - field: chart + range: '`gitlab`,`subversion`' + - field: logo + range: '`//img.qucheng.com/app/g/gitlab-icon.svg`,`//img.qucheng.com/app/s/svn-icon.png`' + - field: version + range: '`2023.10.901`,`2023.12.1201`' + - field: desc + range: '`GitLab是由GitLab Inc.开发,使用MIT许可证的基于网络的Git仓库管理工具,且具有wiki和issue跟踪功能。使用Git作为代码管理工具,并在此基础上搭建起来的web服务。`,`Apache® + Subversion® 服务,集成了SVNAdmin Web管理服务,可以通过浏览器创建仓库、配置用户权限。`' + - field: introduction + range: '`GitLab 一款基于Git的一体化软件开发平台。`,`应用广泛的版本控制系统`' + - field: source + range: '`cloud`' + - field: channel + range: '`test`' + - field: k8name + range: '`gitlab-20231226133115`,`subversion-20240102093246`' + - field: status + range: '`running`' + - field: pinned + range: "0" + - field: domain + range: '`jflc.dops.corp.cc`,`rheu.dops.corp.cc`' + - field: smtpSnippetName + range: "" + - field: ldapSnippetName + range: "" + - field: ldapSettings + range: "" + - field: dbSettings + range: '`{"ingress":{"enabled":true,"host":"jflc.dops.corp.cc"},"global":{"ingress":{"enabled":true,"host":"jflc.dops.corp.cc"}},"ci":{"enabled":true},"mysql":{"enabled":false,"auth":{"user":"user_1","password":"1gZBA25nTS4X","host":"zentaopaas-mysql.quickon-system.svc","port":3306,"database":"db_1","dbservice":{"name":"zentaopaas-mysql","namespace":"quickon-system"}}}}`,`{"ingress":{"enabled":true,"host":"rheu.dops.corp.cc"},"global":{"ingress":{"enabled":true,"host":"rheu.dops.corp.cc"}}}`' + - field: autoBackup + range: "0" + - field: backupKeepDays + range: '`1`' + - field: autoRestore + range: "0" + - field: env + range: "" + - field: createdBy + range: '`qadmin`' + - field: createdAt + range: '`2023-12-26 13:31:15`,`2024-01-02 09:32:46`' + - field: deleted + range: "0" +... diff --git a/module/instance/test/yaml/solution.yaml b/module/instance/test/yaml/solution.yaml new file mode 100644 index 0000000000..767540b710 --- /dev/null +++ b/module/instance/test/yaml/solution.yaml @@ -0,0 +1,42 @@ +--- +title: solution +author: Yanyi Cao +version: "1.0" +fields: + - field: id + range: '`1`' + - field: name + range: '`禅道 DevOps 解决方案`' + - field: appID + range: '`1`' + - field: appName + range: '`devops`' + - field: appVersion + range: '`1.1.0`' + - field: version + range: '`2023.10.901`' + - field: chart + range: '`devops`' + - field: cover + range: '`https://img.qucheng.com/app/d/devops-bg.png`' + - field: desc + range: '`禅道 DevOps 解决方案是一套软件全生命周期管理、跟踪、集成、发布解决方案。包含禅道项目管理工具、代码仓库、集成工具等。用户可以跟踪软件项目进度,管理代码的集成与发布。`' + - field: introduction + range: '`覆盖从立项到发布,端到端的软件开发全流程跟踪。全面集成 Jenkins、Gitlab 等工具。`' + - field: source + range: '`cloud`' + - field: channel + range: '`test`' + - field: components + range: '`{"git":{"id":42,"name":"gitlab","alias":"GitLab","chart":"gitlab","app_version":"15.3.4","version":"2023.10.901","logo":"https:\/\/img.qucheng.com\/app\/g\/gitlab-icon.svg","status":"installing"},"ci":{"id":40,"name":"jenkins","alias":"Jenkins","chart":"jenkins","app_version":"2.401.3","version":"2023.10.901","logo":"https:\/\/img.qucheng.com\/app\/j\/jenkins-icon.svg","status":"waiting"}}`' + - field: status + range: '`timeout`' + - field: deleted + range: "0" + - field: createdBy + range: '`qadmin`' + - field: createdAt + range: '`2023-12-26 13:31:11`' + - field: updatedDate + range: '`2023-12-26 13:41:21`' +... diff --git a/module/instance/test/yaml/space.yaml b/module/instance/test/yaml/space.yaml new file mode 100644 index 0000000000..1770be3af7 --- /dev/null +++ b/module/instance/test/yaml/space.yaml @@ -0,0 +1,22 @@ +--- +title: space +author: Yanyi Cao +version: "1.0" +fields: + - field: id + range: '`1`,`2`,`3`,`4`,`5`,`6`,`7`,`8`,`9`,`10`,`11`' + - field: name + range: '`默认空间`' + - field: k8space + range: '`quickon-app`' + - field: owner + range: '`qadmin`' + - field: default + range: '`1`' + - field: createdAt + range: '`2023-12-26 13:31:15`,`2023-12-26 13:31:22`,`2023-12-26 13:31:26`,`2023-12-26 + 13:31:30`,`2023-12-26 13:31:34`,`2023-12-26 13:31:38`,`2023-12-26 13:31:42`,`2023-12-26 + 13:31:46`,`2023-12-26 13:31:50`,`2023-12-26 13:31:54`,`2023-12-26 13:31:58`' + - field: deleted + range: "0" +...