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