protected function setUp() { $this->dbManager = M::mock(DbManager::classname()); $this->logger = M::mock('Monolog\\Logger'); $this->testDb = new TestPgDb(); $this->dbManager =& $this->testDb->getDbManager(); $this->agent = new AgentRef($this->agentId, $this->agentName, $this->agentRev); $this->olderAgent = new AgentRef($this->olderAgentId, $this->agentName, $this->olderAgentRev); $this->otherAgent = new AgentRef($this->otherAgentId, $this->otherAgentName, $this->otherAgentRev); $this->incompleteAgent = new AgentRef($this->incompleteAgentId, $this->agentName, $this->incompleteAgentRev); $this->testDb->createPlainTables(array('agent')); $agentArray = array(array($this->olderAgentId, $this->agentName, $this->olderAgentRev, $this->agentDesc, $this->dbManager->booleanToDb($this->agentEnabled)), array($this->otherAgentId, $this->otherAgentName, $this->otherAgentRev, $this->otherAgentDesc, $this->dbManager->booleanToDb($this->agentEnabled)), array($this->agentId, $this->agentName, $this->agentRev, $this->agentDesc, $this->dbManager->booleanToDb($this->agentEnabled)), array($this->incompleteAgentId, $this->agentName, $this->incompleteAgentRev, $this->agentDesc, $this->dbManager->booleanToDb($this->agentEnabled))); foreach ($agentArray as $agentRow) { $this->dbManager->insertInto('agent', 'agent_pk, agent_name, agent_rev, agent_desc, agent_enabled', $agentRow); } $this->agentsDao = new AgentDao($this->dbManager, $this->logger); $arsTableName = $this->agentName . AgentDao::ARS_TABLE_SUFFIX; $this->dbManager->queryOnce("create table " . $arsTableName . " (ars_pk int, agent_fk int, upload_fk int, ars_success bool)"); $arsArray = array(array(1, $this->olderAgentId, $this->uploadId, $this->dbManager->booleanToDb(true)), array(2, $this->agentId, $this->uploadId, $this->dbManager->booleanToDb(true)), array(3, $this->incompleteAgentId, $this->uploadId, $this->dbManager->booleanToDb(false))); foreach ($arsArray as $arsRow) { $this->dbManager->insertInto($arsTableName, 'ars_pk, agent_fk, upload_fk, ars_success', $arsRow); } $arsTableName = $this->otherAgentName . AgentDao::ARS_TABLE_SUFFIX; $this->dbManager->queryOnce("create table " . $arsTableName . " (ars_pk int, agent_fk int, upload_fk int, ars_success bool)"); $arsArray = array(array(1, $this->otherAgentId, $this->uploadId, $this->dbManager->booleanToDb(true))); foreach ($arsArray as $arsRow) { $this->dbManager->insertInto($arsTableName, 'ars_pk, agent_fk, upload_fk, ars_success', $arsRow); } }
/** * @brief Returns the list of running or failed agent_pk s. Before latest successful run * * @param int $uploadId * @param $agentName * @return int[] - list of running agent pks */ public function getRunningAgentIds($uploadId, $agentName) { $arsTableName = $this->getArsTableName($agentName); $listOfAllJobs = $this->agentARSList($arsTableName, $uploadId, 0, 0, FALSE); $listOfRunningAgents = array(); if ($listOfAllJobs !== false) { foreach ($listOfAllJobs as $job) { if ($job['ars_success'] === $this->dbManager->booleanToDb(true)) { continue; } $listOfRunningAgents[] = intval($job['agent_fk']); } } return $listOfRunningAgents; }
/** * @param int $uploadTreeId * @param int $userId * @param int $groupId * @param int $licenseId * @param bool $isRemoved * @param int $type ClearingEventTypes * @param string $reportInfo * @param string $comment * @param int $jobId * @return int $clearing_event_pk */ public function insertClearingEvent($uploadTreeId, $userId, $groupId, $licenseId, $isRemoved, $type = ClearingEventTypes::USER, $reportInfo = '', $comment = '', $jobId = 0) { $insertIsRemoved = $this->dbManager->booleanToDb($isRemoved); $stmt = __METHOD__; $params = array($uploadTreeId, $userId, $groupId, $type, $licenseId, $insertIsRemoved, $reportInfo, $comment); $columns = "uploadtree_fk, user_fk, group_fk, type_fk, rf_fk, removed, reportinfo, comment"; $values = "\$1,\$2,\$3,\$4,\$5,\$6,\$7,\$8"; if ($jobId > 0) { $stmt .= ".jobId"; $params[] = $jobId; $columns .= ", job_fk"; $values .= ",\$" . count($params); } else { $this->markDecisionAsWip($uploadTreeId, $userId, $groupId); } $this->dbManager->prepare($stmt, "INSERT INTO clearing_event ({$columns}) VALUES({$values}) RETURNING clearing_event_pk"); $res = $this->dbManager->execute($stmt, $params); $row = $this->dbManager->fetchArray($res); $this->dbManager->freeResult($res); return intval($row['clearing_event_pk']); }
public function updateCandidate($rf_pk, $shortname, $fullname, $rfText, $url, $readyformerge, $riskLvl) { $marydone = $this->dbManager->booleanToDb($readyformerge); $this->dbManager->getSingleRow('UPDATE license_candidate SET rf_shortname=$2, rf_fullname=$3, rf_text=$4, rf_url=$5, marydone=$6, rf_risk=$7 WHERE rf_pk=$1', array($rf_pk, $shortname, $fullname, $rfText, $url, $marydone, $riskLvl), __METHOD__); }