@@ -850,6 +850,31 @@ def test_search_invalid_env_catalog_url_shows_env_tip(
850850 assert "~/.specify/integration-catalogs.yml" in normalized_output
851851 assert "temporarily unavailable" not in normalized_output
852852
853+ def test_search_whitespace_env_catalog_url_uses_generic_catalog_tip (
854+ self , tmp_path , monkeypatch
855+ ):
856+ project = self ._make_project (tmp_path )
857+ monkeypatch .setenv ("SPECKIT_INTEGRATION_CATALOG_URL" , " " )
858+
859+ from specify_cli .integrations .catalog import (
860+ IntegrationCatalog ,
861+ IntegrationCatalogError ,
862+ )
863+
864+ def fail_search (self , ** kwargs ):
865+ raise IntegrationCatalogError ("catalog offline" )
866+
867+ monkeypatch .setattr (IntegrationCatalog , "search" , fail_search )
868+
869+ result = self ._invoke (["integration" , "search" ], project )
870+ normalized_output = _normalize_cli_output (result .output )
871+ assert result .exit_code == 1 , result .output
872+ assert "temporarily unavailable" in normalized_output
873+ assert (
874+ "SPECKIT_INTEGRATION_CATALOG_URL environment variable"
875+ not in normalized_output
876+ )
877+
853878 def test_info_unknown_with_local_config_error_shows_local_config_tip (
854879 self , tmp_path , monkeypatch
855880 ):
0 commit comments