Пример #1
0
 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);
     }
 }
Пример #2
0
 /**
  * @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;
 }
Пример #3
0
 /**
  * @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']);
 }
Пример #4
0
 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__);
 }