From fa04d61eb8e23b94f75cb65c1cf8b4dfdc868b09 Mon Sep 17 00:00:00 2001 From: Serene-Arc Date: Mon, 17 May 2021 11:04:24 +1000 Subject: [PATCH] Refactor archiver tests --- tests/test_archiver.py | 47 +++++++----------------------------------- 1 file changed, 8 insertions(+), 39 deletions(-) diff --git a/tests/test_archiver.py b/tests/test_archiver.py index 622c555..627caee 100644 --- a/tests/test_archiver.py +++ b/tests/test_archiver.py @@ -7,51 +7,20 @@ from unittest.mock import MagicMock import praw import pytest -from bdfr.archive_entry.submission_archive_entry import SubmissionArchiveEntry from bdfr.archiver import Archiver @pytest.mark.online @pytest.mark.reddit -@pytest.mark.parametrize('test_submission_id', ( - 'm3reby', +@pytest.mark.parametrize(('test_submission_id', 'test_format'), ( + ('m3reby', 'xml'), + ('m3reby', 'json'), + ('m3reby', 'yaml'), )) -def test_write_submission_json(test_submission_id: str, tmp_path: Path, reddit_instance: praw.Reddit): +def test_write_submission_json(test_submission_id: str, tmp_path: Path, test_format: str, reddit_instance: praw.Reddit): archiver_mock = MagicMock() - test_path = Path(tmp_path, 'test.json') + archiver_mock.args.format = test_format + test_path = Path(tmp_path, 'test') test_submission = reddit_instance.submission(id=test_submission_id) archiver_mock.file_name_formatter.format_path.return_value = test_path - test_entry = SubmissionArchiveEntry(test_submission) - Archiver._write_entry_json(archiver_mock, test_entry) - archiver_mock._write_content_to_disk.assert_called_once() - - -@pytest.mark.online -@pytest.mark.reddit -@pytest.mark.parametrize('test_submission_id', ( - 'm3reby', -)) -def test_write_submission_xml(test_submission_id: str, tmp_path: Path, reddit_instance: praw.Reddit): - archiver_mock = MagicMock() - test_path = Path(tmp_path, 'test.xml') - test_submission = reddit_instance.submission(id=test_submission_id) - archiver_mock.file_name_formatter.format_path.return_value = test_path - test_entry = SubmissionArchiveEntry(test_submission) - Archiver._write_entry_xml(archiver_mock, test_entry) - archiver_mock._write_content_to_disk.assert_called_once() - - -@pytest.mark.online -@pytest.mark.reddit -@pytest.mark.parametrize('test_submission_id', ( - 'm3reby', -)) -def test_write_submission_yaml(test_submission_id: str, tmp_path: Path, reddit_instance: praw.Reddit): - archiver_mock = MagicMock() - archiver_mock.download_directory = tmp_path - test_path = Path(tmp_path, 'test.yaml') - test_submission = reddit_instance.submission(id=test_submission_id) - archiver_mock.file_name_formatter.format_path.return_value = test_path - test_entry = SubmissionArchiveEntry(test_submission) - Archiver._write_entry_yaml(archiver_mock, test_entry) - archiver_mock._write_content_to_disk.assert_called_once() + Archiver.write_entry(archiver_mock, test_submission)