mirrored from git://git.moodle.org/moodle.git
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
MDL-54567 backup: Fixtures for legacy grade value rewrite
- Loading branch information
1 parent
946343c
commit 3a091f4
Showing
9 changed files
with
157 additions
and
0 deletions.
There are no files selected for viewing
10 changes: 10 additions & 0 deletions
10
backup/moodle2/tests/fixtures/rewrite_step_backup_file_for_legacy_freeze/1.expectation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
<gradebook > | ||
<attributes> | ||
<calculations_freeze>20160511</calculations_freeze> | ||
</attributes> | ||
<grade_categories> | ||
<grade_category id="10"> | ||
<depth>1</depth> | ||
</grade_category> | ||
</grade_categories> | ||
</gradebook> |
7 changes: 7 additions & 0 deletions
7
backup/moodle2/tests/fixtures/rewrite_step_backup_file_for_legacy_freeze/1.test
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
<gradebook calculations_freeze="20160511"> | ||
<grade_categories> | ||
<grade_category id="10"> | ||
<depth>1</depth> | ||
</grade_category> | ||
</grade_categories> | ||
</gradebook> |
10 changes: 10 additions & 0 deletions
10
backup/moodle2/tests/fixtures/rewrite_step_backup_file_for_legacy_freeze/2.expectation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
<gradebook some_other_value="false" > | ||
<attributes> | ||
<calculations_freeze>20160511</calculations_freeze> | ||
</attributes> | ||
<grade_categories> | ||
<grade_category id="10"> | ||
<depth>1</depth> | ||
</grade_category> | ||
</grade_categories> | ||
</gradebook> |
7 changes: 7 additions & 0 deletions
7
backup/moodle2/tests/fixtures/rewrite_step_backup_file_for_legacy_freeze/2.test
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
<gradebook some_other_value="false" calculations_freeze="20160511"> | ||
<grade_categories> | ||
<grade_category id="10"> | ||
<depth>1</depth> | ||
</grade_category> | ||
</grade_categories> | ||
</gradebook> |
10 changes: 10 additions & 0 deletions
10
backup/moodle2/tests/fixtures/rewrite_step_backup_file_for_legacy_freeze/3.expectation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
<gradebook some_other_value="false" and_another_value="42"> | ||
<attributes> | ||
<calculations_freeze>20160511</calculations_freeze> | ||
</attributes> | ||
<grade_categories> | ||
<grade_category id="10"> | ||
<depth>1</depth> | ||
</grade_category> | ||
</grade_categories> | ||
</gradebook> |
7 changes: 7 additions & 0 deletions
7
backup/moodle2/tests/fixtures/rewrite_step_backup_file_for_legacy_freeze/3.test
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
<gradebook some_other_value="false" calculations_freeze="20160511" and_another_value="42"> | ||
<grade_categories> | ||
<grade_category id="10"> | ||
<depth>1</depth> | ||
</grade_category> | ||
</grade_categories> | ||
</gradebook> |
7 changes: 7 additions & 0 deletions
7
backup/moodle2/tests/fixtures/rewrite_step_backup_file_for_legacy_freeze/4.expectation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
<gradebookplugin some_other_value="false" calculations_freeze="20160511" and_another_value="42"> | ||
<grade_categories> | ||
<grade_category id="10"> | ||
<depth>1</depth> | ||
</grade_category> | ||
</grade_categories> | ||
</gradebookplugin> |
7 changes: 7 additions & 0 deletions
7
backup/moodle2/tests/fixtures/rewrite_step_backup_file_for_legacy_freeze/4.test
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
<gradebookplugin some_other_value="false" calculations_freeze="20160511" and_another_value="42"> | ||
<grade_categories> | ||
<grade_category id="10"> | ||
<depth>1</depth> | ||
</grade_category> | ||
</grade_categories> | ||
</gradebookplugin> |
92 changes: 92 additions & 0 deletions
92
backup/moodle2/tests/restore_gradebook_structure_step_test.php
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,92 @@ | ||
<?php | ||
// This file is part of Moodle - http://moodle.org/ | ||
// | ||
// Moodle is free software: you can redistribute it and/or modify | ||
// it under the terms of the GNU General Public License as published by | ||
// the Free Software Foundation, either version 3 of the License, or | ||
// (at your option) any later version. | ||
// | ||
// Moodle is distributed in the hope that it will be useful, | ||
// but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
// GNU General Public License for more details. | ||
// | ||
// You should have received a copy of the GNU General Public License | ||
// along with Moodle. If not, see <http://www.gnu.org/licenses/>. | ||
|
||
/** | ||
* Test for restore_stepslib. | ||
* | ||
* @package core_backup | ||
* @copyright 2016 Andrew Nicols <andrew@nicols.co.uk> | ||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later | ||
*/ | ||
|
||
defined('MOODLE_INTERNAL') || die(); | ||
|
||
global $CFG; | ||
require_once($CFG->dirroot . '/backup/util/includes/backup_includes.php'); | ||
require_once($CFG->dirroot . '/backup/util/includes/restore_includes.php'); | ||
require_once($CFG->libdir . '/completionlib.php'); | ||
|
||
/** | ||
* Test for restore_stepslib. | ||
* | ||
* @package core_backup | ||
* @copyright 2016 Andrew Nicols <andrew@nicols.co.uk> | ||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later | ||
*/ | ||
class core_backup_restore_gradebook_structure_step_testcase extends advanced_testcase { | ||
|
||
/** | ||
* Provide tests for rewrite_step_backup_file_for_legacy_freeze based upon fixtures. | ||
* | ||
* @return array | ||
*/ | ||
public function rewrite_step_backup_file_for_legacy_freeze_provider() { | ||
$fixturesdir = realpath(__DIR__ . '/fixtures/rewrite_step_backup_file_for_legacy_freeze/'); | ||
$tests = []; | ||
$iterator = new \RecursiveIteratorIterator( | ||
new \RecursiveDirectoryIterator($fixturesdir), | ||
\RecursiveIteratorIterator::LEAVES_ONLY); | ||
|
||
foreach ($iterator as $sourcefile) { | ||
$pattern = '/\.test$/'; | ||
if (!preg_match($pattern, $sourcefile)) { | ||
continue; | ||
} | ||
|
||
$expectfile = preg_replace($pattern, '.expectation', $sourcefile); | ||
$test = array($sourcefile, $expectfile); | ||
$tests[basename($sourcefile)] = $test; | ||
} | ||
|
||
return $tests; | ||
} | ||
|
||
/** | ||
* @dataProvider rewrite_step_backup_file_for_legacy_freeze_provider | ||
* @param string $source The source file to test | ||
* @param string $expected The expected result of the transformation | ||
*/ | ||
public function test_rewrite_step_backup_file_for_legacy_freeze($source, $expected) { | ||
$restore = $this->getMockBuilder('\restore_gradebook_structure_step') | ||
->setMethods(null) | ||
->disableOriginalConstructor() | ||
->getMock() | ||
; | ||
|
||
// Copy the file somewhere as the rewrite_step_backup_file_for_legacy_freeze will write the file. | ||
$dir = make_request_directory(true); | ||
$filepath = $dir . DIRECTORY_SEPARATOR . 'file.xml'; | ||
copy($source, $filepath); | ||
|
||
$rc = new \ReflectionClass('\restore_gradebook_structure_step'); | ||
$rcm = $rc->getMethod('rewrite_step_backup_file_for_legacy_freeze'); | ||
$rcm->setAccessible(true); | ||
$rcm->invoke($restore, $filepath); | ||
|
||
// Check the result. | ||
$this->assertFileEquals($expected, $filepath); | ||
} | ||
} |