#!/usr/bin/env php id->range('1'); $pipeline->name->range('test-gitlab'); $pipeline->type->range('gitlab'); $pipeline->url->range('http://test.gitlab.com'); $pipeline->deleted->range('0'); $pipeline->gen(1); $repo = zenData('repo'); $repo->id->range('1'); $repo->SCM->range('Gitlab'); $repo->serviceHost->range('1'); $repo->serviceProject->range('test-project'); $repo->preMerge->range('0'); $repo->job->range('0'); $repo->deleted->range('0'); $repo->gen(1); // 模拟用户登录 su('admin'); // 创建测试实例 $repoTest = new repoModelTest(); // 测试步骤1:使用空URL r($repoTest->getRepoByUrlTest('')) && p('message') && e('Url is empty.'); // 测试步骤2:使用无效URL(不匹配任何GitLab) r($repoTest->getRepoByUrlTest('http://invalid.com/project.git')) && p('message') && e('No matched gitlab.'); // 测试步骤3:使用另一个无效URL r($repoTest->getRepoByUrlTest('https://nonexistent.gitlab.com/repo.git')) && p('message') && e('No matched gitlab.'); // 测试步骤4:测试另一个无效但格式正确的URL r($repoTest->getRepoByUrlTest('http://another.invalid.com/test.git')) && p('message') && e('No matched gitlab.'); // 测试步骤5:测试不存在的GitLab服务器 r($repoTest->getRepoByUrlTest('https://fake.gitlab.server.com/project/repo.git')) && p('message') && e('No matched gitlab.');