Closed
Description
terraform-plugin-testing version
v1.5.1
Relevant provider source code
package opswatProvider
import (
"github.com/hashicorp/terraform-plugin-testing/helper/resource"
"regexp"
"testing"
)
func TestAccFileSyncDataSource(t *testing.T) {
resource.Test(t, resource.TestCase{
ProtoV6ProviderFactories: testAccProtoV6ProviderFactories,
Steps: []resource.TestStep{
// Read testing
{
Config: providerConfig + configFileSyncDataSource,
Check: resource.ComposeTestCheckFunc(
// Verify value returned
resource.TestMatchResourceAttr("data.opswat_file_sync.test", "timeout", regexp.MustCompile("[0-9]+")),
),
},
},
})
}
const configFileSyncDataSource = `
data "opswat_file_sync" "test" {}
output "opswat_file_sync" {
value = data.opswat_file_sync.test
}
`
Terraform Configuration Files
data "XXX" "test" {}
output XXX" {
value = data.XXX.test
}
Expected Behavior
Test should be executed only once
Actual Behavior
Test was executed 5 times (based on fmt.Println in GetGlobalSync() func)
$ TF_ACC=1 go test ./internal/test/ -v
=== RUN TestAccFileSyncDataSource
request URL: https://xxx/admin/config/file/sync
request URL: https://xxx/admin/config/file/sync
request URL: https://xxx/admin/config/file/sync
request URL: https://xxx/admin/config/file/sync
request URL: https://xxx/admin/config/file/sync
--- PASS: TestAccFileSyncDataSource (21.23s)
PASS
ok terraform-provider-opswat/internal/test 23.468s
Steps to Reproduce
git clone https://github.com/gerbil/terraform-provider-opswat
$ TF_ACC=1 go test ./internal/test/ -v