Commit 1d814557 authored by Jan Reimes's avatar Jan Reimes
Browse files

fix(downloads): construct 3GPP FTP series URL robustly

- Use split with maxsplit=1 to support dotted series names\n- Add/update tests to assert correct URL construction for standard formats
parent 74bc0f0d
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -114,7 +114,7 @@ class SpecDownloads:
            pass  # TODO: Implement strict release filtering

        # Construct 3GPP FTP URL
        series = f"{normalized.split('.')[0]}_series"
        series = f"{normalized.split('.', maxsplit=1)[0]}_series"
        url = f"https://www.3gpp.org/ftp/Specs/archive/{series}/{normalized}/{target.file_name}"
        return url, target.file_name

+1 −3
Original line number Diff line number Diff line
from unittest.mock import MagicMock, patch
from unittest.mock import AsyncMock, MagicMock, patch

import pytest

@@ -20,8 +20,6 @@ class TestSpecDownloads:
    @patch("tdoc_crawler.specs.downloads.HTTPZipReader")
    def test_checkout_specs_doc_only_remote(self, MockHTTPZipReader, downloader, mock_db, tmp_path) -> None:
        """Test that checkout_specs resolves URL and uses zipinspect for doc-only."""
        from unittest.mock import AsyncMock  # Import inside to avoid top-level import issue if not needed

        specs = ["26.132"]
        checkout_dir = tmp_path / "checkout"