import pytest from src.app import UnsupportedAssetUploadType, _select_subprocess_module from src.asset_upload.models import AssetUploadValidationRequest class TestSelectSubprocessModule: def test_atmos_returns_atmos_validator_module(self) -> None: asset_upload_validation_request = AssetUploadValidationRequest(task_token="tok", asset_upload_type="atmos") assert _select_subprocess_module(asset_upload_validation_request) == "src.atmos.validator" def test_unsupported_type_raises(self) -> None: asset_upload_validation_request = AssetUploadValidationRequest(task_token="tok", asset_upload_type="sony_360") with pytest.raises(UnsupportedAssetUploadType, match="sony_360"): _select_subprocess_module(asset_upload_validation_request)