def test_passing_callables_for_tx_meta(self): self.article.name = u'Some update article' meta = {u'some_key': lambda: self.article.id} with versioning_manager.tx_meta(**meta): self.session.commit() tx = self.article.versions[-1].transaction assert tx.meta[u'some_key'] == str(self.article.id)
def test_tx_meta_manager(self): self.article.name = u'Some update article' meta = {u'some_key': u'some_value'} with versioning_manager.tx_meta(**meta): self.session.commit() tx = self.article.versions[-1].transaction assert tx.meta[u'some_key'] == u'some_value'
def test_only_saves_meta_if_actual_moficication(self): self.article.name = u'Some article' self.session.commit() meta = {u'some_key': u'some_value'} with versioning_manager.tx_meta(**meta): self.article.name = u'Some article' self.session.commit() assert self.session.query( versioning_manager.transaction_meta_cls ).count() == 0