diff --git a/modules/simpletest/simpletest.info b/modules/simpletest/simpletest.info index 5583c2f..9262a77 100644 --- a/modules/simpletest/simpletest.info +++ b/modules/simpletest/simpletest.info @@ -53,4 +53,5 @@ files[] = tests/upgrade/upgrade.user.test files[] = tests/upgrade/update.aggregator.test files[] = tests/upgrade/update.trigger.test files[] = tests/upgrade/update.field.test +files[] = tests/upgrade/update.permissions.test files[] = tests/upgrade/update.user.test diff --git a/modules/simpletest/tests/upgrade/drupal-7.drupal-6-permissions.database.php b/modules/simpletest/tests/upgrade/drupal-7.drupal-6-permissions.database.php new file mode 100644 index 0000000..8827a67 --- /dev/null +++ b/modules/simpletest/tests/upgrade/drupal-7.drupal-6-permissions.database.php @@ -0,0 +1,175 @@ +fields(array( + 'rid', + 'permission', + 'module', +)) +->values(array( + 'rid' => '2', + 'permission' => 'create blog entries', + 'module' => '', +)) +->values(array( + 'rid' => '2', + 'permission' => 'edit own blog entries', + 'module' => '', +)) +->values(array( + 'rid' => '2', + 'permission' => 'delete own blog entries', + 'module' => '', +)) +->values(array( + 'rid' => '3', + 'permission' => 'create blog entries', + 'module' => '', +)) +->values(array( + 'rid' => '3', + 'permission' => 'edit own blog entries', + 'module' => '', +)) +->values(array( + 'rid' => '3', + 'permission' => 'delete own blog entries', + 'module' => '', +)) +->values(array( + 'rid' => '3', + 'permission' => 'edit any blog entry', + 'module' => '', +)) +->values(array( + 'rid' => '3', + 'permission' => 'delete any blog entry', + 'module' => '', +)) +->values(array( + 'rid' => '2', + 'permission' => 'create forum topics', + 'module' => '', +)) +->values(array( + 'rid' => '2', + 'permission' => 'edit own forum topics', + 'module' => '', +)) +->values(array( + 'rid' => '2', + 'permission' => 'delete own forum topics', + 'module' => '', +)) +->values(array( + 'rid' => '3', + 'permission' => 'create forum topics', + 'module' => '', +)) +->values(array( + 'rid' => '3', + 'permission' => 'edit own forum topics', + 'module' => '', +)) +->values(array( + 'rid' => '3', + 'permission' => 'delete own forum topics', + 'module' => '', +)) +->values(array( + 'rid' => '3', + 'permission' => 'edit any forum topic', + 'module' => '', +)) +->values(array( + 'rid' => '3', + 'permission' => 'delete any forum topic', + 'module' => '', +)) +->execute(); + +// Add several content permissions from 7.x +db_merge('role_permission') + ->key(array('rid' => '3', 'permission' => 'create blog content')) + ->fields(array( + 'rid' => '3', + 'permission' => 'create blog content', + 'module' => 'node', + )) + ->execute(); +db_merge('role_permission') + ->key(array('rid' => '3', 'permission' => 'edit own blog content')) + ->fields(array( + 'rid' => '3', + 'permission' => 'edit own blog content', + 'module' => 'node', + )) + ->execute(); +db_merge('role_permission') + ->key(array('rid' => '3', 'permission' => 'delete own blog content')) + ->fields(array( + 'rid' => '3', + 'permission' => 'delete own blog content', + 'module' => 'node', + )) + ->execute(); +db_merge('role_permission') + ->key(array('rid' => '3', 'permission' => 'edit any blog content')) + ->fields(array( + 'rid' => '3', + 'permission' => 'edit any blog content', + 'module' => 'node', + )) + ->execute(); +db_merge('role_permission') + ->key(array('rid' => '3', 'permission' => 'delete any blog content')) + ->fields(array( + 'rid' => '3', + 'permission' => 'delete any blog content', + 'module' => 'node', + )) + ->execute(); +db_merge('role_permission') + ->key(array('rid' => '3', 'permission' => 'create forum content')) + ->fields(array( + 'rid' => '3', + 'permission' => 'create forum content', + 'module' => 'node', + )) + ->execute(); +db_merge('role_permission') + ->key(array('rid' => '3', 'permission' => 'edit own forum content')) + ->fields(array( + 'rid' => '3', + 'permission' => 'edit own forum content', + 'module' => 'node', + )) + ->execute(); +db_merge('role_permission') + ->key(array('rid' => '3', 'permission' => 'delete own forum content')) + ->fields(array( + 'rid' => '3', + 'permission' => 'delete own forum content', + 'module' => 'node', + )) + ->execute(); +db_merge('role_permission') + ->key(array('rid' => '3', 'permission' => 'edit any forum content')) + ->fields(array( + 'rid' => '3', + 'permission' => 'edit any forum content', + 'module' => 'node', + )) + ->execute(); +db_merge('role_permission') + ->key(array('rid' => '3', 'permission' => 'delete any forum content')) + ->fields(array( + 'rid' => '3', + 'permission' => 'delete any forum content', + 'module' => 'node', + )) + ->execute(); diff --git a/modules/simpletest/tests/upgrade/update.permissions.test b/modules/simpletest/tests/upgrade/update.permissions.test new file mode 100644 index 0000000..48015c6 --- /dev/null +++ b/modules/simpletest/tests/upgrade/update.permissions.test @@ -0,0 +1,34 @@ + 7.x upgrade path. + */ +class ContentPermissionsUpdatePathTestCase extends UpdatePathTestCase { + public static function getInfo() { + return array( + 'name' => 'Content Permissions update path', + 'description' => 'Content Permissions update path tests.', + 'group' => 'Upgrade path', + ); + } + + public function setUp() { + // Use the filled upgrade path and our content permissions from 6.x. + $this->databaseDumpFiles = array( + drupal_get_path('module', 'simpletest') . '/tests/upgrade/drupal-7.filled.standard_all.database.php.gz', + drupal_get_path('module', 'simpletest') . '/tests/upgrade/drupal-7.drupal-6-permissions.database.php', + ); + parent::setUp(); + } + + /** + * Tests that the upgrade is successful. + */ + public function testFilledUpgrade() { + $this->assertTrue($this->performUpgrade(), t('The upgrade was completed successfully.')); + } +}