## Description - add support for agentapi state_persistence ## Type of Change - [ ] New module - [ ] New template - [ ] Bug fix - [x] Feature/enhancement - [x] Documentation - [ ] Other ## Module Information <!-- Delete this section if not applicable --> **Path:** `registry/coder-labs/modules/codex` **New version:** `v4.2.0` **Breaking change:** [ ] Yes [x] No ## Testing & Validation - [x] Tests pass (`bun test`) - [x] Code formatted (`bun fmt`) - [x] Changes tested locally ## Related Issues Closes: #783
188 lines
4.2 KiB
HCL
188 lines
4.2 KiB
HCL
run "test_codex_basic" {
|
|
command = plan
|
|
|
|
variables {
|
|
agent_id = "test-agent"
|
|
workdir = "/home/coder"
|
|
openai_api_key = "test-key"
|
|
}
|
|
|
|
assert {
|
|
condition = var.agent_id == "test-agent"
|
|
error_message = "Agent ID should be set correctly"
|
|
}
|
|
|
|
assert {
|
|
condition = var.workdir == "/home/coder"
|
|
error_message = "Workdir should be set correctly"
|
|
}
|
|
|
|
assert {
|
|
condition = var.install_codex == true
|
|
error_message = "install_codex should default to true"
|
|
}
|
|
|
|
assert {
|
|
condition = var.install_agentapi == true
|
|
error_message = "install_agentapi should default to true"
|
|
}
|
|
|
|
assert {
|
|
condition = var.report_tasks == true
|
|
error_message = "report_tasks should default to true"
|
|
}
|
|
|
|
assert {
|
|
condition = var.continue == true
|
|
error_message = "continue should default to true"
|
|
}
|
|
}
|
|
|
|
run "test_enable_state_persistence_default" {
|
|
command = plan
|
|
|
|
variables {
|
|
agent_id = "test-agent"
|
|
workdir = "/home/coder"
|
|
openai_api_key = "test-key"
|
|
}
|
|
|
|
assert {
|
|
condition = var.enable_state_persistence == true
|
|
error_message = "enable_state_persistence should default to true"
|
|
}
|
|
}
|
|
|
|
run "test_disable_state_persistence" {
|
|
command = plan
|
|
|
|
variables {
|
|
agent_id = "test-agent"
|
|
workdir = "/home/coder"
|
|
openai_api_key = "test-key"
|
|
enable_state_persistence = false
|
|
}
|
|
|
|
assert {
|
|
condition = var.enable_state_persistence == false
|
|
error_message = "enable_state_persistence should be false when explicitly disabled"
|
|
}
|
|
}
|
|
|
|
run "test_codex_with_aibridge" {
|
|
command = plan
|
|
|
|
variables {
|
|
agent_id = "test-agent"
|
|
workdir = "/home/coder"
|
|
enable_aibridge = true
|
|
}
|
|
|
|
assert {
|
|
condition = var.enable_aibridge == true
|
|
error_message = "enable_aibridge should be set to true"
|
|
}
|
|
}
|
|
|
|
run "test_aibridge_disabled_with_api_key" {
|
|
command = plan
|
|
|
|
variables {
|
|
agent_id = "test-agent"
|
|
workdir = "/home/coder"
|
|
openai_api_key = "test-key"
|
|
enable_aibridge = false
|
|
}
|
|
|
|
assert {
|
|
condition = var.enable_aibridge == false
|
|
error_message = "enable_aibridge should be false"
|
|
}
|
|
|
|
assert {
|
|
condition = coder_env.openai_api_key.value == "test-key"
|
|
error_message = "OpenAI API key should be set correctly"
|
|
}
|
|
}
|
|
|
|
run "test_custom_options" {
|
|
command = plan
|
|
|
|
variables {
|
|
agent_id = "test-agent"
|
|
workdir = "/home/coder/project"
|
|
openai_api_key = "test-key"
|
|
order = 5
|
|
group = "ai-tools"
|
|
icon = "/icon/custom.svg"
|
|
web_app_display_name = "Custom Codex"
|
|
cli_app = true
|
|
cli_app_display_name = "Codex Terminal"
|
|
subdomain = true
|
|
report_tasks = false
|
|
continue = false
|
|
codex_model = "gpt-4o"
|
|
codex_version = "0.1.0"
|
|
agentapi_version = "v0.12.0"
|
|
}
|
|
|
|
assert {
|
|
condition = var.order == 5
|
|
error_message = "Order should be set to 5"
|
|
}
|
|
|
|
assert {
|
|
condition = var.group == "ai-tools"
|
|
error_message = "Group should be set to 'ai-tools'"
|
|
}
|
|
|
|
assert {
|
|
condition = var.icon == "/icon/custom.svg"
|
|
error_message = "Icon should be set to custom icon"
|
|
}
|
|
|
|
assert {
|
|
condition = var.cli_app == true
|
|
error_message = "cli_app should be enabled"
|
|
}
|
|
|
|
assert {
|
|
condition = var.subdomain == true
|
|
error_message = "subdomain should be enabled"
|
|
}
|
|
|
|
assert {
|
|
condition = var.report_tasks == false
|
|
error_message = "report_tasks should be disabled"
|
|
}
|
|
|
|
assert {
|
|
condition = var.continue == false
|
|
error_message = "continue should be disabled"
|
|
}
|
|
|
|
assert {
|
|
condition = var.codex_model == "gpt-4o"
|
|
error_message = "codex_model should be set to 'gpt-4o'"
|
|
}
|
|
}
|
|
|
|
run "test_no_api_key_no_aibridge" {
|
|
command = plan
|
|
|
|
variables {
|
|
agent_id = "test-agent"
|
|
workdir = "/home/coder"
|
|
}
|
|
|
|
assert {
|
|
condition = var.openai_api_key == ""
|
|
error_message = "openai_api_key should be empty when not provided"
|
|
}
|
|
|
|
assert {
|
|
condition = var.enable_aibridge == false
|
|
error_message = "enable_aibridge should default to false"
|
|
}
|
|
}
|