def test_check_memory_storage(self): b = MemoryStorage() assert b.new_oid() == p64(1) assert b.new_oid() == p64(2) assert raises(KeyError, b.load, p64(0)) record = pack_record(p64(0), 'ok', '') b.begin() b.store(p64(0), record) b.end() b.sync() b.begin() b.store(p64(1), pack_record(p64(1), 'no', '')) b.end() assert len(list(b.gen_oid_record())) == 2 assert record == b.load(p64(0)) records = b.bulk_load([p64(0), p64(1)]) assert len(list(records)) == 2 records = b.bulk_load([p64(0), p64(1), p64(2)]) assert raises(KeyError, list, records)
def test_check_record_pack_unpack(self): oid = '0'*8 data = 'sample' reflist = ['1'*8, '2'*8] refs = ''.join(reflist) result=unpack_record(pack_record(oid, data, refs)) assert result[0] == oid assert result[1] == data assert split_oids(result[2]) == reflist assert split_oids('') == []
def _check_file_storage(self, storage): b = storage assert b.new_oid() == p64(1) assert b.new_oid() == p64(2) try: b.load(p64(0)) assert 0 except KeyError: pass record = pack_record(p64(0), 'ok', '') b.store(p64(0), record) b.begin() b.end() b.sync() b.begin() b.store(p64(1), pack_record(p64(1), 'no', '')) b.end() assert len(list(b.gen_oid_record())) == 2 b.pack() import schevo.store.file_storage if schevo.store.file_storage.RENAME_OPEN_FILE: schevo.store.file_storage.RENAME_OPEN_FILE = False b.pack() c = FileStorage(b.get_filename(), readonly=True) try: c.pack() assert 0 except IOError: # read-only storage pass b.close() try: b.pack() assert 0 except IOError: # storage closed pass try: b.load(0) assert 0 except IOError: # storage closed pass