Пример #1
0
 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'
Пример #2
0
 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'
Пример #3
0
 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'
Пример #4
0
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 )
Пример #5
0
 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
Пример #6
0
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)