Exemplo n.º 1
0
    def setUp(self):
        self.data = {
            'path/to/somefile':
            '1366207797;1024;6cf9224c0ced0affde6832a101676ff656a7cd6f',
            'path/to/anotherfile':
            '1366207797;1024;040f06fd774092478d450774f5ba30c5da78acc8'
        }

        def data_delitem(key):
            del self.data[key]

        def data_getitem(key):
            return self.data[key]

        def data_setitem(key, value):
            self.data[key] = value

        def data_nextkey(key):
            key_iter = iter(self.data)
            while key_iter.next() != key:
                pass
            return key_iter.next()

        self.dbmock = MagicMock()
        self.dbmock.__delitem__.side_effect = data_delitem
        self.dbmock.__getitem__.side_effect = data_getitem
        self.dbmock.__setitem__.side_effect = data_setitem
        self.dbmock.__len__.side_effect = lambda: len(self.data)
        self.dbmock.firstkey.side_effect = lambda: self.data.iterkeys().next()
        self.dbmock.nextkey.side_effect = data_nextkey

        self.gdbm_mock = MagicMock(spec_set=gdbm)
        self.gdbm_mock.open.return_value = self.dbmock
        self.hashdb = HashDb('<filename>', self.gdbm_mock)
Exemplo n.º 2
0
 def test_can_be_used_in_with(self):
     with FilesMock() as files:
         files.add_file('./path/to/somefile', 1366207797, 1024)
         with HashDb('<filename>', self.gdbm_mock) as db:
             db.update_path('.', 'path/to/somefile')