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

75 lines
2.4 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
include dirname(__FILE__, 5) . '/test/lib/init.php';
/**
title=测试 gitlabModel::apiUpdateProject();
timeout=0
cid=16631
- 执行gitlab模块的apiUpdateProject方法参数是$gitlabID, $emptyProject @0
- 执行gitlab模块的apiUpdateProject方法参数是0, $invalidProject @0
- 执行gitlab模块的apiUpdateProject方法参数是$gitlabID, $validProject 属性description @apiUpdatedProject
- 执行gitlab模块的apiUpdateProject方法参数是$gitlabID, $multiAttrProject 属性name @Updated Project Name
- 执行gitlab模块的apiUpdateProject方法参数是$gitlabID, $nonExistentProject @~~
*/
zenData('pipeline')->gen(5);
global $app;
$app->rawModule = 'gitlab';
$app->rawMethod = 'browse';
$gitlab = $tester->loadModel('gitlab');
$gitlabID = 1;
/* Create test project first. */
$project = new stdclass();
$project->name = 'unitTestProject99';
$project->path = 'unit_test_project99';
$project->description = 'unit_test_project desc';
$project->visibility = 'public';
$project->namespace_id = '1';
$gitlab->apiCreateProject($gitlabID, $project);
/* Get projectID. */
$gitlabProjects = $gitlab->apiGetProjects($gitlabID);
$projectID = 0;
foreach($gitlabProjects as $gitlabProject)
{
if($gitlabProject->name == 'unitTestProject99')
{
$projectID = $gitlabProject->id;
break;
}
}
/* Test cases. */
$emptyProject = new stdclass();
$emptyProject->description = 'test description';
$invalidProject = new stdclass();
$invalidProject->id = $projectID;
$invalidProject->description = 'apiUpdatedProject';
$validProject = new stdclass();
$validProject->id = $projectID;
$validProject->description = 'apiUpdatedProject';
$multiAttrProject = new stdclass();
$multiAttrProject->id = $projectID;
$multiAttrProject->name = 'Updated Project Name';
$multiAttrProject->description = 'Updated description';
$nonExistentProject = new stdclass();
$nonExistentProject->id = 888888;
$nonExistentProject->description = 'Non-existent project';
r($gitlab->apiUpdateProject($gitlabID, $emptyProject)) && p() && e('0');
r($gitlab->apiUpdateProject(0, $invalidProject)) && p() && e('0');
r($gitlab->apiUpdateProject($gitlabID, $validProject)) && p('description') && e('apiUpdatedProject');
r($gitlab->apiUpdateProject($gitlabID, $multiAttrProject)) && p('name') && e('Updated Project Name');
r($gitlab->apiUpdateProject($gitlabID, $nonExistentProject)) && p() && e('~~');