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

40 lines
1.9 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=测试 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配置