terraform/internal/command/testdata
Liam Cervante f80762d3d5
terraform test: add variable definitions to test files (#37195)
* terraform test: add variable definitions to test files

Currently, `terraform test` attempts to work out the type of any external variables by delaying evaluation until each run block executes so it can use the definitions within the run blocks's module. This means that the values of variables can technically change between run blocks which isn't ideal.

This commit is the first in a chain which will move the evaluation of variables into the terraform test graph. We need to give the users the option of specifying the type for external variables within the file as these variables are now going to be assessed outside of the context of a run block. To do this, we introduce the optional variable blocks that are added by this commit.

* update comment
2025-06-03 07:47:12 +00:00
..
apply diagnostics should not contain URLs 2025-02-28 13:02:43 -05:00
apply-config-invalid Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
apply-destroy-targeted Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
apply-ephemeral-variable test non-string env var input variables 2024-11-27 13:16:33 -05:00
apply-error Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
apply-input Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
apply-input-partial Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
apply-output-only Fix diagnostic & avoid variable override via environment (#36435) 2025-02-05 17:27:15 +00:00
apply-plan-no-module Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
apply-replace Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
apply-sensitive-output Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
apply-shutdown Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
apply-targeted Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
apply-terraform-env Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
apply-vars Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
apply-vars-auto don't validate apply variables from auto files 2024-12-09 12:13:08 -05:00
backend-change Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
backend-change-multi-default-to-single Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
backend-change-multi-to-multi Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
backend-change-multi-to-no-default-with-default Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
backend-change-multi-to-no-default-without-default Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
backend-change-multi-to-single Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
backend-change-single-to-single Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
backend-changed-with-legacy Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
backend-from-state Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
backend-inmem-locked Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
backend-new Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
backend-new-interp Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
backend-new-legacy Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
backend-new-migrate Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
backend-new-migrate-existing Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
backend-plan-backend-empty Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
backend-plan-backend-empty-config Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
backend-plan-backend-match Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
backend-plan-backend-mismatch Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
backend-plan-legacy Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
backend-plan-legacy-data Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
backend-plan-local Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
backend-plan-local-match Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
backend-plan-local-mismatch-lineage Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
backend-plan-local-newer Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
backend-unchanged Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
backend-unchanged-with-legacy Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
backend-unset Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
backend-unset-with-legacy Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
cloud-archives cloudplugin: download and verify plugin 2023-08-14 14:07:20 -06:00
cloud-config cloudplugin: download and verify plugin 2023-08-14 14:07:20 -06:00
command-check-required-version cli: Make state commands check required version (#30511) 2022-03-31 13:42:42 -04:00
empty Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
fmt Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
get Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
graph Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
graph-cyclic Skip graph cycle validation when using the graph command 2024-12-10 13:45:14 +01:00
graph-interesting command/graph: Simpler resource-only graph by default 2023-11-28 13:48:48 -08:00
import-missing-resource-config Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
import-module-input-variable Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
import-module-var-file Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
import-provider Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
import-provider-aliased Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
import-provider-datasource Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
import-provider-implicit Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
import-provider-invalid Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
import-provider-remote-state Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
import-provider-var Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
import-provider-var-default Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
import-provider-var-file Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
init Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
init-backend Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
init-backend-config-file Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
init-backend-config-file-change Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
init-backend-config-file-change-migrate-existing Test case for changing backend hash during aborted state migration 2021-11-02 10:20:37 -05:00
init-backend-config-kv Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
init-backend-empty Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
init-backend-http Error if backup or backup-out options are used without the state option on non-local backends for the state mv command 2021-11-09 13:09:36 -06:00
init-backend-migrate-while-locked cli: Restore -lock and -lock-timeout init flags 2021-10-19 09:32:30 -04:00
init-backend-selected-workspace-doesnt-exist-multi command: Auto-select single workspace if necessary 2021-09-22 16:03:11 -05:00
init-backend-selected-workspace-doesnt-exist-single command: Auto-select single workspace if necessary 2021-09-22 16:03:11 -05:00
init-check-required-version Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
init-check-required-version-first make sure required_version is checked before diags 2021-09-28 13:30:03 -04:00
init-check-required-version-first-module LoadModule now always returns the module 2021-09-28 17:58:40 -04:00
init-cloud-simple Rebrand Terraform Cloud to HCP Terraform 2024-04-23 16:12:59 -04:00
init-get fixing tests 2024-04-17 12:26:23 -04:00
init-get-provider-detected-legacy Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
init-get-provider-invalid-package Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
init-get-provider-legacy-from-state Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
init-get-provider-source Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
init-get-providers Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
init-internal Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
init-internal-invalid Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
init-legacy-provider-cache Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
init-legacy-rc Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
init-migrate-state-with-json fixing tests internal/command/init, view and argumento 2024-04-17 12:26:23 -04:00
init-provider-lock-file Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
init-provider-lock-file-readonly-add Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
init-provider-now-unused providercache: Discard lock entries for unused providers 2021-12-17 15:30:21 -08:00
init-providers-lock Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
init-registry-module command: make module installation interruptible 2021-11-11 12:28:10 +00:00
init-required-providers Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
init-syntax-invalid-backend-attribute-invalid Make config errors more important during init operations (#33628) 2023-08-09 11:19:00 +02:00
init-syntax-invalid-backend-invalid add tests for init syntax error handling 2023-02-15 21:01:27 -08:00
init-syntax-invalid-no-backend add tests for init syntax error handling 2023-02-15 21:01:27 -08:00
init-syntax-invalid-with-backend add tests for init syntax error handling 2023-02-15 21:01:27 -08:00
init-with-duplicates init: fix invalid + duplicate required provider blocks crashing (#35533) 2024-08-06 10:38:13 +02:00
init-with-overrides-and-duplicates init: fix invalid + duplicate required provider blocks crashing (#35533) 2024-08-06 10:38:13 +02:00
init-with-tests testing framework: change test file extension to .tftest.hcl (#33553) 2023-07-20 16:57:05 +02:00
init-with-tests-external-providers terraform test: Disallow version constraints within test files (#35161) 2024-05-16 13:15:20 +02:00
init-with-tests-with-module testing framework: change test file extension to .tftest.hcl (#33553) 2023-07-20 16:57:05 +02:00
init-with-tests-with-provider fixing tests internal/command/init, view and argumento 2024-04-17 12:26:23 -04:00
inmem-backend Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
login-oauth-server Upgrade to Go 1.17 2021-08-17 15:20:05 -07:00
login-tfe-server Rebrand Terraform Cloud to HCP Terraform 2024-04-23 16:12:59 -04:00
modules Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
modules-nested-dependencies Testing updates 2024-11-21 12:54:29 -05:00
modules-uninstalled-entries Impl tests for the modules command 2024-10-28 13:31:09 -04:00
modules-unreferenced-entries Impl tests for the modules command 2024-10-28 13:31:09 -04:00
parallelism Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
plan [Plannable Import] Implement streamed logs for plan (#33106) 2023-05-04 10:02:06 +02:00
plan-emptydiff Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
plan-existing-state command: test plan -refresh= arg ordering (#33483) 2023-07-06 19:28:09 +01:00
plan-fail-condition add command test for errored plan 2022-12-14 16:23:31 -05:00
plan-import-config-gen plannable import: safer config generation and schema filters (#33232) 2023-05-24 11:16:05 +01:00
plan-invalid Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
plan-out-backend Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
plan-out-backend-legacy Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
plan-provider-input terraform: use hcl.MergeBodies instead of configs.MergeBodies for pro… (#29000) 2021-06-25 08:48:47 -04:00
plan-replace Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
plan-vars Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
providers terraform test: Disallow version constraints within test files (#35161) 2024-05-16 13:15:20 +02:00
providers-lock Ignore existing package hashes for providers lock command (#31389) 2022-07-20 13:27:24 +01:00
providers-schema json-output: Release format version 1.0 2021-10-06 11:13:06 -04:00
push Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
push-input Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
push-input-partial Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
push-no-remote Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
push-no-upload Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
push-tfvars Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
refresh Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
refresh-empty Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
refresh-output Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
refresh-targeted Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
refresh-unset-var Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
refresh-var Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
show Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
show-corrupt-statefile command: fix panic on show when state file is invalid or unavailable (#31444) 2022-07-15 17:31:56 +01:00
show-json states: check root output value changes in refresh-only mode (#35812) 2024-10-23 15:27:53 +02:00
show-json-sensitive terraform: Plans can be "complete" and "applyable" 2024-02-09 09:24:27 -08:00
show-json-state json-output: Add output type to JSON format 2022-04-27 13:30:15 -04:00
state-identities-backend-default CLI command for listing state identities (#36705) 2025-03-18 18:13:06 +01:00
state-identities-nested-modules CLI command for listing state identities (#36705) 2025-03-18 18:13:06 +01:00
state-list-backend-custom Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
state-list-backend-default Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
state-list-nested-modules Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
state-pull-backend Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
state-push-bad-lineage Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
state-push-good Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
state-push-replace-match Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
state-push-serial-newer Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
state-push-serial-older Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
test terraform test: add variable definitions to test files (#37195) 2025-06-03 07:47:12 +00:00
tfmock-fmt terraform fmt: add .tfmock.hcl as a supported file extension (#34580) 2024-01-29 17:03:31 +01:00
tftest-fmt test framework: add support for testing files to fmt command (#33576) 2023-07-26 10:38:47 +02:00
validate-invalid update import validate test 2023-09-26 11:37:35 -04:00
validate-valid json-output: Release format version 1.0 2021-10-06 11:13:06 -04:00
variables Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
empty-file Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
statelocker.go Move states/ to internal/states/ 2021-05-17 14:09:07 -07:00