diff options
Diffstat (limited to 'modules/simpletest/tests')
-rw-r--r-- | modules/simpletest/tests/upgrade/drupal-6.upload.database.php | 102 | ||||
-rw-r--r-- | modules/simpletest/tests/upgrade/upgrade.upload.test | 13 |
2 files changed, 79 insertions, 36 deletions
diff --git a/modules/simpletest/tests/upgrade/drupal-6.upload.database.php b/modules/simpletest/tests/upgrade/drupal-6.upload.database.php index 048aee0c4..94733ed4c 100644 --- a/modules/simpletest/tests/upgrade/drupal-6.upload.database.php +++ b/modules/simpletest/tests/upgrade/drupal-6.upload.database.php @@ -11,6 +11,10 @@ db_insert('files')->fields(array( 'status', 'timestamp', )) +/* + * This entry is deliberately omitted to test the upgrade routine when facing + * possible data corruption. + * ->values(array( 'fid' => '1', 'uid' => '1', @@ -20,7 +24,7 @@ db_insert('files')->fields(array( 'filesize' => '1011', 'status' => '1', 'timestamp' => '1285700240', -)) +)) */ ->values(array( 'fid' => '2', 'uid' => '1', @@ -132,14 +136,14 @@ db_insert('node')->fields(array( )) ->values(array( 'nid' => '38', - 'vid' => '51', + 'vid' => '50', 'type' => 'page', 'language' => '', - 'title' => 'node title 38 revision 51', + 'title' => 'node title 38 revision 50', 'uid' => '1', 'status' => '1', - 'created' => '1285700317', - 'changed' => '1285700600', + 'created' => '1285603317', + 'changed' => '1285603317', 'comment' => '0', 'promote' => '0', 'moderate' => '0', @@ -152,7 +156,24 @@ db_insert('node')->fields(array( 'vid' => '52', 'type' => 'page', 'language' => '', - 'title' => 'node title 39 revision 53', + 'title' => 'node title 39 revision 52', + 'uid' => '1', + 'status' => '1', + 'created' => '1285700317', + 'changed' => '1285700600', + 'comment' => '0', + 'promote' => '0', + 'moderate' => '0', + 'sticky' => '0', + 'tnid' => '0', + 'translate' => '0', +)) +->values(array( + 'nid' => '40', + 'vid' => '53', + 'type' => 'page', + 'language' => '', + 'title' => 'node title 40 revision 53', 'uid' => '1', 'status' => '1', 'created' => '1285709012', @@ -182,6 +203,17 @@ db_insert('node_revisions')->fields(array( 'vid' => '50', 'uid' => '1', 'title' => 'node title 38 revision 50', + 'body' => "Attachments:\r\npowered-blue-80x15.png", + 'teaser' => "Attachments:\r\npowered-blue-80x15.png", + 'log' => '', + 'timestamp' => '1285603317', + 'format' => '1', +)) +->values(array( + 'nid' => '39', + 'vid' => '51', + 'uid' => '1', + 'title' => 'node title 39 revision 51', 'body' => "Attachments:\r\npowered-blue-80x15.png\r\npowered-blue-88x31.png\r\npowered-blue-135x42.png", 'teaser' => "Attachments:\r\npowered-blue-80x15.png\r\npowered-blue-88x31.png\r\npowered-blue-135x42.png", 'log' => '', @@ -189,10 +221,10 @@ db_insert('node_revisions')->fields(array( 'format' => '1', )) ->values(array( - 'nid' => '38', - 'vid' => '51', + 'nid' => '39', + 'vid' => '52', 'uid' => '1', - 'title' => 'node title 38 revision 51', + 'title' => 'node title 39 revision 52', 'body' => "Attachments:\r\npowered-blue-88x31.png\r\npowered-black-80x15.png\r\npowered-black-135x42.png", 'teaser' => "Attachments:\r\npowered-blue-88x31.png\r\npowered-black-80x15.png\r\npowered-black-135x42.png", 'log' => '', @@ -200,10 +232,10 @@ db_insert('node_revisions')->fields(array( 'format' => '1', )) ->values(array( - 'nid' => '39', - 'vid' => '52', + 'nid' => '40', + 'vid' => '53', 'uid' => '1', - 'title' => 'node title 39 revision 53', + 'title' => 'node title 40 revision 53', 'body' => "Attachments:\r\nforum-hot-new.png\r\nforum-hot.png\r\nforum-sticky.png\r\nforum-new.png", 'teaser' => "Attachments:\r\nforum-hot-new.png\r\nforum-hot.png\r\nforum-sticky.png\r\nforum-new.png", 'log' => '', @@ -276,7 +308,7 @@ db_insert('upload')->fields(array( 'weight', )) ->values(array( - 'fid' => '2', + 'fid' => '1', 'nid' => '38', 'vid' => '50', 'description' => 'powered-blue-80x15.png', @@ -284,73 +316,81 @@ db_insert('upload')->fields(array( 'weight' => '0', )) ->values(array( + 'fid' => '2', + 'nid' => '39', + 'vid' => '51', + 'description' => 'powered-blue-80x15.png', + 'list' => '1', + 'weight' => '0', +)) +->values(array( 'fid' => '3', - 'nid' => '38', - 'vid' => '50', + 'nid' => '39', + 'vid' => '51', 'description' => 'powered-blue-88x31.png', 'list' => '1', 'weight' => '0', )) ->values(array( 'fid' => '4', - 'nid' => '38', - 'vid' => '50', + 'nid' => '39', + 'vid' => '51', 'description' => 'powered-blue-135x42.png', 'list' => '1', 'weight' => '0', )) ->values(array( 'fid' => '3', - 'nid' => '38', - 'vid' => '51', + 'nid' => '39', + 'vid' => '52', 'description' => 'powered-blue-88x31.png', 'list' => '1', 'weight' => '0', )) ->values(array( 'fid' => '5', - 'nid' => '38', - 'vid' => '51', + 'nid' => '39', + 'vid' => '52', 'description' => 'powered-black-80x15.png', 'list' => '1', 'weight' => '0', )) ->values(array( 'fid' => '6', - 'nid' => '38', - 'vid' => '51', + 'nid' => '39', + 'vid' => '52', 'description' => 'powered-black-135x42.png', 'list' => '1', 'weight' => '0', )) ->values(array( 'fid' => '7', - 'nid' => '39', - 'vid' => '52', + 'nid' => '40', + 'vid' => '53', 'description' => 'forum-hot-new.png', 'list' => '1', 'weight' => '-4', )) ->values(array( 'fid' => '8', - 'nid' => '39', - 'vid' => '52', + 'nid' => '40', + 'vid' => '53', 'description' => 'forum-hot.png', 'list' => '1', 'weight' => '-3', )) ->values(array( 'fid' => '10', - 'nid' => '39', - 'vid' => '52', + 'nid' => '40', + 'vid' => '53', 'description' => 'forum-sticky.png', 'list' => '1', 'weight' => '-2', )) ->values(array( 'fid' => '9', - 'nid' => '39', - 'vid' => '52', + 'nid' => '40', + 'vid' => '53', 'description' => 'forum-new.png', 'list' => '1', 'weight' => '-1', diff --git a/modules/simpletest/tests/upgrade/upgrade.upload.test b/modules/simpletest/tests/upgrade/upgrade.upload.test index efbff1114..761d6558d 100644 --- a/modules/simpletest/tests/upgrade/upgrade.upload.test +++ b/modules/simpletest/tests/upgrade/upgrade.upload.test @@ -20,6 +20,8 @@ class UploadUpgradePathTestCase extends UpgradePathTestCase { drupal_get_path('module', 'simpletest') . '/tests/upgrade/drupal-6.upload.database.php', ); parent::setUp(); + // Set a small batch size to test multiple iterations of the batch. + $this->variable_set('upload_update_batch_size', 2); $this->uninstallModulesExcept(array('upload')); } @@ -36,8 +38,11 @@ class UploadUpgradePathTestCase extends UpgradePathTestCase { $query->fieldCondition('upload'); $entities = $query->execute(); $revisions = $entities['node']; - // Node revisions 50-52 should have uploaded files. - $this->assertTrue((isset($revisions[50]) && isset($revisions[51]) && isset($revisions[52])), 'Nodes with uploaded files now contain filefield data.'); + // Node revision 50 should not have uploaded files, as the entry in {files} + // is corrupted. + $this->assertFalse((isset($revisions[50])), 'Nodes with missing files do not contain filefield data.'); + // Node revisions 51-53 should have uploaded files. + $this->assertTrue((isset($revisions[51]) && isset($revisions[52]) && isset($revisions[53])), 'Nodes with uploaded files now contain filefield data.'); // The test database lists uploaded filenames in the body of each node with // uploaded files attached. Make sure all files are there in the same order. foreach ($revisions as $vid => $revision) { @@ -58,9 +63,7 @@ class UploadUpgradePathTestCase extends UpgradePathTestCase { foreach ($files as $file) { $filenames[] = $file['filename']; } - - $diff = array_diff($filenames, $recorded_filenames); - $this->assertTrue(empty($diff), 'The uploaded files are present in the same order after the upgrade.'); + $this->assertIdentical($filenames, $recorded_filenames, 'The uploaded files are present in the same order after the upgrade.'); } } } |