def setUp(self): super(MementoCase, self).setUp() from camelot.core.memento import SqlMemento, memento_types global memento_id_counter custom_memento_types = memento_types + [(100, 'custom')] self.memento = SqlMemento(memento_types=custom_memento_types) memento_id_counter += 1 self.id_counter = memento_id_counter self.model = 'TestMemento'
def setUp( self ): super( MementoCase, self ).setUp() from camelot.core.memento import SqlMemento global memento_id_counter self.memento = SqlMemento() memento_id_counter += 1 self.id_counter = memento_id_counter self.model = 'TestMemento'
def setUp( self ): super( MementoCase, self ).setUp() from camelot.core.memento import SqlMemento, memento_types global memento_id_counter custom_memento_types = memento_types + [(100, 'custom')] self.memento = SqlMemento( memento_types = custom_memento_types ) memento_id_counter += 1 self.id_counter = memento_id_counter self.model = 'TestMemento'
class MementoCase( ModelThreadTestCase ): """test functions from camelot.core.memento """ def setUp( self ): super( MementoCase, self ).setUp() from camelot.core.memento import SqlMemento, memento_types global memento_id_counter custom_memento_types = memento_types + [(100, 'custom')] self.memento = SqlMemento( memento_types = custom_memento_types ) memento_id_counter += 1 self.id_counter = memento_id_counter self.model = 'TestMemento' def test_lifecycle( self ): memento_changes = [ memento_change( self.model, [self.id_counter], None, 'create' ), memento_change( self.model, [self.id_counter], {'name':'foo'}, 'before_update' ), memento_change( self.model, [self.id_counter], {'name':'bar'}, 'before_delete' ), ] self.memento.register_changes( memento_changes ) changes = list( self.memento.get_changes( self.model, [self.id_counter], {} ) ) self.assertEqual( len(changes), 3 ) def test_no_error( self ): memento_changes = [ memento_change( None, [self.id_counter], None, None ), ] self.memento.register_changes( memento_changes ) def test_custom_memento_type( self ): memento_changes = [ memento_change( self.model, [self.id_counter], {}, 'custom' ), ] self.memento.register_changes( memento_changes ) changes = list( self.memento.get_changes( self.model, [self.id_counter], {} ) ) self.assertEqual( len(changes), 1 )
def get_memento( self ): """Returns an instance of :class:`camelot.core.memento.SqlMemento` that can be used to store changes made to objects. Overwrite this method to make it return `None` if no changes should be stored to the database, or to return another instance if the changes should be stored elsewhere. :return: `None` or an :class:`camelot.core.memento.SqlMemento` instance """ from camelot.core.memento import SqlMemento if self._memento == None: self._memento = SqlMemento() return self._memento
class MementoCase(ModelThreadTestCase): """test functions from camelot.core.memento """ def setUp(self): super(MementoCase, self).setUp() from camelot.core.memento import SqlMemento, memento_types global memento_id_counter custom_memento_types = memento_types + [(100, 'custom')] self.memento = SqlMemento(memento_types=custom_memento_types) memento_id_counter += 1 self.id_counter = memento_id_counter self.model = 'TestMemento' def test_lifecycle(self): memento_changes = [ memento_change(self.model, [self.id_counter], None, 'create'), memento_change(self.model, [self.id_counter], {'name': 'foo'}, 'before_update'), memento_change(self.model, [self.id_counter], {'name': 'bar'}, 'before_delete'), ] self.memento.register_changes(memento_changes) changes = list( self.memento.get_changes(self.model, [self.id_counter], {})) self.assertEqual(len(changes), 3) def test_no_error(self): memento_changes = [ memento_change(None, [self.id_counter], None, None), ] self.memento.register_changes(memento_changes) def test_custom_memento_type(self): memento_changes = [ memento_change(self.model, [self.id_counter], {}, 'custom'), ] self.memento.register_changes(memento_changes) changes = list( self.memento.get_changes(self.model, [self.id_counter], {})) self.assertEqual(len(changes), 1)