Fix provider setup without discovery
This commit is contained in:
parent
d464c79002
commit
f8171142ee
|
|
@ -642,7 +642,6 @@ def get_providers_file() -> Path:
|
|||
discovered = discover_installed_providers()
|
||||
selected = []
|
||||
if discovered:
|
||||
import sys
|
||||
print("=" * 60, file=sys.stderr)
|
||||
print("CmdForge First-Run Provider Setup", file=sys.stderr)
|
||||
print("=" * 60, file=sys.stderr)
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ import yaml
|
|||
|
||||
from cmdforge.providers import (
|
||||
Provider, ProviderResult, ProviderExecutionPolicy,
|
||||
load_providers, save_providers, get_provider,
|
||||
load_providers, save_providers, get_provider, get_providers_file,
|
||||
add_provider, delete_provider,
|
||||
call_provider, discover_installed_providers, mock_provider,
|
||||
DEFAULT_PROVIDERS, strip_ansi
|
||||
|
|
@ -192,6 +192,18 @@ class TestProviderPersistence:
|
|||
|
||||
assert oct(temp_providers_file.stat().st_mode & 0o777) == "0o600"
|
||||
|
||||
def test_first_run_without_discovered_providers_writes_defaults(
|
||||
self, temp_providers_file, capsys
|
||||
):
|
||||
with patch(
|
||||
"cmdforge.providers.discover_installed_providers", return_value=[]
|
||||
):
|
||||
result = get_providers_file()
|
||||
|
||||
assert result == temp_providers_file
|
||||
assert temp_providers_file.is_file()
|
||||
assert "No AI providers detected" in capsys.readouterr().err
|
||||
|
||||
def test_malformed_access_policy_fails_closed(self, temp_providers_file, capsys):
|
||||
temp_providers_file.parent.mkdir(parents=True)
|
||||
temp_providers_file.write_text(yaml.safe_dump({
|
||||
|
|
|
|||
Loading…
Reference in New Issue