internal/acctest/acctest.go (41 lines of code) (raw):

package acctest import ( "context" "log" "os" "testing" "github.com/elastic/terraform-provider-elasticstack/provider" "github.com/hashicorp/terraform-plugin-go/tfprotov6" ) var Providers map[string]func() (tfprotov6.ProviderServer, error) func init() { providerServerFactory, err := provider.ProtoV6ProviderServerFactory(context.Background(), "dev") if err != nil { log.Fatal(err) } Providers = map[string]func() (tfprotov6.ProviderServer, error){ "elasticstack": func() (tfprotov6.ProviderServer, error) { return providerServerFactory(), nil }, } } func PreCheck(t *testing.T) { _, elasticsearchEndpointsOk := os.LookupEnv("ELASTICSEARCH_ENDPOINTS") _, kibanaEndpointOk := os.LookupEnv("KIBANA_ENDPOINT") _, userOk := os.LookupEnv("ELASTICSEARCH_USERNAME") _, passOk := os.LookupEnv("ELASTICSEARCH_PASSWORD") _, apiKeyOk := os.LookupEnv("ELASTICSEARCH_API_KEY") _, kbUserOk := os.LookupEnv("KIBANA_USERNAME") _, kbPassOk := os.LookupEnv("KIBANA_PASSWORD") _, kbApiKeyOk := os.LookupEnv("KIBANA_API_KEY") if !elasticsearchEndpointsOk { t.Fatal("ELASTICSEARCH_ENDPOINTS must be set for acceptance tests to run") } if !kibanaEndpointOk { t.Fatal("KIBANA_ENDPOINT must be set for acceptance tests to run") } authOk := (userOk && passOk) || (kbUserOk && kbPassOk) || apiKeyOk || kbApiKeyOk if !authOk { t.Fatal("ELASTICSEARCH_USERNAME and ELASTICSEARCH_PASSWORD, or KIBANA_USERNAME and KIBANA_PASSWORD, or ELASTICSEARCH_API_KEY, or KIBANA_API_KEY must be set for acceptance tests to run") } }