mirror of
https://github.com/bellingcat/auto-archiver.git
synced 2026-06-07 19:08:30 +03:00
concludes logging standardization refactor
This commit is contained in:
@@ -29,7 +29,7 @@ def test_fetch_fail_status(api_db, metadata, mocker):
|
||||
mock_get = mocker.patch("auto_archiver.modules.api_db.api_db.requests.get")
|
||||
mock_get.return_value.status_code = 400
|
||||
mock_get.return_value.json.return_value = {}
|
||||
mock_error = mocker.patch("loguru.logger.error")
|
||||
mock_error = mocker.patch("auto_archiver.utils.custom_logger.logger.error")
|
||||
assert api_db.fetch(metadata) is False
|
||||
mock_error.assert_called_once_with("AA API FAIL (400): {}")
|
||||
|
||||
|
||||
@@ -33,7 +33,6 @@ def test_enrich_skips_empty_metadata(meta_enricher, mock_metadata):
|
||||
"""Test that enrich() does nothing when Metadata is empty."""
|
||||
mock_metadata.is_empty.return_value = True
|
||||
meta_enricher.enrich(mock_metadata)
|
||||
mock_metadata.get_url.assert_called_once()
|
||||
|
||||
|
||||
def test_enrich_file_sizes(meta_enricher, metadata, tmp_path):
|
||||
|
||||
@@ -65,7 +65,7 @@ def test_enrich_empty_media(enricher, mocker):
|
||||
|
||||
def test_get_metadata_error_handling(enricher, mocker):
|
||||
mocker.patch("subprocess.run", side_effect=Exception("Test error"))
|
||||
mock_log = mocker.patch("loguru.logger.error")
|
||||
mock_log = mocker.patch("auto_archiver.utils.custom_logger.logger.error")
|
||||
result = enricher.get_metadata("test.jpg")
|
||||
assert result == {}
|
||||
assert "Error occurred: " in mock_log.call_args[0][0]
|
||||
|
||||
@@ -43,7 +43,7 @@ def test_enrich_skip_non_image(metadata_with_images, mocker):
|
||||
def test_enrich_handles_corrupted_image(metadata_with_images, mocker):
|
||||
mocker.patch("PIL.Image.open", side_effect=UnidentifiedImageError("Corrupted image"))
|
||||
mock_pdq = mocker.patch("pdqhash.compute")
|
||||
mock_logger = mocker.patch("loguru.logger.error")
|
||||
mock_logger = mocker.patch("auto_archiver.utils.custom_logger.logger.error")
|
||||
enricher = PdqHashEnricher()
|
||||
enricher.enrich(metadata_with_images)
|
||||
|
||||
|
||||
@@ -75,12 +75,12 @@ def test_enrich_thumbnail_limits(
|
||||
def test_enrich_handles_probe_failure(thumbnail_enricher, metadata_with_video, mocker):
|
||||
mocker.patch("ffmpeg.probe", side_effect=Exception("Probe error"))
|
||||
mocker.patch("os.makedirs")
|
||||
mock_logger = mocker.patch("loguru.logger.warning")
|
||||
mock_logger = mocker.patch("auto_archiver.utils.custom_logger.logger.warning")
|
||||
mocker.patch.object(Media, "is_video", return_value=True)
|
||||
|
||||
thumbnail_enricher.enrich(metadata_with_video)
|
||||
# Ensure error was logged
|
||||
mock_logger.assert_called_with("cannot generate thumbnails for video.mp4 without valid duration")
|
||||
mock_logger.assert_called_with("Cannot generate thumbnails for video.mp4 without valid duration")
|
||||
# Ensure no thumbnails were created
|
||||
thumbnails = metadata_with_video.media[0].get("thumbnails")
|
||||
assert thumbnails is None
|
||||
@@ -128,12 +128,12 @@ def test_enrich_handles_short_video(
|
||||
|
||||
|
||||
def test_uses_existing_duration_on_exception(thumbnail_enricher, metadata_with_video, mock_ffmpeg_environment, mocker):
|
||||
mock_logger = mocker.patch("loguru.logger.warning")
|
||||
mock_logger = mocker.patch("auto_archiver.utils.custom_logger.logger.warning")
|
||||
mock_probe = mocker.patch("ffmpeg.probe", side_effect=Exception("New probe error"))
|
||||
metadata_with_video.media[0].set("duration", 3)
|
||||
thumbnail_enricher.enrich(metadata_with_video)
|
||||
mock_probe.assert_called_once()
|
||||
mock_logger.assert_called_with("failed to get duration with FFMPEG from video.mp4: New probe error")
|
||||
mock_logger.assert_called_with("Failed to get duration with FFMPEG from video.mp4: New probe error")
|
||||
assert mock_ffmpeg_environment["mock_output"].run.call_count == 3
|
||||
|
||||
|
||||
|
||||
@@ -46,7 +46,7 @@ def test_setup_with_docker(wacz_enricher, mocker):
|
||||
|
||||
def test_already_ran(wacz_enricher, metadata, mocker):
|
||||
metadata.add_media(Media("test.wacz"), id="browsertrix")
|
||||
mock_log = mocker.patch("loguru.logger.info")
|
||||
mock_log = mocker.patch("auto_archiver.utils.custom_logger.logger.info")
|
||||
assert wacz_enricher.enrich(metadata) is True
|
||||
assert "WACZ enricher had already been executed" in mock_log.call_args[0][0]
|
||||
|
||||
@@ -73,7 +73,7 @@ def test_download_success(wacz_enricher, mocker) -> None:
|
||||
|
||||
def test_enrich_already_executed(wacz_enricher, mocker) -> None:
|
||||
"""Test enrich if already executed."""
|
||||
mock_log = mocker.patch("loguru.logger.info")
|
||||
mock_log = mocker.patch("auto_archiver.utils.custom_logger.logger.info")
|
||||
metadata = Metadata().set_url("https://example.com")
|
||||
media = Media(filename="some_file.wacz")
|
||||
metadata.add_media(media, id="browsertrix")
|
||||
|
||||
@@ -118,8 +118,7 @@ def test_check_required_values(orchestrator, caplog, test_args):
|
||||
|
||||
with pytest.raises(SystemExit):
|
||||
orchestrator.setup_config(test_args)
|
||||
|
||||
assert caplog.records[1].message == "the following arguments are required: --example_module.required_field"
|
||||
assert "the following arguments are required: --example_module.required_field" in caplog.records[0].message
|
||||
|
||||
|
||||
def test_get_required_values_from_config(orchestrator, test_args, tmp_path):
|
||||
|
||||
@@ -6,7 +6,6 @@ import pytest
|
||||
|
||||
from auto_archiver.utils.misc import (
|
||||
mkdir_if_not_exists,
|
||||
expand_url,
|
||||
getattr_or,
|
||||
DateTimeEncoder,
|
||||
dump_payload,
|
||||
@@ -39,26 +38,6 @@ class TestDirectoryUtils:
|
||||
assert existing_dir.exists()
|
||||
|
||||
|
||||
class TestURLExpansion:
|
||||
@pytest.mark.parametrize(
|
||||
"input_url,expected",
|
||||
[("https://example.com", "https://example.com"), ("https://t.co/test", "https://expanded.url")],
|
||||
)
|
||||
def test_expand_url(self, input_url, expected, mocker):
|
||||
mock_response = mocker.Mock()
|
||||
mock_response.url = "https://expanded.url"
|
||||
mocker.patch("requests.get", return_value=mock_response)
|
||||
result = expand_url(input_url)
|
||||
assert result == expected
|
||||
|
||||
def test_expand_url_handles_errors(self, caplog, mocker):
|
||||
mocker.patch("requests.get", side_effect=Exception("Connection error"))
|
||||
url = "https://t.co/error"
|
||||
result = expand_url(url)
|
||||
assert result == url
|
||||
assert f"Failed to expand url {url}" in caplog.text
|
||||
|
||||
|
||||
class TestAttributeHandling:
|
||||
class Sample:
|
||||
exists = "value"
|
||||
|
||||
Reference in New Issue
Block a user