Example #1
0
 /**
  * Validate that, in the special case where runtime is exceeded, the
  * database logger stores the log file path, even if it does not yet exist
  */
 public function test_dbloggerobjectstorespathwhenruntimeexceeded()
 {
     global $CFG, $DB;
     require_once $CFG->dirroot . '/local/datahub/lib.php';
     // Obtain the logging object.
     $dblogger = new rlip_dblogger_import();
     // Set the right logging state.
     $dblogger->set_log_path('/parentdir/childdir');
     $dblogger->signal_maxruntime_exceeded();
     // Write out the database record.
     $dblogger->flush('filename');
     // Validation.
     $select = $DB->sql_compare_text('logpath') . ' = :logpath';
     $exists = $DB->record_exists_select(RLIP_LOG_TABLE, $select, array('logpath' => '/parentdir/childdir'));
     $this->assertTrue($exists);
 }
 /**
  * Validate that DB logging object correctly persists values and resets its state
  * when flushing data to the DB
  */
 public function test_version1dbloggingsuccesstrackingstorescorrectvaluesviaapi()
 {
     global $CFG, $USER;
     require_once $CFG->dirroot . '/local/datahub/lib.php';
     // Set up the logger object.
     $logger = new rlip_dblogger_import();
     // Provide appropriate times.
     $logger->set_plugin('plugin');
     $logger->set_targetstarttime(1000000000);
     $logger->set_starttime(1000000001);
     $logger->set_endtime(1000000002);
     // Give it one of each "status".
     $logger->track_success(true, true);
     $logger->track_success(true, false);
     $logger->track_success(false, true);
     $logger->track_success(false, false);
     // Specify number of db ops.
     $logger->set_dbops(5);
     $logger->signal_unmetdependency();
     // Validate setup.
     $this->assertEquals($logger->plugin, 'plugin');
     $this->assertEquals($logger->userid, $USER->id);
     $this->assertEquals($logger->targetstarttime, 1000000000);
     $this->assertEquals($logger->starttime, 1000000001);
     $this->assertEquals($logger->endtime, 1000000002);
     $this->assertEquals($logger->filesuccesses, 1);
     $this->assertEquals($logger->filefailures, 1);
     $this->assertEquals($logger->storedsuccesses, 1);
     $this->assertEquals($logger->storedfailures, 1);
     $this->assertEquals($logger->dbops, 5);
     $this->assertEquals($logger->unmetdependency, 1);
     // Flush.
     $logger->flush('bogusfilename');
     // Validate that the values were correctly persisted.
     $params = array('plugin' => 'plugin', 'userid' => $USER->id, 'targetstarttime' => 1000000000, 'starttime' => 1000000001, 'endtime' => 1000000002, 'filesuccesses' => 1, 'filefailures' => 1, 'storedsuccesses' => 1, 'storedfailures' => 1, 'dbops' => 5, 'unmetdependency' => 1);
     $this->assert_record_exists(RLIP_LOG_TABLE, $params);
     // Validate that the state is reset.
     $this->assertEquals($logger->plugin, 'plugin');
     $this->assertEquals($logger->userid, $USER->id);
     $this->assertEquals($logger->targetstarttime, 1000000000);
     $this->assertEquals($logger->starttime, 0);
     $this->assertEquals($logger->endtime, 0);
     $this->assertEquals($logger->filesuccesses, 0);
     $this->assertEquals($logger->filefailures, 0);
     $this->assertEquals($logger->storedsuccesses, 0);
     $this->assertEquals($logger->storedfailures, 0);
     $this->assertEquals($logger->dbops, -1);
     $this->assertEquals($logger->unmetdependency, 0);
 }