Esempio n. 1
0
    def test_update(self):
        kv = Storage(':memory:')
        kv.update({'v_a': 1, 'v_b': 2.2})
        self.assertEqual(kv.getrange('v_'), {'v_a': 1, 'v_b': 2.2})

        kv.update({'a': False, 'b': True}, prefix='x_')
        self.assertEqual(kv.getrange('x_', True), {'a': False, 'b': True})
Esempio n. 2
0
 def test_delta(self):
     kv = Storage(':memory:')
     kv.update({'a': 1, 'b': 2.2}, prefix="x")
     delta = kv.delta({'a': 0, 'c': False}, prefix='x')
     self.assertEqual(
         delta,
         {'a': (1, 0), 'b': (2.2, None), 'c': (None, False)})
     self.assertEqual(delta.a.previous, 1)
     self.assertEqual(delta.a.current, 0)
     self.assertEqual(delta.c.previous, None)
     self.assertEqual(delta.a.current, False)
Esempio n. 3
0
    def test_delta_no_previous_and_history(self):
        kv = Storage(':memory:')
        with kv.hook_scope('install'):
            data = {'a': 0, 'c': False}
            delta = kv.delta(data, 'settings.')
            self.assertEqual(delta, {'a': (None, False), 'c': (None, False)})
            kv.update(data, 'settings.')

        with kv.hook_scope('config'):
            data = {'a': 1, 'c': True}
            delta = kv.delta(data, 'settings.')
            self.assertEqual(delta, {'a': (0, 1), 'c': (False, True)})
            kv.update(data, 'settings.')
        # strip the time
        history = [h[:-1] for h in kv.gethistory('settings.a')]
        self.assertEqual(history, [(1, 'settings.a', '0', 'install'),
                                   (2, 'settings.a', '1', 'config')])