def test_list_scripts(self, patch_logger): parser = CatParser() parser.cat_files_iterator = MagicMock(return_value=self.CAT_FILES) parser.list(cat_filename='path/to/catfile.cat') parser.cat_files_iterator.assert_called_once_with( 'path/to/catfile.cat') patch_logger.info.assert_called_once_with('%60s (%10d)', 'some path/filename1.xml', 101)
def test_cat_files_iterator(self, patch_open): cat_filename = 'path/to/catfile.cat' patch_open.return_value.__enter__.return_value.__iter__.return_value = [ 'some path/filename1.xml 101 15512345 1234567890abcdef', 'some path/filename1.xml.sig 210 15512345 1234567890abcdef', 'some path/filename2.xmf 300 15512345 1234567890abcdef', ] rows = list(CatParser.cat_files_iterator(cat_filename)) self.assertEqual(rows, self.CAT_FILES) patch_open.assert_called_once_with('path/to/catfile.cat', 'r')
def test_list_all_no_sig(self, patch_logger): parser = CatParser(scripts_only=False) parser.cat_files_iterator = MagicMock(return_value=self.CAT_FILES) parser.list(cat_filename='path/to/catfile.cat') parser.cat_files_iterator.assert_called_once_with( 'path/to/catfile.cat') self.assertEqual(patch_logger.info.call_count, 2) patch_logger.info.assert_has_calls([ call('%60s (%10d)', 'some path/filename1.xml', 101), call('%60s (%10d)', 'some path/filename2.xmf', 300), ])
def test_extract_scripts(self, patch_open): parser = CatParser(out_path='some/out/path') parser.cat_files_iterator = MagicMock(return_value=self.CAT_FILES) parser.extract_file = MagicMock() parser.extract(cat_filename='path/to/catfile.cat') parser.cat_files_iterator.assert_called_once_with( 'path/to/catfile.cat') patch_open.assert_called_once_with('path/to/catfile.dat', 'rb') parser.extract_file.assert_called_once_with( patch_open.return_value.__enter__.return_value, 'some/out/path/some path/filename1.xml', 0, 101)
def test_extract_all_no_sig(self, patch_open): parser = CatParser(out_path='some/out/path', scripts_only=False) parser.cat_files_iterator = MagicMock(return_value=self.CAT_FILES) parser.extract_file = MagicMock() parser.extract(cat_filename='path/to/catfile.cat') parser.cat_files_iterator.assert_called_once_with( 'path/to/catfile.cat') patch_open.assert_called_once_with('path/to/catfile.dat', 'rb') self.assertEqual(parser.extract_file.call_count, 2) parser.extract_file.assert_has_calls([ call(patch_open.return_value.__enter__.return_value, 'some/out/path/some path/filename1.xml', 0, 101), call(patch_open.return_value.__enter__.return_value, 'some/out/path/some path/filename2.xmf', 311, 300), ])