示例#1
0
 /**
  * wrong base_plan class tests
  */
 function test_base_plan_wrong()
 {
     // We need one (non interactive) controller for instantiating plan
     $bc = new backup_controller(backup::TYPE_1ACTIVITY, $this->moduleid, backup::FORMAT_MOODLE, backup::INTERACTIVE_NO, backup::MODE_GENERAL, $this->userid);
     // Instantiate one backup plan
     $bp = new backup_plan($bc);
     // Add wrong task
     try {
         $bp->add_task(new stdclass());
         $this->assertTrue(false, 'base_plan_exception expected');
     } catch (exception $e) {
         $this->assertTrue($e instanceof base_plan_exception);
         $this->assertEquals($e->errorcode, 'wrong_base_task_specified');
     }
 }
 /**
  * test backup_structure_step class
  */
 function test_backup_structure_step()
 {
     global $CFG;
     $file = $CFG->tempdir . '/test/test_backup_structure_step.txt';
     // Remove the test dir and any content
     @remove_dir(dirname($file));
     // Recreate test dir
     if (!check_dir_exists(dirname($file), true, true)) {
         throw new moodle_exception('error_creating_temp_dir', 'error', dirname($file));
     }
     // We need one (non interactive) controller for instatiating plan
     $bc = new backup_controller(backup::TYPE_1ACTIVITY, $this->moduleid, backup::FORMAT_MOODLE, backup::INTERACTIVE_NO, backup::MODE_GENERAL, $this->userid);
     // We need one plan
     $bp = new backup_plan($bc);
     // We need one task with mocked basepath
     $bt = new mock_backup_task_basepath('taskname');
     $bp->add_task($bt);
     // Instantiate backup_structure_step (and add it to task)
     $bs = new mock_backup_structure_step('steptest', basename($file), $bt);
     // Execute backup_structure_step
     $bs->execute();
     // Test file has been created
     $this->assertTrue(file_exists($file));
     // Some simple tests with contents
     $contents = file_get_contents($file);
     $this->assertTrue(strpos($contents, '<?xml version="1.0"') !== false);
     $this->assertTrue(strpos($contents, '<test id="1">') !== false);
     $this->assertTrue(strpos($contents, '<field1>value1</field1>') !== false);
     $this->assertTrue(strpos($contents, '<field2>value2</field2>') !== false);
     $this->assertTrue(strpos($contents, '</test>') !== false);
     unlink($file);
     // delete file
     // Remove the test dir and any content
     @remove_dir(dirname($file));
 }