Fixed issue where file extenions not found and auth timeout
This commit is contained in:
@@ -0,0 +1,64 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
Test script to debug file extension detection issues
|
||||
"""
|
||||
|
||||
import sys
|
||||
import os
|
||||
sys.path.insert(0, os.path.dirname(__file__))
|
||||
|
||||
from unittest.mock import MagicMock
|
||||
from bdfr.resource import Resource
|
||||
|
||||
def test_extension_detection():
|
||||
"""Test extension detection with various URL patterns"""
|
||||
|
||||
test_cases = [
|
||||
# Standard URLs with extensions
|
||||
("https://example.com/image.jpg", ".jpg"),
|
||||
("https://example.com/video.mp4", ".mp4"),
|
||||
("https://files.example.com/document.pdf", ".pdf"),
|
||||
|
||||
# URLs without extensions
|
||||
("https://example.com/api/data", None),
|
||||
("https://example.com/path/without/extension", None),
|
||||
|
||||
# URLs with query parameters
|
||||
("https://example.com/image.jpg?size=large", ".jpg"),
|
||||
("https://example.com/video.mp4?utm_source=test", ".mp4"),
|
||||
|
||||
# URLs with fragments
|
||||
("https://example.com/image.png#section", ".png"),
|
||||
|
||||
# Complex paths
|
||||
("https://imgur.com/a/gallery123", None),
|
||||
("https://reddit.com/r/test/abc123_def456_789", None),
|
||||
|
||||
# Edge cases that might cause weird names
|
||||
("https://example.com/L7SW9E~G", None),
|
||||
("https://example.com/temp/file", None),
|
||||
|
||||
# Reddit media URLs (the actual issue)
|
||||
("https://www.reddit.com/media?url=https%3A%2F%2Fi.redd.it%2Fr2mv10i4vkfd1.jpeg", ".jpeg"),
|
||||
("https://i.redd.it/r2mv10i4vkfd1.jpeg", ".jpeg"),
|
||||
]
|
||||
|
||||
print("Testing extension detection with various URLs:")
|
||||
print("=" * 60)
|
||||
|
||||
for url, expected in test_cases:
|
||||
# Create a mock submission
|
||||
mock_submission = MagicMock()
|
||||
mock_submission.id = "test123"
|
||||
|
||||
# Create resource and test extension detection
|
||||
resource = Resource(mock_submission, url, lambda: None)
|
||||
|
||||
print(f"URL: {url}")
|
||||
print(f"Expected: {expected}")
|
||||
print(f"Detected: {resource.extension}")
|
||||
print(f"Match: {'YES' if resource.extension == expected else 'NO'}")
|
||||
print("-" * 40)
|
||||
|
||||
if __name__ == "__main__":
|
||||
test_extension_detection()
|
||||
Reference in New Issue
Block a user