+ [misc] Add unit tests for repoZen::prepareCreateRepo() method
🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Executable
+54
@@ -0,0 +1,54 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
|
||||
/**
|
||||
|
||||
title=测试 repoZen::prepareCreateRepo();
|
||||
timeout=0
|
||||
cid=0
|
||||
|
||||
- 步骤1:正常情况测试属性name @test-repo
|
||||
- 步骤2:验证路径设置属性path @https://gitlabdev.qc.oop.cc/test-group/test-repo
|
||||
- 步骤3:服务主机为空 @0
|
||||
- 步骤4:命名空间为空 @0
|
||||
- 步骤5:版本库名称为空 @0
|
||||
|
||||
*/
|
||||
|
||||
include dirname(__FILE__, 5) . '/test/lib/init.php';
|
||||
include dirname(__FILE__, 2) . '/lib/repo.unittest.class.php';
|
||||
|
||||
zendata('repo')->loadYaml('repo_preparecreaterepo', false, 2)->gen(5);
|
||||
zendata('pipeline')->loadYaml('pipeline_preparecreaterepo', false, 2)->gen(3);
|
||||
|
||||
su('admin');
|
||||
|
||||
$repoTest = new repoTest();
|
||||
|
||||
$validRepo = new stdclass();
|
||||
$validRepo->serviceHost = '1';
|
||||
$validRepo->namespace = 'test-group';
|
||||
$validRepo->name = 'test-repo';
|
||||
|
||||
$noServiceHostRepo = new stdclass();
|
||||
$noServiceHostRepo->namespace = 'test-group';
|
||||
$noServiceHostRepo->name = 'test-repo';
|
||||
|
||||
$noNamespaceRepo = new stdclass();
|
||||
$noNamespaceRepo->serviceHost = '1';
|
||||
$noNamespaceRepo->name = 'test-repo';
|
||||
|
||||
$noNameRepo = new stdclass();
|
||||
$noNameRepo->serviceHost = '1';
|
||||
$noNameRepo->namespace = 'test-group';
|
||||
|
||||
$invalidACLRepo = new stdclass();
|
||||
$invalidACLRepo->serviceHost = '1';
|
||||
$invalidACLRepo->namespace = 'test-group';
|
||||
$invalidACLRepo->name = 'test-repo';
|
||||
|
||||
r($repoTest->prepareCreateRepoTest($validRepo)) && p('name') && e('test-repo'); // 步骤1:正常情况测试
|
||||
r($repoTest->prepareCreateRepoTest($validRepo)) && p('path') && e('https://gitlabdev.qc.oop.cc/test-group/test-repo'); // 步骤2:验证路径设置
|
||||
r($repoTest->prepareCreateRepoTest($noServiceHostRepo)) && p() && e('0'); // 步骤3:服务主机为空
|
||||
r($repoTest->prepareCreateRepoTest($noNamespaceRepo)) && p() && e('0'); // 步骤4:命名空间为空
|
||||
r($repoTest->prepareCreateRepoTest($noNameRepo)) && p() && e('0'); // 步骤5:版本库名称为空
|
||||
@@ -0,0 +1,61 @@
|
||||
---
|
||||
title: pipeline表测试数据 - prepareCreateRepo方法
|
||||
desc: 为prepareCreateRepo方法生成pipeline测试数据
|
||||
author: Claude
|
||||
|
||||
fields:
|
||||
- field: id
|
||||
note: pipeline ID
|
||||
range: 1-3
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
- field: name
|
||||
note: 流水线名称
|
||||
range: 'GitLab Server{1-3}'
|
||||
format: ""
|
||||
- field: type
|
||||
note: 流水线类型
|
||||
range: 'gitlab'
|
||||
format: ""
|
||||
- field: url
|
||||
note: 服务器URL
|
||||
range: 'http://gitlab.example.com'
|
||||
format: ""
|
||||
- field: token
|
||||
note: 访问令牌
|
||||
range: 'glpat-test-token{1-3}'
|
||||
format: ""
|
||||
- field: private
|
||||
note: 私有令牌
|
||||
range: 'test-private-token{1-3}'
|
||||
format: ""
|
||||
- field: account
|
||||
note: 账号
|
||||
range: 'admin'
|
||||
format: ""
|
||||
- field: password
|
||||
note: 密码
|
||||
range: 'password123'
|
||||
format: ""
|
||||
- field: createdBy
|
||||
note: 创建者
|
||||
range: 'admin'
|
||||
format: ""
|
||||
- field: createdDate
|
||||
note: 创建时间
|
||||
range: '2023-01-01 10:00:00'
|
||||
format: ""
|
||||
- field: editedBy
|
||||
note: 编辑者
|
||||
range: 'admin'
|
||||
format: ""
|
||||
- field: editedDate
|
||||
note: 编辑时间
|
||||
range: '2023-01-01 11:00:00'
|
||||
format: ""
|
||||
- field: deleted
|
||||
note: 是否删除
|
||||
range: 0
|
||||
format: ""
|
||||
@@ -0,0 +1,117 @@
|
||||
---
|
||||
title: repo表测试数据 - prepareCreateRepo方法
|
||||
desc: 为prepareCreateRepo方法生成repo测试数据
|
||||
author: Claude
|
||||
|
||||
fields:
|
||||
- field: id
|
||||
note: repo ID
|
||||
range: 1-5
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
- field: product
|
||||
note: 关联产品
|
||||
range: '1,2'
|
||||
format: ""
|
||||
- field: projects
|
||||
note: 关联项目
|
||||
range: '1,2'
|
||||
format: ""
|
||||
- field: name
|
||||
note: 仓库名称
|
||||
range: 'repo{1-5}'
|
||||
format: ""
|
||||
- field: path
|
||||
note: 仓库路径
|
||||
range: 'http://gitlab.example.com/group{1-3}/repo{1-5}'
|
||||
format: ""
|
||||
- field: prefix
|
||||
note: 前缀
|
||||
range: ''
|
||||
format: ""
|
||||
- field: encoding
|
||||
note: 编码
|
||||
range: 'utf-8'
|
||||
format: ""
|
||||
- field: SCM
|
||||
note: 版本控制系统
|
||||
range: 'Gitlab'
|
||||
format: ""
|
||||
- field: client
|
||||
note: 客户端
|
||||
range: ''
|
||||
format: ""
|
||||
- field: serviceHost
|
||||
note: 服务主机ID
|
||||
range: 1-3
|
||||
format: ""
|
||||
- field: serviceProject
|
||||
note: 服务项目ID
|
||||
range: 100-105
|
||||
format: ""
|
||||
- field: commits
|
||||
note: 提交数
|
||||
range: 0-100
|
||||
format: ""
|
||||
- field: account
|
||||
note: 账号
|
||||
range: 'admin,user1,user2'
|
||||
format: ""
|
||||
- field: password
|
||||
note: 密码
|
||||
range: 'password123'
|
||||
format: ""
|
||||
- field: encrypt
|
||||
note: 加密方式
|
||||
range: 'plain'
|
||||
format: ""
|
||||
- field: acl
|
||||
note: 访问控制
|
||||
range: '{"acl":"open","groups":[],"users":[]}'
|
||||
format: ""
|
||||
- field: synced
|
||||
note: 是否同步
|
||||
range: 0-1
|
||||
format: ""
|
||||
- field: lastSync
|
||||
note: 最后同步时间
|
||||
range: '[]'
|
||||
format: ""
|
||||
- field: lastCommit
|
||||
note: 最后提交时间
|
||||
range: '[]'
|
||||
format: ""
|
||||
- field: desc
|
||||
note: 描述
|
||||
range: 'Test repo description'
|
||||
format: ""
|
||||
- field: extra
|
||||
note: 扩展字段
|
||||
range: ''
|
||||
format: ""
|
||||
- field: preMerge
|
||||
note: 预合并
|
||||
range: 0
|
||||
format: ""
|
||||
- field: job
|
||||
note: 任务ID
|
||||
range: 0
|
||||
format: ""
|
||||
- field: fileServerUrl
|
||||
note: 文件服务器URL
|
||||
range: '[]'
|
||||
format: ""
|
||||
- field: fileServerAccount
|
||||
note: 文件服务器账号
|
||||
range: ''
|
||||
format: ""
|
||||
- field: fileServerPassword
|
||||
note: 文件服务器密码
|
||||
range: ''
|
||||
format: ""
|
||||
- field: deleted
|
||||
note: 是否删除
|
||||
range: 0
|
||||
format: ""
|
||||
Reference in New Issue
Block a user