hashicorp / hashicorp/terraform-plugin-testing
Consider Displaying Test Step Number in CLI for Import Errors
- Dominant language
- Go
- Stars
- 68
- Forks
- 22
- Avg merge
- 2d 12h
- Merged PRs (30d)
- 1
Description
### terraform-plugin-testing version
```
v1.6.0
```
### Use cases
During execution of tests in which an error occurs during an import, the failing test step number is not displayed in the CLI output.
For example, using the following test:
```go
func TestTest_TestStep_ProviderFactories_Import_External(t *testing.T) {
id := "none"
t.Parallel()
Test(t, TestCase{
ExternalProviders: map[string]ExternalProvider{
"random": {
Source: "registry.terraform.io/hashicorp/random",
},
},
Steps: []TestStep{
{
Config: `resource "random_password" "test" { length = 12 }`,
ResourceName: "random_password.test",
ImportState: true,
ImportStatePersist: true,
ImportStateCheck: composeImportStateCheck(
testCheckResourceAttrInstanceState(&id, "result", "Z=:cbrJE?Ltg"),
testCheckResourceAttrInstanceState(&id, "length", "12"),
),
},
},
})
}
```
Generates the following error, which does not indicate the failing test step number:
```shell
teststep_providers_test.go:2786: Resource specified by ResourceName couldn't be found: random_password.test
```
### Attempted solutions
The test step number is present in the logs, re-running the same failing test with `TF_LOG=TRACE` generates the following output:
```shell
2024-02-02T11:04:20.405Z [TRACE] sdk.helper_resource: Using resource identifier for import identifier: test_name=TestTest_TestStep_ProviderFactories_Import_External test_terraform_path=/usr/local/bin/terraform test_working_directory=/var/folders/23/p8tx31c53rd16t1pjt03zndc0000gq/T/plugintest972934573 test_step_number=1
teststep_providers_test.go:2786: Resource specified by ResourceName couldn't be found: random_password.test
```
The log contains **test_step_number=1**.
### Proposal
Include the test step number in the error displayed by the CLI output.
Contributor guide
Assessment
This issue has not been assessed yet.