diff --git a/repository/lib.php b/repository/lib.php index 7d8fa9b2062..42ed8886535 100644 --- a/repository/lib.php +++ b/repository/lib.php @@ -1973,7 +1973,6 @@ abstract class repository { $repo->convert_references_to_local(); } } - cache::make('core', 'repositories')->purge(); $DB->delete_records_list('repository_instances', 'id', $repoids); $DB->delete_records_list('repository_instance_config', 'instanceid', $repoids); } diff --git a/repository/tests/repository_test.php b/repository/tests/repository_test.php index b68f571a071..8eb84e28924 100644 --- a/repository/tests/repository_test.php +++ b/repository/tests/repository_test.php @@ -294,27 +294,34 @@ class repositorylib_testcase extends advanced_testcase { $this->setAdminUser(); $course = $this->getDataGenerator()->create_course(); $user = $this->getDataGenerator()->create_user(); - $this->getDataGenerator()->create_repository_type('flickr_public'); - $this->getDataGenerator()->create_repository_type('filesystem'); + + // Enable repositories. + $plugintype = new repository_type('flickr_public'); + $plugintype->create(true); + $plugintype = new repository_type('filesystem'); + $plugintype->create(true); $coursecontext = context_course::instance($course->id); $usercontext = context_user::instance($user->id); + $flickrparams = array('name' => 'Flickr Public'); + $fsparams = array('name' => 'File System'); // Creating course instances. - $repo = $this->getDataGenerator()->create_repository('flickr_public', array('contextid' => $coursecontext->id)); - $courserepo1 = repository::get_repository_by_id($repo->id, $coursecontext); + // Instance on a site level. + $repoid = repository::static_function('flickr_public', 'create', 'flickr_public', 0, $coursecontext, $flickrparams); + $courserepo1 = repository::get_repository_by_id($repoid, $coursecontext); $this->assertEquals(1, $DB->count_records('repository_instances', array('contextid' => $coursecontext->id))); - $repo = $this->getDataGenerator()->create_repository('filesystem', array('contextid' => $coursecontext->id)); - $courserepo2 = repository::get_repository_by_id($repo->id, $coursecontext); + $repoid = repository::static_function('filesystem', 'create', 'filesystem', 0, $coursecontext, $fsparams); + $courserepo2 = repository::get_repository_by_id($repoid, $coursecontext); $this->assertEquals(2, $DB->count_records('repository_instances', array('contextid' => $coursecontext->id))); // Creating user instances. - $repo = $this->getDataGenerator()->create_repository('flickr_public', array('contextid' => $usercontext->id)); - $userrepo1 = repository::get_repository_by_id($repo->id, $usercontext); + $repoid = repository::static_function('flickr_public', 'create', 'flickr_public', 0, $usercontext, $flickrparams); + $userrepo1 = repository::get_repository_by_id($repoid, $usercontext); $this->assertEquals(1, $DB->count_records('repository_instances', array('contextid' => $usercontext->id))); - $repo = $this->getDataGenerator()->create_repository('filesystem', array('contextid' => $usercontext->id)); - $userrepo2 = repository::get_repository_by_id($repo->id, $usercontext); + $repoid = repository::static_function('filesystem', 'create', 'filesystem', 0, $usercontext, $fsparams); + $userrepo2 = repository::get_repository_by_id($repoid, $usercontext); $this->assertEquals(2, $DB->count_records('repository_instances', array('contextid' => $usercontext->id))); // Simulation of course deletion. @@ -336,8 +343,8 @@ class repositorylib_testcase extends advanced_testcase { // Checking deletion upon course context deletion. $course = $this->getDataGenerator()->create_course(); $coursecontext = context_course::instance($course->id); - $repo = $this->getDataGenerator()->create_repository('flickr_public', array('contextid' => $coursecontext->id)); - $courserepo = repository::get_repository_by_id($repo->id, $coursecontext); + $repoid = repository::static_function('flickr_public', 'create', 'flickr_public', 0, $coursecontext, $flickrparams); + $courserepo = repository::get_repository_by_id($repoid, $coursecontext); $this->assertEquals(1, $DB->count_records('repository_instances', array('contextid' => $coursecontext->id))); $coursecontext->delete(); $this->assertEquals(0, $DB->count_records('repository_instances', array('contextid' => $coursecontext->id))); @@ -345,8 +352,8 @@ class repositorylib_testcase extends advanced_testcase { // Checking deletion upon user context deletion. $user = $this->getDataGenerator()->create_user(); $usercontext = context_user::instance($user->id); - $repo = $this->getDataGenerator()->create_repository('flickr_public', array('contextid' => $usercontext->id)); - $userrepo = repository::get_repository_by_id($repo->id, $usercontext); + $repoid = repository::static_function('flickr_public', 'create', 'flickr_public', 0, $usercontext, $flickrparams); + $userrepo = repository::get_repository_by_id($repoid, $usercontext); $this->assertEquals(1, $DB->count_records('repository_instances', array('contextid' => $usercontext->id))); $usercontext->delete(); $this->assertEquals(0, $DB->count_records('repository_instances', array('contextid' => $usercontext->id))); @@ -354,8 +361,8 @@ class repositorylib_testcase extends advanced_testcase { // Checking deletion upon course deletion. $course = $this->getDataGenerator()->create_course(); $coursecontext = context_course::instance($course->id); - $repo = $this->getDataGenerator()->create_repository('flickr_public', array('contextid' => $coursecontext->id)); - $courserepo = repository::get_repository_by_id($repo->id, $coursecontext); + $repoid = repository::static_function('flickr_public', 'create', 'flickr_public', 0, $coursecontext, $flickrparams); + $courserepo = repository::get_repository_by_id($repoid, $coursecontext); $this->assertEquals(1, $DB->count_records('repository_instances', array('contextid' => $coursecontext->id))); delete_course($course, false); $this->assertEquals(0, $DB->count_records('repository_instances', array('contextid' => $coursecontext->id))); @@ -363,8 +370,8 @@ class repositorylib_testcase extends advanced_testcase { // Checking deletion upon user deletion. $user = $this->getDataGenerator()->create_user(); $usercontext = context_user::instance($user->id); - $repo = $this->getDataGenerator()->create_repository('flickr_public', array('contextid' => $usercontext->id)); - $userrepo = repository::get_repository_by_id($repo->id, $usercontext); + $repoid = repository::static_function('flickr_public', 'create', 'flickr_public', 0, $usercontext, $flickrparams); + $userrepo = repository::get_repository_by_id($repoid, $usercontext); $this->assertEquals(1, $DB->count_records('repository_instances', array('contextid' => $usercontext->id))); delete_user($user); $this->assertEquals(0, $DB->count_records('repository_instances', array('contextid' => $usercontext->id)));