Exemple #1
0
 public function test_component_installer()
 {
     global $CFG;
     $ci = new component_installer('http://download.moodle.org', 'unittest', 'downloadtests.zip');
     $this->assertTrue($ci->check_requisites());
     $destpath = $CFG->dataroot . '/downloadtests';
     //carefully remove component files to enforce fresh installation
     @unlink($destpath . '/' . 'downloadtests.md5');
     @unlink($destpath . '/' . 'test.html');
     @unlink($destpath . '/' . 'test.jpg');
     @rmdir($destpath);
     $this->assertEqual(COMPONENT_NEEDUPDATE, $ci->need_upgrade());
     $status = $ci->install();
     $this->assertEqual(COMPONENT_INSTALLED, $status);
     $this->assertEqual('9e94f74b3efb1ff6cf075dc6b2abf15c', $ci->get_component_md5());
     //it's already installed, so Moodle should detect it's up to date
     $this->assertEqual(COMPONENT_UPTODATE, $ci->need_upgrade());
     $status = $ci->install();
     $this->assertEqual(COMPONENT_UPTODATE, $status);
     //check if correct files were downloaded
     $this->assertEqual('2af180e813dc3f446a9bb7b6af87ce24', md5_file($destpath . '/' . 'test.jpg'));
     $this->assertEqual('47250a973d1b88d9445f94db4ef2c97a', md5_file($destpath . '/' . 'test.html'));
 }