Ejemplo n.º 1
0
    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
Ejemplo n.º 2
0
    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)