本文整理汇总了PHP中testcase::getInternalID方法的典型用法代码示例。如果您正苦于以下问题:PHP testcase::getInternalID方法的具体用法?PHP testcase::getInternalID怎么用?PHP testcase::getInternalID使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类testcase
的用法示例。
在下文中一共展示了testcase::getInternalID方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: array
$gx = $tcase_mgr->getTcSearchSkeleton($args);
$gui = (object) array_merge((array) $ga, (array) $gx);
initSearch($gui, $args, $tproject_mgr);
$map = null;
if ($args->tprojectID && $args->doAction == 'doSearch') {
$tables = tlObjectWithDB::getDBTables(array('cfield_design_values', 'nodes_hierarchy', 'requirements', 'req_coverage', 'tcsteps', 'testcase_keywords', 'tcversions', 'users'));
$gui->tcasePrefix = $tproject_mgr->getTestCasePrefix($args->tprojectID);
$gui->tcasePrefix .= $tcase_cfg->glue_character;
$from = array('by_keyword_id' => ' ', 'by_custom_field' => ' ', 'by_requirement_doc_id' => '', 'users' => '');
$tcaseID = null;
$emptyTestProject = false;
if ($args->targetTestCase != "" && strcmp($args->targetTestCase, $gui->tcasePrefix) != 0) {
if (strpos($args->targetTestCase, $tcase_cfg->glue_character) === false) {
$args->targetTestCase = $gui->tcasePrefix . $args->targetTestCase;
}
$tcaseID = $tcase_mgr->getInternalID($args->targetTestCase);
$filter['by_tc_id'] = " AND NH_TCV.parent_id = " . intval($tcaseID);
} else {
$tproject_mgr->get_all_testcases_id($args->tprojectID, $a_tcid);
if (!is_null($a_tcid)) {
$filter['by_tc_id'] = " AND NH_TCV.parent_id IN (" . implode(",", $a_tcid) . ") ";
} else {
// Force Nothing extracted, because test project
// has no test case defined
$emptyTestProject = true;
$filter['by_tc_id'] = " AND 1 = 0 ";
}
}
if ($args->version) {
$filter['by_version'] = " AND TCV.version = {$args->version} ";
}
示例2: process_testcase
/**
* process_testcase
*
*/
function process_testcase(&$dbHandler, $externalID, $tprojectID, $tprojectPrefix, $version)
{
$ret = array();
$ret['url'] = null;
$ret['msg'] = sprintf(lang_get('testcase_not_found'), $externalID, $tprojectPrefix);
$tcase_mgr = new testcase($dbHandler);
$tcaseID = $tcase_mgr->getInternalID($externalID);
if ($tcaseID > 0) {
$ret['url'] = "lib/testcases/archiveData.php?edit=testcase&id={$tcaseID}";
$cookie = buildCookie($dbHandler, $tcaseID, $tprojectID, 'ys-tproject_');
setcookie($cookie['value'], $cookie['path'], TL_COOKIE_KEEPTIME, '/');
}
return $ret;
}
示例3: testcase
$date_to = date_create_from_format('Y-n-j', $args->creation_date_to);
}
if (!is_null($args->creation_date_from)) {
$db_date = $db->db->DBdate($args->creation_date_from);
$filter['by_creation_date_from'] = " AND TCV.creation_ts >= {$db_date} ";
}
if (!is_null($args->creation_date_to)) {
$db_date = $db->db->DBdate($args->creation_date_to);
$filter['by_creation_date_to'] = " AND TCV.creation_ts <= {$db_date} ";
}
if ($args->targetTestCase != "" && strcmp($args->targetTestCase, $gui->tcasePrefix) != 0) {
if (strpos($args->targetTestCase, $tcase_cfg->glue_character) === false) {
$args->targetTestCase = $gui->tcasePrefix . $args->targetTestCase;
}
$tcase_mgr = new testcase($db);
$tcaseID = $tcase_mgr->getInternalID($args->targetTestCase, $tcase_cfg->glue_character);
$filter['by_tc_id'] = " AND NH_TCV.parent_id = {$tcaseID} ";
} else {
$tproject_mgr->get_all_testcases_id($args->tprojectID, $a_tcid);
$filter['by_tc_id'] = " AND NH_TCV.parent_id IN (" . implode(",", $a_tcid) . ") ";
}
if ($args->version) {
$filter['by_version'] = " AND TCV.version = {$args->version} ";
}
if ($args->keyword_id) {
$from['by_keyword_id'] = " JOIN {$tables['testcase_keywords']} KW ON KW.testcase_id = NH_TC.id ";
$filter['by_keyword_id'] = " AND KW.keyword_id = {$args->keyword_id} ";
}
if ($args->name != "") {
$args->name = $db->prepare_string($args->name);
$filter['by_name'] = " AND NH_TC.name like '%{$args->name}%' ";
示例4: processTestCase
/**
*
*
*/
function processTestCase(&$dbHandler, $tplEngine, $args, &$gui, $grants, $cfg)
{
$get_path_info = false;
$item_mgr = new testcase($dbHandler);
// has sense only when we work on test case
$dummy = testcase::getLayout();
$gui->tableColspan = $dummy->tableToDisplayTestCaseSteps->colspan;
$gui->viewerArgs['refresh_tree'] = 'no';
$gui->path_info = null;
$gui->platforms = null;
$gui->loadOnCancelURL = '';
$gui->attachments = null;
$gui->direct_link = null;
$gui->steps_results_layout = $cfg['spec']->steps_results_layout;
$gui->bodyOnUnload = "storeWindowSize('TCEditPopup')";
if ($args->caller == 'navBar' && !is_null($args->targetTestCase) && strcmp($args->targetTestCase, $args->tcasePrefix) != 0) {
$args->id = $item_mgr->getInternalID($args->targetTestCase);
$args->tcversion_id = testcase::ALL_VERSIONS;
// I've added $args->caller, in order to make clear the logic, because some actions need to be done ONLY
// when we have arrived to this script because user has requested a search from navBar.
// Before we have trusted the existence of certain variables (do not think this old kind of approach is good).
//
// why strcmp($args->targetTestCase,$args->tcasePrefix) ?
// because in navBar targetTestCase is initialized with testcase prefix to provide some help to user
// then if user request search without adding nothing, we will not be able to search.
// From navBar we want to allow ONLY to search for ONE and ONLY ONE test case ID.
$gui->viewerArgs['show_title'] = 'no';
$gui->viewerArgs['display_testproject'] = 1;
$gui->viewerArgs['display_parent_testsuite'] = 1;
if (!($get_path_info = $args->id > 0)) {
$gui->warning_msg = $args->id == 0 ? lang_get('testcase_does_not_exists') : lang_get('prefix_does_not_exists');
}
}
// because we can arrive here from a User Search Request, if args->id == 0 => nothing found
if ($args->id > 0) {
if ($get_path_info || $args->show_path) {
$gui->path_info = $item_mgr->tree_manager->get_full_path_verbose($args->id);
}
$platform_mgr = new tlPlatform($dbHandler, $args->tproject_id);
$gui->platforms = $platform_mgr->getAllAsMap();
$gui->attachments[$args->id] = getAttachmentInfosFrom($item_mgr, $args->id);
$gui->direct_link = $item_mgr->buildDirectWebLink($_SESSION['basehref'], $args->id);
$gui->id = $args->id;
$identity = new stdClass();
$identity->id = $args->id;
$identity->tproject_id = $args->tproject_id;
$identity->version_id = $args->tcversion_id;
try {
$item_mgr->show($tplEngine, $gui, $identity, $grants);
} catch (Exception $e) {
echo $e->getMessage();
}
exit;
} else {
$templateCfg = templateConfiguration();
// need to initialize search fields
$xbm = $item_mgr->getTcSearchSkeleton();
$xbm->warning_msg = lang_get('no_records_found');
$xbm->pageTitle = lang_get('caption_search_form');
$xbm->tableSet = null;
$xbm->doSearch = false;
$xbm->tproject_id = $args->tproject_id;
$tplEngine->assign('gui', $xbm);
$tplEngine->display($templateCfg->template_dir . 'tcSearchResults.tpl');
}
}
示例5: testcase
* @internal revisions
*
*/
require_once '../../../config.inc.php';
require_once 'common.php';
require_once 'tree.class.php';
// require_once('dBug.php');
testlinkInitPage($db);
echo "<pre> testcase - constructor - testcase(&\$db)";
echo "</pre>";
$tcase_mgr = new testcase($db);
// new dBug($tcase_mgr);
try {
$fullEID = 'PTJ09-1';
echo '<br>Testing getInternalID with fullEID<br>';
$va = $tcase_mgr->getInternalID($fullEID);
new dBug($va);
} catch (Exception $e) {
echo 'Message: ' . $e->getMessage();
}
try {
$EID = 1;
echo '<br>Testing getInternalID with ONLY NUMERIC EID<br>';
$va = $tcase_mgr->getInternalID($EID);
new dBug($va);
} catch (Exception $e) {
echo 'Message: ' . $e->getMessage();
}
try {
$EID = 1;
echo '<br>Testing getInternalID with ONLY NUMERIC EID<br>';
示例6: init_filter_tc_id
/**
*
*
*/
private function init_filter_tc_id()
{
$key = 'filter_tc_id';
$selection = $this->args->{$key};
$internal_id = null;
if (!$this->testproject_mgr) {
$this->testproject_mgr = new testproject($this->db);
}
if (!$this->tc_mgr) {
$this->tc_mgr = new testcase($this->db);
}
$tc_prefix = $this->testproject_mgr->getTestCasePrefix($this->args->testproject_id);
$tc_prefix .= $this->configuration->tc_cfg->glue_character;
if (!$selection || $selection == $tc_prefix || $this->args->reset_filters) {
$selection = null;
} else {
$this->do_filtering = true;
// we got the external ID here when filtering, but need the internal one
$internal_id = $this->tc_mgr->getInternalID($selection);
}
$this->filters[$key] = array('selected' => $selection ? $selection : $tc_prefix);
$this->active_filters[$key] = $internal_id;
}
示例7: saveImportedTCData
//.........这里部分代码省略.........
$preconditions = $tc['preconditions'];
$exec_type = isset($tc['execution_type']) ? $tc['execution_type'] : TESTCASE_EXECUTION_TYPE_MANUAL;
$importance = isset($tc['importance']) ? $tc['importance'] : MEDIUM;
$externalid = $tc['externalid'];
if (intval($externalid) <= 0) {
$externalid = null;
}
$personID = $userID;
if (!is_null($tc['author_login'])) {
if (isset($userIDCache[$tc['author_login']])) {
$personID = $userIDCache[$tc['author_login']];
} else {
$userObj->login = $tc['author_login'];
if ($userObj->readFromDB($db, tlUser::USER_O_SEARCH_BYLOGIN) == tl::OK) {
$personID = $userObj->dbID;
}
// I will put always a valid userID on this cache,
// this way if author_login does not exit, and is used multiple times
// i will do check for existence JUST ONCE.
$userIDCache[$tc['author_login']] = $personID;
}
}
$name_len = tlStringLen($name);
if ($name_len > $fieldSizeCfg->testcase_name) {
// Will put original name inside summary
$xx = $messages['start_feedback'];
$xx .= sprintf($messages['testcase_name_too_long'], $name_len, $fieldSizeCfg->testcase_name) . "\n";
$xx .= $messages['original_name'] . "\n" . $name . "\n" . $messages['end_warning'] . "\n";
$summary = nl2br($xx) . $summary;
$name = tlSubStr($name, 0, $safeSizeCfg->testcase_name);
}
$kwIDs = null;
if (isset($tc['keywords']) && $tc['keywords']) {
$kwIDs = implode(",", buildKeywordList($kwMap, $tc['keywords']));
}
$doCreate = true;
if ($duplicatedLogic['actionOnHit'] == 'update_last_version') {
switch ($duplicatedLogic['hitCriteria']) {
case 'name':
$info = $tcase_mgr->getDuplicatesByName($name, $container_id);
break;
case 'internalID':
$dummy = $tcase_mgr->tree_manager->get_node_hierarchy_info($internalid, $container_id);
if (!is_null($dummy)) {
$info = null;
$info[$internalid] = $dummy;
}
break;
case 'externalID':
$info = $tcase_mgr->get_by_external($externalid, $container_id);
break;
}
if (!is_null($info)) {
$tcase_qty = count($info);
switch ($tcase_qty) {
case 1:
$doCreate = false;
$tcase_id = key($info);
$last_version = $tcase_mgr->get_last_version_info($tcase_id, $getVersionOpt);
$tcversion_id = $last_version['id'];
$ret = $tcase_mgr->update($tcase_id, $tcversion_id, $name, $summary, $preconditions, $steps, $personID, $kwIDs, $node_order, $exec_type, $importance);
$ret['id'] = $tcase_id;
$ret['tcversion_id'] = $tcversion_id;
$resultMap[] = array($name, $messages['already_exists_updated']);
break;
case 0:
$doCreate = true;
break;
default:
$doCreate = false;
break;
}
}
}
if ($doCreate) {
// Want to block creation of with existent EXTERNAL ID, if containers ARE DIFFERENT.
$item_id = intval($tcase_mgr->getInternalID($externalid, array('tproject_id' => $tproject_id)));
if ($item_id > 0) {
// who is his parent ?
$owner = $tcase_mgr->getTestSuite($item_id);
if ($owner != $container_id) {
// Get full path of existent Test Cases
$stain = $tcase_mgr->tree_manager->get_path($item_id, null, 'name');
$n = count($stain);
$stain[$n - 1] = $tcasePrefix . config_get('testcase_cfg')->glue_character . $externalid . ':' . $stain[$n - 1];
$stain = implode('/', $stain);
$resultMap[] = array($name, $messages['hit_with_same_external_ID'] . $stain);
$doCreate = false;
}
}
}
if ($doCreate) {
$createOptions = array('check_duplicate_name' => testcase::CHECK_DUPLICATE_NAME, 'action_on_duplicate_name' => $duplicatedLogic['actionOnHit'], 'external_id' => $externalid);
if ($ret = $tcase_mgr->create($container_id, $name, $summary, $preconditions, $steps, $personID, $kwIDs, $node_order, testcase::AUTOMATIC_ID, $exec_type, $importance, $createOptions)) {
$resultMap[] = array($name, $ret['msg']);
}
}
}
return $resultMap;
}
示例8: testcase
$path_info = null;
$get_path_info = false;
$item_mgr = new testcase($db);
$viewerArgs['refresh_tree'] = 'no';
$gui->platforms = null;
$gui->tableColspan = 5;
$gui->loadOnCancelURL = '';
$gui->attachments = null;
$gui->direct_link = null;
$gui->steps_results_layout = config_get('spec_cfg')->steps_results_layout;
// has been called from a test case search
if (!is_null($args->targetTestCase) && strcmp($args->targetTestCase, $args->tcasePrefix) != 0) {
$viewerArgs['show_title'] = 'no';
$viewerArgs['display_testproject'] = 1;
$viewerArgs['display_parent_testsuite'] = 1;
$args->id = $item_mgr->getInternalID($args->targetTestCase);
if (!($get_path_info = $args->id > 0)) {
$gui->warning_msg = $args->id == 0 ? lang_get('testcase_does_not_exists') : lang_get('prefix_does_not_exists');
}
}
if ($args->id > 0) {
if ($get_path_info || $args->show_path) {
$path_info = $item_mgr->tree_manager->get_full_path_verbose($args->id);
}
$platform_mgr = new tlPlatform($db, $args->tproject_id);
$gui->platforms = $platform_mgr->getAllAsMap();
$gui->attachments[$args->id] = getAttachmentInfosFrom($item_mgr, $args->id);
$gui->direct_link = $item_mgr->buildDirectWebLink($_SESSION['basehref'], $args->id);
}
$gui->id = $args->id;
$item_mgr->show($smarty, $gui, $templateCfg->template_dir, $args->id, $args->tcversion_id, $viewerArgs, $path_info, $args->show_mode);
示例9: init_args
/**
*
*
*/
function init_args(&$dbHandler)
{
$_REQUEST = strings_stripSlashes($_REQUEST);
$iParams = array("edit" => array(tlInputParameter::STRING_N, 0, 50), "id" => array(tlInputParameter::INT_N), "show_path" => array(tlInputParameter::INT_N), "show_mode" => array(tlInputParameter::STRING_N, 0, 50), "tcase_id" => array(tlInputParameter::INT_N), "tcversion_id" => array(tlInputParameter::INT_N), "tproject_id" => array(tlInputParameter::INT_N), "targetTestCase" => array(tlInputParameter::STRING_N, 0, 24), "tcasePrefix" => array(tlInputParameter::STRING_N, 0, 16), "tcaseExternalID" => array(tlInputParameter::STRING_N, 0, 16), "tcaseVersionNumber" => array(tlInputParameter::INT_N));
$args = new stdClass();
R_PARAMS($iParams, $args);
// For more information about the data accessed in session here, see the comment
// in the file header of lib/functions/tlTestCaseFilterControl.class.php.
$form_token = isset($_REQUEST['form_token']) ? $_REQUEST['form_token'] : 0;
$mode = 'edit_mode';
$cfg = config_get('testcase_cfg');
$session_data = isset($_SESSION[$mode]) && isset($_SESSION[$mode][$form_token]) ? $_SESSION[$mode][$form_token] : null;
$args->refreshTree = isset($session_data['setting_refresh_tree_on_action']) ? $session_data['setting_refresh_tree_on_action'] : 0;
$args->user_id = isset($_SESSION['userID']) ? $_SESSION['userID'] : 0;
$args->feature = $args->edit;
$args->opt_requirements = null;
$args->automationEnabled = 0;
$args->requirementsEnabled = 0;
$args->testPriorityEnabled = 0;
$args->tcasePrefix = trim($args->tcasePrefix);
$tprojectMgr = new testproject($dbHandler);
if ($args->tproject_id <= 0 && strlen($args->tcaseExternalID) > 0) {
// parse to get JUST prefix
$gluePos = strrpos($args->tcaseExternalID, $cfg->glue_character);
// Find the last glue char
$status_ok = $gluePos !== false;
if ($status_ok) {
$tcasePrefix = substr($args->tcaseExternalID, 0, $gluePos);
}
$dummy = $tprojectMgr->get_by_prefix($tcasePrefix);
$tcaseMgr = new testcase($dbHandler);
$args->tcase_id = $tcaseMgr->getInternalID($args->tcaseExternalID);
$tcinfo = $tcaseMgr->get_basic_info($args->tcase_id, array('number' => $args->tcaseVersionNumber));
if (!is_null($tcinfo)) {
$args->tcversion_id = $tcinfo[0]['tcversion_id'];
}
unset($tcaseMgr);
} else {
$dummy = $tprojectMgr->get_by_id($args->tproject_id);
}
if (!is_null($dummy)) {
$args->tproject_id = $dummy['id'];
}
$args->opt_requirements = $dummy['opt']->requirementsEnabled;
$args->requirementsEnabled = $dummy['opt']->requirementsEnabled;
$args->automationEnabled = $dummy['opt']->automationEnabled;
$args->testPriorityEnabled = $dummy['opt']->testPriorityEnabled;
if (!$args->tcversion_id) {
$args->tcversion_id = testcase::ALL_VERSIONS;
}
// used to manage goback
if (intval($args->tcase_id) > 0) {
$args->feature = 'testcase';
$args->id = intval($args->tcase_id);
}
$args->id = is_null($args->id) ? 0 : $args->id;
switch ($args->feature) {
case 'testsuite':
$_SESSION['setting_refresh_tree_on_action'] = $args->refreshTree ? 1 : 0;
break;
case 'testproject':
$args->id = $args->tproject_id;
break;
}
if (strpos($args->targetTestCase, $cfg->glue_character) === false) {
$args->targetTestCase = $args->tcasePrefix . $args->targetTestCase;
}
return $args;
}
示例10: addTestCase
/**
*
*/
function addTestCase(&$argsObj, $request)
{
$obj = $this->initGuiBean();
$node = $this->reqMgr->tree_mgr->get_node_hierarchy_info($argsObj->req_version_id);
$dummy = $this->reqMgr->get_by_id($node['parent_id'], $argsObj->req_version_id);
$req_version = $dummy[0];
$obj->req = $req_version;
$obj->req_spec_id = $argsObj->req_spec_id;
$obj->req_version_id = $argsObj->req_version_id;
$obj->template = "reqView.php?refreshTree=0&requirement_id={$argsObj->req_id}";
// Analise test case identity
$cfg = config_get('testcase_cfg');
$status_ok = false;
$msg = sprintf(lang_get('provide_full_external_tcase_id'), $argsObj->tcasePrefix, $cfg->glue_character);
$gluePos = strrpos($argsObj->tcaseIdentity, $cfg->glue_character);
$isFullExternal = $gluePos !== false;
if ($isFullExternal) {
//echo __LINE__ . ' :: status ok:' . $status_ok . '<br>';
$status_ok = true;
$rawTestCasePrefix = substr($argsObj->tcaseIdentity, 0, $gluePos);
$status_ok = strcmp($rawTestCasePrefix, $argsObj->tcasePrefix) == 0;
//echo __LINE__ . ' :: status ok:' . $status_ok . '<br>';
if (!$status_ok) {
$msg = sprintf(lang_get('seems_to_belong_to_other_tproject'), $rawTestCasePrefix, $argsObj->tcasePrefix);
}
}
if ($status_ok) {
// IMPORANT NOTICE: audit info is managed on reqMgr method
$alienMgr = new testcase($this->db);
$tcase_id = $alienMgr->getInternalID($argsObj->tcaseIdentity, array('tproject_id' => $argsObj->tproject_id));
if ($tcase_id > 0) {
$this->reqMgr->assign_to_tcase($argsObj->req_id, $tcase_id, intval($argsObj->user_id));
} else {
$status_ok = false;
$msg = sprintf(lang_get('tcase_doesnot_exist'), $argsObj->tcaseIdentity);
}
}
if (!$status_ok) {
$obj->user_feedback = $msg;
$obj->template .= "&user_feedback=" . urlencode($obj->user_feedback);
}
return $obj;
}