def test_migration_does_not_affect_forks(self, mock_sharejs): original_uuid = generate_private_uuid(self.project, self.wname) self.project.update_node_wiki(self.wname, 'Hello world', Auth(self.user)) fork = self.project.fork_node(Auth(self.user)) assert_equal(original_uuid, fork.wiki_private_uuids.get(self.wkey)) migrate_uuid(self.project, self.wname) assert_not_equal(original_uuid, self.project.wiki_private_uuids.get(self.wkey)) assert_equal(original_uuid, fork.wiki_private_uuids.get(self.wkey))
def test_migration_does_not_affect_forks(self, mock_sharejs): original_uuid = generate_private_uuid(self.project, self.wname) self.project.update_node_wiki(self.wname, 'Hello world', Auth(self.user)) fork = self.project.fork_node(Auth(self.user)) assert_equal(original_uuid, fork.wiki_private_uuids.get(self.wkey)) migrate_uuid(self.project, self.wname) assert_not_equal(original_uuid, self.project.wiki_private_uuids.get(self.wkey)) assert_equal(original_uuid, fork.wiki_private_uuids.get(self.wkey))
def test_migrate_uuid_no_mongo(self, mock_sharejs): # Case where no edits have been made to the wiki wname = 'bar.baz' wkey = to_mongo_key(wname) share_uuid = generate_private_uuid(self.project, wname) sharejs_uuid = get_sharejs_uuid(self.project, wname) self.project.update_node_wiki(wname, 'Hello world', Auth(self.user)) wiki_page = self.project.get_wiki_page(wname) migrate_uuid(self.project, wname) assert_not_equal(share_uuid, self.project.wiki_private_uuids.get(wkey)) assert_is_none(self.db.docs.find_one({'_id': sharejs_uuid})) assert_is_none(self.db.docs_ops.find_one({'name': sharejs_uuid}))
def test_migrate_uuid(self, mock_sharejs): migrate_uuid(self.project, self.wname) assert_is_none(self.db.docs.find_one({'_id': self.sharejs_uuid})) assert_is_none(self.db.docs_ops.find_one({'name': self.sharejs_uuid})) new_sharejs_uuid = get_sharejs_uuid(self.project, self.wname) assert_equal( EXAMPLE_DOCS[0]['_data'], self.db.docs.find_one({'_id': new_sharejs_uuid})['_data'] ) assert_equal( len([item for item in self.example_ops if item['name'] == self.sharejs_uuid]), len([item for item in self.db.docs_ops.find({'name': new_sharejs_uuid})]) )
def test_migrate_uuid_no_mongo(self, mock_sharejs): # Case where no edits have been made to the wiki wname = 'bar.baz' wkey = to_mongo_key(wname) share_uuid = generate_private_uuid(self.project, wname) sharejs_uuid = get_sharejs_uuid(self.project, wname) self.project.update_node_wiki(wname, 'Hello world', Auth(self.user)) wiki_page = self.project.get_wiki_page(wname) migrate_uuid(self.project, wname) assert_not_equal(share_uuid, self.project.wiki_private_uuids.get(wkey)) assert_is_none(self.db.docs.find_one({'_id': sharejs_uuid})) assert_is_none(self.db.docs_ops.find_one({'name': sharejs_uuid}))
def test_migrate_uuid(self, mock_sharejs): migrate_uuid(self.project, self.wname) assert_is_none(self.db.docs.find_one({'_id': self.sharejs_uuid})) assert_is_none(self.db.docs_ops.find_one({'name': self.sharejs_uuid})) new_sharejs_uuid = get_sharejs_uuid(self.project, self.wname) assert_equal( EXAMPLE_DOCS[0]['_data'], self.db.docs.find_one({'_id': new_sharejs_uuid})['_data'] ) assert_equal( len([item for item in self.example_ops if item['name'] == self.sharejs_uuid]), len([item for item in self.db.docs_ops.find({'name': new_sharejs_uuid})]) )
def subscribe_on_write_permissions_revoked(node): # Migrate every page on the node for wiki_name in node.wiki_private_uuids: wiki_utils.migrate_uuid(node, wiki_name)
def subscribe_on_write_permissions_revoked(node): # Migrate every page on the node for wiki_name in node.wiki_private_uuids: wiki_utils.migrate_uuid(node, wiki_name)
def test_migrate_uuid_updates_node(self, mock_sharejs): migrate_uuid(self.project, self.wname) assert_not_equal(self.private_uuid, self.project.wiki_private_uuids[self.wkey])
def test_migrate_uuid_updates_node(self, mock_sharejs): migrate_uuid(self.project, self.wname) assert_not_equal(self.private_uuid, self.project.wiki_private_uuids[self.wkey])