Example #1
0
function addIssue($dbHandler, $argsObj, $itsObj)
{
    $opOK = false;
    $msg = '';
    $resultsCfg = config_get('results');
    $tcaseMgr = new testcase($dbHandler);
    $dummy = $tcaseMgr->tree_manager->get_node_hierarchy_info($argsObj->tcversion_id);
    $auditSign = $tcaseMgr->getAuditSignature((object) array('id' => $dummy['parent_id']));
    $exec = current($tcaseMgr->getExecution($argsObj->exec_id, $argsObj->tcversion_id));
    $dummy = $exec['status'];
    if (isset($resultsCfg['code_status'][$exec['status']])) {
        $dummy = $resultsCfg['code_status'][$exec['status']];
    }
    $exec['statusVerbose'] = sprintf(lang_get('issue_exec_result'), $dummy);
    unset($tcaseMgr);
    $signature = sprintf(lang_get('issue_generated_description'), $argsObj->exec_id, $exec['tester_login'], $exec['testplan_name']);
    if ($exec['platform_id'] > 0) {
        $signature .= sprintf(lang_get('issue_platform'), $exec['platform_name']);
    }
    $signature .= sprintf(lang_get('issue_build') . lang_get('execution_ts_iso'), $exec['build_name'], $exec['execution_ts']) . "\n" . $exec['statusVerbose'] . "\n\n" . $exec['execution_notes'];
    $rs = $itsObj->addIssue($auditSign . ' - ' . sprintf(lang_get('execution_ts_iso'), $exec['execution_ts']), $signature);
    if ($rs['status_ok']) {
        $msg = $rs['msg'];
        $opOK = true;
        if (write_execution_bug($dbHandler, $argsObj->exec_id, $rs['id'])) {
            logAuditEvent(TLS("audit_executionbug_added", $rs['id']), "CREATE", $argsObj->exec_id, "executions");
        }
    } else {
        $msg = $rs['msg'];
    }
    return array($opOK, $msg);
}
Example #2
0
/**
 *
 */
function generateIssueText($dbHandler, $argsObj, $itsObj)
{
    $ret = new stdClass();
    $opOK = false;
    $msg = '';
    $resultsCfg = config_get('results');
    $tcaseMgr = new testcase($dbHandler);
    $exec = current($tcaseMgr->getExecution($argsObj->exec_id, $argsObj->tcversion_id));
    $dummy = $tcaseMgr->tree_manager->get_node_hierarchy_info($argsObj->tcversion_id);
    $ret->auditSign = $tcaseMgr->getAuditSignature((object) array('id' => $dummy['parent_id']));
    $dummy = $exec['status'];
    if (isset($resultsCfg['code_status'][$exec['status']])) {
        $dummy = $resultsCfg['code_status'][$exec['status']];
    }
    $exec['statusVerbose'] = sprintf(lang_get('issue_exec_result'), $dummy);
    unset($tcaseMgr);
    $platform_identity = '';
    if ($exec['platform_id'] > 0) {
        $platform_identity = sprintf(lang_get('issue_platform'), $exec['platform_name']);
    }
    if (property_exists($argsObj, 'bug_notes')) {
        // parse
        $tags = array('%%EXECID%%', '%%TESTER%%', '%%TESTPLAN%%', '%%PLATFORM%%', '%%BUILD%%', '%%EXECTS%%', '%%EXECSTATUS%%', '%%EXECNOTES%%');
        $values = array(sprintf(lang_get('issue_exec_id'), $argsObj->exec_id), sprintf(lang_get('issue_tester'), $exec['tester_login']), sprintf(lang_get('issue_tplan'), $exec['testplan_name']), $platform_identity, sprintf(lang_get('issue_build'), $exec['build_name']), sprintf(lang_get('execution_ts_iso'), $exec['execution_ts']), $exec['statusVerbose'], $exec['execution_notes']);
        $ret->description = str_replace($tags, $values, $argsObj->bug_notes);
        // @since 1.9.14
        // %%EXECATT:1%% => lnl.php?type=file&id=1&apikey=gfhdgjfgdsjgfjsg
        $target['value'] = '%%EXECATT:';
        $target['len'] = strlen($target['value']);
        $doIt = true;
        $url2use = $argsObj->basehref . 'lnl.php?type=file&id=';
        while ($doIt) {
            $mx = strpos($ret->description, $target['value']);
            if ($doIt = !($mx === FALSE)) {
                $offset = $mx + $target['len'];
                $cx = strpos($ret->description, '%%', $offset);
                if ($cx === FALSE) {
                    // chaos! => abort
                    $doIt = false;
                    break;
                }
                $old = substr($ret->description, $mx, $cx - $mx + 2);
                // 2 is MAGIC!!!
                $new = str_replace($target['value'], $url2use, $old);
                $new = str_replace('%%', '&apikey=' . $argsObj->tplan_apikey, $new);
                $ret->description = str_replace($old, $new, $ret->description);
            }
        }
    } else {
        $ret->description = sprintf(lang_get('issue_generated_description'), $argsObj->exec_id, $exec['tester_login'], $exec['testplan_name']);
        $ret->description .= $platform_identity != '' ? $platform_identity . "\n" : '';
        $ret->description .= sprintf(lang_get('issue_build') . "\n" . lang_get('execution_ts_iso') . "\n", $exec['build_name'], $exec['execution_ts']);
        $ret->description .= "\n" . $exec['statusVerbose'] . "\n\n" . $exec['execution_notes'];
    }
    $ret->timestamp = sprintf(lang_get('execution_ts_iso'), $exec['execution_ts']);
    $ret->summary = $ret->auditSign . ' - ' . $ret->timestamp;
    if (property_exists($argsObj, 'bug_summary') && strlen(trim($argsObj->bug_summary)) != 0) {
        $ret->summary = $argsObj->bug_summary;
    }
    return $ret;
}
Example #3
0
/**
 *
 */
function generateIssueText($dbHandler, $argsObj, $itsObj)
{
    $ret = new stdClass();
    $opOK = false;
    $msg = '';
    $resultsCfg = config_get('results');
    $tcaseMgr = new testcase($dbHandler);
    $exec = current($tcaseMgr->getExecution($argsObj->exec_id, $argsObj->tcversion_id));
    $dummy = $tcaseMgr->tree_manager->get_node_hierarchy_info($argsObj->tcversion_id);
    $ret->auditSign = $tcaseMgr->getAuditSignature((object) array('id' => $dummy['parent_id']));
    $dummy = $exec['status'];
    if (isset($resultsCfg['code_status'][$exec['status']])) {
        $dummy = $resultsCfg['code_status'][$exec['status']];
    }
    $exec['statusVerbose'] = sprintf(lang_get('issue_exec_result'), $dummy);
    unset($tcaseMgr);
    $platform_identity = '';
    if ($exec['platform_id'] > 0) {
        $platform_identity = sprintf(lang_get('issue_platform'), $exec['platform_name']);
    }
    if (property_exists($argsObj, 'bug_notes')) {
        // parse
        $tags = array('%%EXECID%%', '%%TESTER%%', '%%TESTPLAN%%', '%%PLATFORM%%', '%%BUILD%%', '%%EXECTS%%', '%%EXECSTATUS%%', '%%EXECNOTES%%');
        $values = array(sprintf(lang_get('issue_exec_id'), $argsObj->exec_id), sprintf(lang_get('issue_tester'), $exec['tester_login']), sprintf(lang_get('issue_tplan'), $exec['testplan_name']), $platform_identity, sprintf(lang_get('issue_build'), $exec['build_name']), sprintf(lang_get('execution_ts_iso'), $exec['execution_ts']), $exec['statusVerbose'], $exec['execution_notes']);
        $ret->description = str_replace($tags, $values, $argsObj->bug_notes);
    } else {
        $ret->description = sprintf(lang_get('issue_generated_description'), $argsObj->exec_id, $exec['tester_login'], $exec['testplan_name']);
        $ret->description .= $platform_identity != '' ? $platform_identity . "\n" : '';
        $ret->description .= sprintf(lang_get('issue_build') . "\n" . lang_get('execution_ts_iso') . "\n", $exec['build_name'], $exec['execution_ts']);
        $ret->description .= "\n" . $exec['statusVerbose'] . "\n\n" . $exec['execution_notes'];
    }
    $ret->timestamp = sprintf(lang_get('execution_ts_iso'), $exec['execution_ts']);
    $ret->summary = $ret->auditSign . ' - ' . $ret->timestamp;
    if (property_exists($argsObj, 'bug_summary') && strlen(trim($argsObj->bug_summary)) != 0) {
        $ret->summary = $argsObj->bug_summary;
    }
    return $ret;
}