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()
|
discovered = discover_installed_providers()
|
||||||
selected = []
|
selected = []
|
||||||
if discovered:
|
if discovered:
|
||||||
import sys
|
|
||||||
print("=" * 60, file=sys.stderr)
|
print("=" * 60, file=sys.stderr)
|
||||||
print("CmdForge First-Run Provider Setup", file=sys.stderr)
|
print("CmdForge First-Run Provider Setup", file=sys.stderr)
|
||||||
print("=" * 60, file=sys.stderr)
|
print("=" * 60, file=sys.stderr)
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@ import yaml
|
||||||
|
|
||||||
from cmdforge.providers import (
|
from cmdforge.providers import (
|
||||||
Provider, ProviderResult, ProviderExecutionPolicy,
|
Provider, ProviderResult, ProviderExecutionPolicy,
|
||||||
load_providers, save_providers, get_provider,
|
load_providers, save_providers, get_provider, get_providers_file,
|
||||||
add_provider, delete_provider,
|
add_provider, delete_provider,
|
||||||
call_provider, discover_installed_providers, mock_provider,
|
call_provider, discover_installed_providers, mock_provider,
|
||||||
DEFAULT_PROVIDERS, strip_ansi
|
DEFAULT_PROVIDERS, strip_ansi
|
||||||
|
|
@ -192,6 +192,18 @@ class TestProviderPersistence:
|
||||||
|
|
||||||
assert oct(temp_providers_file.stat().st_mode & 0o777) == "0o600"
|
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):
|
def test_malformed_access_policy_fails_closed(self, temp_providers_file, capsys):
|
||||||
temp_providers_file.parent.mkdir(parents=True)
|
temp_providers_file.parent.mkdir(parents=True)
|
||||||
temp_providers_file.write_text(yaml.safe_dump({
|
temp_providers_file.write_text(yaml.safe_dump({
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue