def test_cached_reader(self): ws = workspace.C.Workspace() session = LocalSession(ws) db_path = self._make_temp_path() # Read data for the first time. cached_reader1 = CachedReader( self._build_source_reader(ws, 100), db_path, ) build_cache_step = cached_reader1.build_cache_step() session.run(build_cache_step) data = self._read_all_data(ws, cached_reader1, session) self.assertEqual(sorted(data), list(range(100))) # Read data from cache. workspace.ResetWorkspace() cached_reader2 = CachedReader( self._build_source_reader(ws, 200), db_path, ) build_cache_step = cached_reader2.build_cache_step() session.run(build_cache_step) data = self._read_all_data(ws, cached_reader2, session) self.assertEqual(sorted(data), list(range(100))) self._delete_path(db_path) # We removed cache so we expect to receive data from original reader. workspace.ResetWorkspace() cached_reader3 = CachedReader( self._build_source_reader(ws, 300), db_path, ) build_cache_step = cached_reader3.build_cache_step() session.run(build_cache_step) data = self._read_all_data(ws, cached_reader3, session) self.assertEqual(sorted(data), list(range(300))) self._delete_path(db_path)
def test_cached_reader(self): ws = workspace.C.Workspace() session = LocalSession(ws) db_path = self._make_temp_path() # Read data for the first time. cached_reader1 = CachedReader( self._build_source_reader(ws, 100), db_path, ) build_cache_step = cached_reader1.build_cache_step() session.run(build_cache_step) data = self._read_all_data(ws, cached_reader1, session) self.assertEqual(sorted(data), list(range(100))) # Read data from cache. workspace.ResetWorkspace() cached_reader2 = CachedReader( self._build_source_reader(ws, 200), db_path, ) build_cache_step = cached_reader2.build_cache_step() session.run(build_cache_step) data = self._read_all_data(ws, cached_reader2, session) self.assertEqual(sorted(data), list(range(100))) self._delete_path(db_path) # We removed cache so we expect to receive data from original reader. workspace.ResetWorkspace() cached_reader3 = CachedReader( self._build_source_reader(ws, 300), db_path, ) build_cache_step = cached_reader3.build_cache_step() session.run(build_cache_step) data = self._read_all_data(ws, cached_reader3, session) self.assertEqual(sorted(data), list(range(300))) self._delete_path(db_path)
def test_db_file_reader(self): ws = workspace.C.Workspace() session = LocalSession(ws) db_path = self._make_temp_path() # Build a cache DB file. cached_reader = CachedReader( self._build_source_reader(ws, 100), db_path=db_path, db_type='LevelDB', ) build_cache_step = cached_reader.build_cache_step() session.run(build_cache_step) # Read data from cache DB file. db_file_reader = DBFileReader( db_path=db_path, db_type='LevelDB', ) data = self._read_all_data(ws, db_file_reader, session) self.assertEqual(sorted(data), list(range(100))) self._delete_path(db_path)
def test_db_file_reader(self): ws = workspace.C.Workspace() session = LocalSession(ws) db_path = self._make_temp_path() # Build a cache DB file. cached_reader = CachedReader( self._build_source_reader(ws, 100), db_path=db_path, db_type='LevelDB', ) build_cache_step = cached_reader.build_cache_step() session.run(build_cache_step) # Read data from cache DB file. workspace.ResetWorkspace() db_file_reader = DBFileReader( db_path=db_path, db_type='LevelDB', ) data = self._read_all_data(ws, db_file_reader, session) self.assertEqual(sorted(data), list(range(100))) self._delete_path(db_path)