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)
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')