"""Tests for the Imgur URL extractor.""" from __future__ import annotations import pytest from src.extractors.imgur import extract_imgur_url @pytest.mark.parametrize( "url,expected_url,expected_type", [ ("https://i.imgur.com/abc123.jpg", "https://i.imgur.com/abc123.jpg", "image"), ("https://i.imgur.com/abc123.png", "https://i.imgur.com/abc123.png", "image"), ( "https://i.imgur.com/abc123.gifv", "https://i.imgur.com/abc123.mp4", "video", ), ("https://imgur.com/abc123", "https://i.imgur.com/abc123.jpg", "image"), ("https://imgur.com/abc123.jpg", "https://i.imgur.com/abc123.jpg", "image"), ], ) def test_extract_imgur_url_variants(url, expected_url, expected_type): result, media_type = extract_imgur_url(url) assert result == expected_url assert media_type == expected_type def test_album_returns_none(): result, _ = extract_imgur_url("https://imgur.com/a/abc123") assert result is None def test_gallery_returns_none(): result, _ = extract_imgur_url("https://imgur.com/gallery/abc123") assert result is None def test_path_with_no_id_returns_none(): result, _ = extract_imgur_url("https://imgur.com/") assert result is None