Atif Ali 45b72c7241
Migrate tests to Terraform for jetbrains, zed, and code-server (#307)
## Summary
- Introduces Terraform native tests (`terraform test`) alongside
existing Bun tests
- Migrates tests for modules: jetbrains, zed, and code-server
- Removes Bun test files for these migrated modules only
- Adds repo-wide test runner script for Terraform tests
- Updates docs and new-module sample to reflect Terraform tests

## Transition plan
- Mixed mode: Other modules retain Bun tests; CI should run both Bun and
Terraform tests temporarily
- Follow the linked epic to migrate remaining modules

## Test plan
- Run: `./scripts/terraform_test_all.sh` (passes locally)
- Bun tests still available for non-migrated modules

## Affected paths
- registry/coder/modules/jetbrains/jetbrains.tftest.hcl
- registry/coder/modules/zed/zed.tftest.hcl
- registry/coder/modules/code-server/code-server.tftest.hcl
- scripts/terraform_test_all.sh
- examples/modules/MODULE_NAME.tftest.hcl
- CONTRIBUTING.md


Contributes to #308
2025-08-11 21:09:09 -05:00
..

display_name description icon verified tags
MODULE_NAME Describe what this module does ../../../../.icons/<A_RELEVANT_ICON>.svg false
helper

MODULE_NAME

module "MODULE_NAME" {
  count   = data.coder_workspace.me.start_count
  source  = "registry.coder.com/NAMESPACE/MODULE_NAME/coder"
  version = "1.0.0"
}

Examples

Example 1

Install the Dracula theme from OpenVSX:

module "MODULE_NAME" {
  count    = data.coder_workspace.me.start_count
  source   = "registry.coder.com/NAMESPACE/MODULE_NAME/coder"
  version  = "1.0.0"
  agent_id = coder_agent.example.id
  extensions = [
    "dracula-theme.theme-dracula"
  ]
}

Enter the <author>.<name> into the extensions array and code-server will automatically install on start.

Example 2

Configure VS Code's settings.json file:

module "MODULE_NAME" {
  count      = data.coder_workspace.me.start_count
  source     = "registry.coder.com/NAMESPACE/MODULE_NAME/coder"
  version    = "1.0.0"
  agent_id   = coder_agent.example.id
  extensions = ["dracula-theme.theme-dracula"]
  settings = {
    "workbench.colorTheme" = "Dracula"
  }
}

Example 3

Run code-server in the background, don't fetch it from GitHub:

module "MODULE_NAME" {
  source   = "registry.coder.com/NAMESPACE/MODULE_NAME/coder"
  version  = "1.0.0"
  agent_id = coder_agent.example.id
  offline  = true
}