Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 13 additions & 13 deletions tests/cli/test_cli_create.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,10 @@
def test_create_agent_with_options():
runner = CliRunner()
with runner.isolated_filesystem() as temp_dir:
result = runner.invoke(create, ["test-agent", "--ark-api-key", "test-key"])
result = runner.invoke(create, ["test_agent", "--ark-api-key", "test-key"])
assert result.exit_code == 0

agent_folder = Path(temp_dir) / "test-agent"
agent_folder = Path(temp_dir) / "test_agent"
assert agent_folder.exists()

config_path = agent_folder / ".env"
Expand All @@ -42,31 +42,31 @@ def test_create_agent_overwrite_existing_directory():
runner = CliRunner()
with runner.isolated_filesystem() as temp_dir:
# First, create the agent
runner.invoke(create, ["test-agent", "--ark-api-key", "test-key"])
runner.invoke(create, ["test_agent", "--ark-api-key", "test-key"])

# Attempt to create it again, but cancel the overwrite
result = runner.invoke(
create,
["test-agent", "--ark-api-key", "test-key"],
["test_agent", "--ark-api-key", "test-key"],
input="n\n",
)
assert "Operation cancelled" in result.output

# Attempt to create it again, and confirm the overwrite
result = runner.invoke(
create,
["test-agent", "--ark-api-key", "new-key"],
["test_agent", "--ark-api-key", "new-key"],
input="y\n",
)
assert result.exit_code == 0
agent_folder = Path(temp_dir) / "test-agent"
agent_folder = Path(temp_dir) / "test_agent"
config_path = agent_folder / ".env"
config_content = config_path.read_text()
assert "MODEL_AGENT_API_KEY=new-key" in config_content


def test_generate_files(tmp_path: Path):
agent_name = "test-agent"
agent_name = "test_agent"
api_key = "test-key"
target_dir = tmp_path / agent_name

Expand All @@ -87,26 +87,26 @@ def test_generate_files(tmp_path: Path):
def test_prompt_for_ark_api_key_enter_now():
runner = CliRunner()
with runner.isolated_filesystem():
result = runner.invoke(create, input="test-agent\n1\nmy-secret-key\n")
result = runner.invoke(create, input="test_agent\n1\nmy-secret-key\n")
assert result.exit_code == 0
assert "my-secret-key" in (Path("test-agent") / ".env").read_text()
assert "my-secret-key" in (Path("test_agent") / ".env").read_text()


def test_prompt_for_ark_api_key_configure_later():
runner = CliRunner()
with runner.isolated_filesystem():
result = runner.invoke(create, input="test-agent\n2\n")
result = runner.invoke(create, input="test_agent\n2\n")
assert result.exit_code == 0
assert "MODEL_AGENT_API_KEY=" in (Path("test-agent") / ".env").read_text()
assert "MODEL_AGENT_API_KEY=" in (Path("test_agent") / ".env").read_text()


def test_create_agent_with_prompts():
runner = CliRunner()
with runner.isolated_filesystem() as temp_dir:
result = runner.invoke(create, input="test-agent\n1\ntest-key\n")
result = runner.invoke(create, input="test_agent\n1\ntest-key\n")
assert result.exit_code == 0

agent_folder = Path(temp_dir) / "test-agent"
agent_folder = Path(temp_dir) / "test_agent"
assert agent_folder.exists()

config_path = agent_folder / ".env"
Expand Down
4 changes: 4 additions & 0 deletions veadk/cli/cli_create.py
Original file line number Diff line number Diff line change
Expand Up @@ -147,6 +147,10 @@ def create(agent_name: str, ark_api_key: str) -> None:
"""
if not agent_name:
agent_name = click.prompt("Enter the agent name")

if "-" in agent_name:
raise ValueError("Agent name cannot contain '-'. Use '_' instead.")

if not ark_api_key:
ark_api_key = _prompt_for_ark_api_key()

Expand Down