* Optimize unit test script.
This commit is contained in:
@@ -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'));
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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"
|
||||
...
|
||||
@@ -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`'
|
||||
...
|
||||
@@ -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"
|
||||
...
|
||||
Reference in New Issue
Block a user