Línea 27... |
Línea 27... |
27 |
* @package core_plugin
|
27 |
* @package core_plugin
|
28 |
* @category test
|
28 |
* @category test
|
29 |
* @copyright 2015 David Mudrak <david@moodle.com>
|
29 |
* @copyright 2015 David Mudrak <david@moodle.com>
|
30 |
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
30 |
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
31 |
*/
|
31 |
*/
|
32 |
class update_code_manager_test extends \advanced_testcase {
|
32 |
final class update_code_manager_test extends \advanced_testcase {
|
Línea 33... |
Línea 33... |
33 |
|
33 |
|
34 |
public function test_get_remote_plugin_zip(): void {
|
34 |
public function test_get_remote_plugin_zip(): void {
|
Línea 35... |
Línea 35... |
35 |
$codeman = new \core\update\testable_code_manager();
|
35 |
$codeman = new \core\update\testable_code_manager();
|
Línea 64... |
Línea 64... |
64 |
$this->assertEquals(file_get_contents($returned), 'http://valid/');
|
64 |
$this->assertEquals(file_get_contents($returned), 'http://valid/');
|
65 |
}
|
65 |
}
|
Línea 66... |
Línea 66... |
66 |
|
66 |
|
67 |
public function test_unzip_plugin_file(): void {
|
67 |
public function test_unzip_plugin_file(): void {
|
68 |
$codeman = new \core\update\testable_code_manager();
|
68 |
$codeman = new \core\update\testable_code_manager();
|
69 |
$zipfilepath = __DIR__.'/fixtures/update_validator/zips/invalidroot.zip';
|
69 |
$zipfilepath = self::get_fixture_path(__NAMESPACE__, 'update_validator/zips/invalidroot.zip');
|
70 |
$targetdir = make_request_directory();
|
70 |
$targetdir = make_request_directory();
|
Línea 71... |
Línea 71... |
71 |
mkdir($targetdir.'/aaa_another');
|
71 |
mkdir($targetdir.'/aaa_another');
|
Línea 100... |
Línea 100... |
100 |
} else {
|
100 |
} else {
|
101 |
$this->assertTrue(is_file($targetdir.'/'.$file));
|
101 |
$this->assertTrue(is_file($targetdir.'/'.$file));
|
102 |
}
|
102 |
}
|
103 |
}
|
103 |
}
|
Línea 104... |
Línea 104... |
104 |
|
104 |
|
105 |
$zipfilepath = __DIR__.'/fixtures/update_validator/zips/bar.zip';
|
105 |
$zipfilepath = self::get_fixture_path(__NAMESPACE__, 'update_validator/zips/bar.zip');
|
106 |
$files = $codeman->unzip_plugin_file($zipfilepath, $targetdir, 'bar');
|
106 |
$files = $codeman->unzip_plugin_file($zipfilepath, $targetdir, 'bar');
|
Línea 107... |
Línea 107... |
107 |
}
|
107 |
}
|
108 |
|
108 |
|
109 |
public function test_unzip_plugin_file_multidir(): void {
|
109 |
public function test_unzip_plugin_file_multidir(): void {
|
110 |
$codeman = new \core\update\testable_code_manager();
|
110 |
$codeman = new \core\update\testable_code_manager();
|
111 |
$zipfilepath = __DIR__.'/fixtures/update_validator/zips/multidir.zip';
|
111 |
$zipfilepath = self::get_fixture_path(__NAMESPACE__, 'update_validator/zips/multidir.zip');
|
112 |
$targetdir = make_request_directory();
|
112 |
$targetdir = make_request_directory();
|
113 |
// Attempting to rename the root folder if there are multiple ones should lead to exception.
|
113 |
// Attempting to rename the root folder if there are multiple ones should lead to exception.
|
114 |
$this->expectException(\moodle_exception::class);
|
114 |
$this->expectException(\moodle_exception::class);
|
Línea 115... |
Línea 115... |
115 |
$files = $codeman->unzip_plugin_file($zipfilepath, $targetdir, 'foo');
|
115 |
$files = $codeman->unzip_plugin_file($zipfilepath, $targetdir, 'foo');
|
116 |
}
|
116 |
}
|
Línea 117... |
Línea 117... |
117 |
|
117 |
|
118 |
public function test_get_plugin_zip_root_dir(): void {
|
118 |
public function test_get_plugin_zip_root_dir(): void {
|
Línea 119... |
Línea 119... |
119 |
$codeman = new \core\update\testable_code_manager();
|
119 |
$codeman = new \core\update\testable_code_manager();
|
120 |
|
120 |
|
Línea 121... |
Línea 121... |
121 |
$zipfilepath = __DIR__.'/fixtures/update_validator/zips/invalidroot.zip';
|
121 |
$zipfilepath = self::get_fixture_path(__NAMESPACE__, 'update_validator/zips/invalidroot.zip');
|
122 |
$this->assertEquals('invalid-root', $codeman->get_plugin_zip_root_dir($zipfilepath));
|
122 |
$this->assertEquals('invalid-root', $codeman->get_plugin_zip_root_dir($zipfilepath));
|
123 |
|
123 |
|
Línea 124... |
Línea 124... |
124 |
$zipfilepath = __DIR__.'/fixtures/update_validator/zips/bar.zip';
|
124 |
$zipfilepath = self::get_fixture_path(__NAMESPACE__, 'update_validator/zips/bar.zip');
|
125 |
$this->assertEquals('bar', $codeman->get_plugin_zip_root_dir($zipfilepath));
|
125 |
$this->assertEquals('bar', $codeman->get_plugin_zip_root_dir($zipfilepath));
|
126 |
|
126 |
|
127 |
$zipfilepath = __DIR__.'/fixtures/update_validator/zips/multidir.zip';
|
127 |
$zipfilepath = self::get_fixture_path(__NAMESPACE__, 'update_validator/zips/multidir.zip');
|
128 |
$this->assertSame(false, $codeman->get_plugin_zip_root_dir($zipfilepath));
|
128 |
$this->assertSame(false, $codeman->get_plugin_zip_root_dir($zipfilepath));
|
129 |
}
|
129 |
}
|
130 |
|
130 |
|
131 |
public function test_list_plugin_folder_files(): void {
|
131 |
public function test_list_plugin_folder_files(): void {
|
132 |
$fixtures = __DIR__.'/fixtures/update_validator/plugindir';
|
132 |
$fixtures = self::get_fixture_path(__NAMESPACE__, 'update_validator/plugindir');
|
133 |
$codeman = new \core\update\testable_code_manager();
|
133 |
$codeman = new \core\update\testable_code_manager();
|
Línea 134... |
Línea 134... |
134 |
$files = $codeman->list_plugin_folder_files($fixtures.'/foobar');
|
134 |
$files = $codeman->list_plugin_folder_files($fixtures.'/foobar');
|
135 |
$this->assertIsArray($files);
|
135 |
$this->assertIsArray($files);
|
136 |
$this->assertEquals(6, count($files));
|
136 |
$this->assertEquals(6, count($files));
|
137 |
$fixtures = str_replace(DIRECTORY_SEPARATOR, '/', $fixtures);
|
137 |
$fixtures = str_replace(DIRECTORY_SEPARATOR, '/', $fixtures);
|
138 |
$this->assertEquals($files['foobar/'], $fixtures.'/foobar');
|
138 |
$this->assertEquals($files['foobar/'], $fixtures.'/foobar');
|
139 |
$this->assertEquals($files['foobar/lang/en/local_foobar.php'], $fixtures.'/foobar/lang/en/local_foobar.php');
|
139 |
$this->assertEquals($files['foobar/lang/en/local_foobar.php'], $fixtures.'/foobar/lang/en/local_foobar.php');
|
Línea 157... |
Línea 157... |
157 |
}
|
157 |
}
|
158 |
}
|
158 |
}
|
159 |
}
|
159 |
}
|
Línea 160... |
Línea 160... |
160 |
|
160 |
|
161 |
public function test_archiving_plugin_version(): void {
|
161 |
public function test_archiving_plugin_version(): void {
|
162 |
$fixtures = __DIR__.'/fixtures/update_validator/plugindir';
|
162 |
$fixtures = self::get_fixture_path(__NAMESPACE__, 'update_validator/plugindir');
|
Línea 163... |
Línea 163... |
163 |
$codeman = new \core\update\testable_code_manager();
|
163 |
$codeman = new \core\update\testable_code_manager();
|
164 |
|
164 |
|
165 |
$this->assertFalse($codeman->archive_plugin_version($fixtures.'/foobar', 'local_foobar', 0));
|
165 |
$this->assertFalse($codeman->archive_plugin_version($fixtures.'/foobar', 'local_foobar', 0));
|