def create(cls, **kwargs): if 'release_group' in kwargs: entity_id = kwargs.pop('release_group') entity_type = 'release_group' else: entity_id = kwargs.pop('entity_id') entity_type = kwargs.pop('entity_type') review = Review(entity_id=entity_id, entity_type=entity_type, user_id=kwargs.pop('user_id'), language=kwargs.pop('language', None), is_draft=kwargs.pop('is_draft', False), license_id=kwargs.pop('license_id', DEFAULT_LICENSE_ID), source=kwargs.pop('source', None), source_url=kwargs.pop('source_url', None)) db.session.add(review) db.session.flush() db.session.add(Revision(review_id=review.id, text=kwargs.pop('text'))) if kwargs: db.session.rollback() raise TypeError('Unexpected **kwargs: %r' % kwargs) db.session.commit() cache.invalidate_namespace(Review.CACHE_NAMESPACE) return review
def test_revision_deletion(self): self.assertEqual(Revision.query.count(), 1) # Got one from review created in setUp method new_revision = Revision() new_revision.review_id = self.review.id new_revision.text = u"Testing something else!" db.session.add(new_revision) db.session.commit() self.assertEqual(Revision.query.count(), 2) new_revision.delete() self.assertEqual(Revision.query.count(), 1)