def test_invalid_summary_path(self): """Test invalid summary path.""" path = None with pytest.raises(ParamValueError) as exc_info: data_loader_generator.DataLoaderGenerator(path) assert "Summary path is None." in exc_info.value.message assert MockLogger.log_msg[ 'warning'] == "Summary path is None. It will not init data loader generator."
def test_generate_loaders_with_not_exist_path(self): """Test generating loaders with not exist path.""" path = tempfile.NamedTemporaryFile().name os.mkdir(path) generator = data_loader_generator.DataLoaderGenerator(path) os.removedirs(path) loader_dict = generator.generate_loaders(loader_pool=dict()) assert MockLogger.log_msg['warning'] == "Summary path does not exist. It will not start " \ "loading events data. Current path is %r." % path assert loader_dict == {}
def test_generate_loader_by_train_id(self): """Test generating loader by train id.""" summary_base_dir = tempfile.NamedTemporaryFile().name self._generate_summaries(summary_base_dir) with open(os.path.join(summary_base_dir, 'job0', "summary.1"), 'w'): pass generator = data_loader_generator.DataLoaderGenerator(summary_base_dir) train_id = "./job0" loader = generator.generate_loader_by_train_id(train_id) assert loader.loader_id == train_id shutil.rmtree(summary_base_dir)
def test_check_job_exist(self): """Test checking if job exists.""" summary_base_dir = tempfile.NamedTemporaryFile().name self._generate_summaries(summary_base_dir) with open(os.path.join(summary_base_dir, 'job0', "summary.1"), 'w'): pass generator = data_loader_generator.DataLoaderGenerator(summary_base_dir) assert generator.check_train_job_exist(train_id='./job0') assert not generator.check_train_job_exist(train_id='job0') assert not generator.check_train_job_exist(train_id='././../job0') shutil.rmtree(summary_base_dir)
def test_generate_loaders(self, mock_summary_watcher, mock_data_loader): """Test generating loaders.""" summary_base_dir = tempfile.NamedTemporaryFile().name summaries = self._generate_summaries(summary_base_dir, 20) # mock summary_watcher. generator = data_loader_generator.DataLoaderGenerator(summary_base_dir) mock_summary_watcher.return_value = summaries # mock DataLoader mock_data_loader.return_value = True loader_dict = generator.generate_loaders(loader_pool=dict()) expected_ids = [ summary.get('relative_path') for summary in summaries[-data_loader_generator.MAX_DATA_LOADER_SIZE:] ] assert sorted(loader_dict.keys()) == sorted(expected_ids) shutil.rmtree(summary_base_dir)