* Optimize unit test script.

This commit is contained in:
wangyuting
2025-07-09 10:11:04 +08:00
parent da559df56a
commit 09afd4bcac
6 changed files with 163 additions and 23 deletions
+5 -4
View File
@@ -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'));
+7 -5
View File
@@ -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
+22 -14
View File
@@ -2,8 +2,11 @@
<?php
include dirname(__FILE__, 5) . '/test/lib/init.php';
zenData('instance')->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);
r(!$tester->instance->autoBackup($instance, $user)) && p(0) && e(1);
+65
View File
@@ -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"
...
+42
View File
@@ -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`'
...
+22
View File
@@ -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"
...