znt/module/sonarqube/test/model/convertapierror.php

40 lines
1.9 KiB
PHP
Raw Permalink Normal View History

#!/usr/bin/env php
<?php
/**
title=测试 sonarqubeModel::convertApiError();
timeout=0
cid=18381
- 步骤1空字符串输入 @0
- 步骤2数组输入处理 @array error
- 步骤3非字符串类型输入 @123
- 步骤4正确的错误映射匹配 @权限不足
- 步骤5正则匹配错误信息 @无法创建项目,项目标识已存在:新项目
- 步骤6未匹配的错误信息 @Unknown error message
- 步骤7无apiErrorMap配置 @Any message
*/
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/lib/model.class.php';
su('admin');
$sonarqubeTest = new sonarqubeModelTest();
// 准备测试数据 - 设置错误映射配置
global $tester;
$sonarqube = $tester->loadModel('sonarqube');
$sonarqube->lang->sonarqube->apiErrorMap[3] = 'Could not create Project.';
r($sonarqubeTest->convertApiErrorTest('')) && p() && e('0'); // 步骤1空字符串输入
r($sonarqubeTest->convertApiErrorTest(array('array error', 'second'))) && p() && e('array error'); // 步骤2数组输入处理
r($sonarqubeTest->convertApiErrorTest(123)) && p() && e('123'); // 步骤3非字符串类型输入
r($sonarqubeTest->convertApiErrorTest('Could not create Project.')) && p() && e('权限不足'); // 步骤4正确的错误映射匹配
r($sonarqubeTest->convertApiErrorTest('Could not create Project, key already exists: 新项目 ')) && p() && e('无法创建项目,项目标识已存在:新项目'); // 步骤5正则匹配错误信息
r($sonarqubeTest->convertApiErrorTest('Unknown error message')) && p() && e('Unknown error message'); // 步骤6未匹配的错误信息
// 步骤7测试无apiErrorMap配置的情况
unset($sonarqube->lang->sonarqube->apiErrorMap);
r($sonarqubeTest->convertApiErrorTest('Any message')) && p() && e('Any message'); // 步骤7无apiErrorMap配置