def test_serialize(self): file = models.OsfStorageFile(name='MOAR PYLONS', node=self.node_settings.owner) assert_equals(file.serialize(), { u'id': file._id, u'path': file.path, u'name': 'MOAR PYLONS', u'kind': 'file', u'version': 0, u'downloads': 0, u'size': None, u'modified': None, u'contentType': None, u'md5': None, u'sha256': None, }) version = file.create_version( self.user, { 'service': 'cloud', settings.WATERBUTLER_RESOURCE: 'osf', 'object': '06d80e', }, { 'size': 1234, 'contentType': 'text/plain' }) assert_equals(file.serialize(), { 'id': file._id, 'path': file.path, 'name': 'MOAR PYLONS', 'kind': 'file', 'version': 1, 'downloads': 0, 'size': 1234, 'modified': None, 'contentType': 'text/plain', 'md5': None, 'sha256': None, }) date = datetime.datetime.now() version.update_metadata({ 'modified': date.isoformat() }) assert_equals(file.serialize(), { 'id': file._id, 'path': file.path, 'name': 'MOAR PYLONS', 'kind': 'file', 'version': 1, 'downloads': 0, 'size': 1234, 'modified': date.isoformat(), 'contentType': 'text/plain', 'md5': None, 'sha256': None, })
def test_get_file_guids_trashed_file_wo_guid(self): node = self.node_settings.owner file = models.OsfStorageFile(name='foo', node=node) file.save() file.delete() assert [] == models.OsfStorageFileNode.get_file_guids( '/' + file._id, provider='osfstorage', node=node)
def test_get_file_guids_for_live_file(self): node = self.node_settings.owner file = models.OsfStorageFile(name='foo', node=node) file.save() file.get_guid(create=True) guid = file.get_guid()._id assert guid is not None assert guid in models.OsfStorageFileNode.get_file_guids( '/' + file._id, provider='osfstorage', node=node)
def test_delete_allowed(self): node = self.node_settings.owner file = models.OsfStorageFile(name='Godspeed', node=node) file.save() assert_true(file.delete_allowed) node.preprint_file = file.stored_object node.save() assert_false(file.delete_allowed) node._has_abandoned_preprint = True node.save() assert_true(file.delete_allowed) file.check_in_or_out(self.user, self.user, save=True) file.save() assert_false(file.delete_allowed)