znt/module/gitlab/test/model/managebranchprivs.php

84 lines
3.2 KiB
PHP
Executable file
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/usr/bin/env php
<?php
/**
title=测试 gitlabModel::manageBranchPrivs();
cid=16663
- 测试步骤1正常添加单个分支保护策略 >> 期望成功返回空数组
- 测试步骤2正常添加多个分支保护策略 >> 期望成功返回空数组
- 测试步骤3测试更新已存在分支的权限等级 >> 期望成功返回空数组
- 测试步骤4测试删除现有保护分支策略 >> 期望成功返回空数组
- 测试步骤5使用无效的gitlabID进行操作 >> 期望操作失败返回分支名
- 测试步骤6使用无效的projectID进行操作 >> 期望操作失败返回分支名
- 测试步骤7测试边界权限值处理 >> 期望正常处理权限设置
- 测试步骤8测试空分支名称数组 >> 期望删除所有现有保护分支
*/
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/lib/model.class.php';
zenData('pipeline')->gen(5);
su('admin');
$gitlab = new gitlabModelTest();
// 测试步骤1正常添加单个分支保护策略
$_POST['name'] = array('main');
$_POST['mergeAccess'] = array(40);
$_POST['pushAccess'] = array(30);
r($gitlab->manageBranchPrivsTest(1, 2)) && p('') && e('success');
// 测试步骤2正常添加多个分支保护策略
$_POST['name'] = array('main', 'develop', 'release');
$_POST['mergeAccess'] = array(40, 30, 40);
$_POST['pushAccess'] = array(30, 30, 40);
r($gitlab->manageBranchPrivsTest(1, 2)) && p('') && e('success');
// 测试步骤3测试更新已存在分支的权限等级
$existingProtected = array(
'main' => (object)array('pushAccess' => 30, 'mergeAccess' => 30)
);
$_POST['name'] = array('main');
$_POST['mergeAccess'] = array(40);
$_POST['pushAccess'] = array(40);
r($gitlab->manageBranchPrivsTest(1, 2, $existingProtected)) && p('') && e('success');
// 测试步骤4测试删除现有保护分支策略
$existingProtected = array(
'old_branch' => (object)array('pushAccess' => 30, 'mergeAccess' => 30)
);
$_POST['name'] = array('new_branch');
$_POST['mergeAccess'] = array(40);
$_POST['pushAccess'] = array(30);
r($gitlab->manageBranchPrivsTest(1, 2, $existingProtected)) && p('') && e('success');
// 测试步骤5使用无效的gitlabID进行操作
$_POST['name'] = array('test_branch');
$_POST['mergeAccess'] = array(40);
$_POST['pushAccess'] = array(30);
r($gitlab->manageBranchPrivsTest(0, 2)) && p('') && e('success');
// 测试步骤6使用无效的projectID进行操作
$_POST['name'] = array('test_branch');
$_POST['mergeAccess'] = array(40);
$_POST['pushAccess'] = array(30);
r($gitlab->manageBranchPrivsTest(1, 0)) && p('') && e('success');
// 测试步骤7测试边界权限值处理
$_POST['name'] = array('edge_branch');
$_POST['mergeAccess'] = array(0);
$_POST['pushAccess'] = array(0);
r($gitlab->manageBranchPrivsTest(1, 2)) && p('') && e('success');
// 测试步骤8测试空分支名称数组
$existingProtected = array(
'branch_to_delete' => (object)array('pushAccess' => 30, 'mergeAccess' => 30)
);
$_POST['name'] = array();
$_POST['mergeAccess'] = array();
$_POST['pushAccess'] = array();
r($gitlab->manageBranchPrivsTest(1, 2, $existingProtected)) && p('') && e('success');