#!/usr/bin/env php gen(5); zenData('pipeline')->loadYaml('pipeline')->gen(6); // 准备代码库数据(用于测试gitlab类型的关联检查) $repoTable = zenData('repo'); $repoTable->SCM->range('Gitlab'); $repoTable->serviceHost->range('1'); $repoTable->deleted->range('0'); $repoTable->gen(1); // 准备任务数据(用于测试sonarqube类型的关联检查) $jobTable = zenData('job'); $jobTable->frame->range('sonarqube'); $jobTable->server->range('2'); $jobTable->deleted->range('0'); $jobTable->gen(1); su('admin'); $pipelineTest = new pipelineModelTest(); // 测试步骤1:删除不存在的流水线 r($pipelineTest->deleteByObjectTest(0, 'gitlab')) && p() && e('0'); // 测试步骤2:删除有关联代码库的gitlab类型流水线(应该阻止删除) r($pipelineTest->deleteByObjectTest(1, 'gitlab')) && p() && e('0'); // 测试步骤3:删除有关联任务的sonarqube类型流水线(应该阻止删除) r($pipelineTest->deleteByObjectTest(2, 'sonarqube')) && p() && e('0'); // 测试步骤4:正常删除jenkins类型流水线 r($pipelineTest->deleteByObjectTest(5, 'jenkins')) && p('deleted') && e('1'); // 测试步骤5:删除gogs类型流水线且无关联数据 r($pipelineTest->deleteByObjectTest(4, 'gogs')) && p('deleted') && e('1'); // 测试步骤6:删除gitea类型流水线且无关联数据 r($pipelineTest->deleteByObjectTest(3, 'gitea')) && p('deleted') && e('1');