@@ -3,6 +3,7 @@ package corefuncprovider
3
3
import (
4
4
"fmt"
5
5
"os"
6
+ "regexp"
6
7
"strings"
7
8
"testing"
8
9
@@ -23,24 +24,39 @@ func TestAccEnvEnsureDataSource(t *testing.T) {
23
24
24
25
_ = os .Setenv (tc .EnvVarName , tc .SetValue )
25
26
26
- resource .Test (t , resource.TestCase {
27
- ProtoV6ProviderFactories : testAccProtoV6ProviderFactories ,
28
- Steps : []resource.TestStep {
29
- {
30
- Config : providerConfig + `
27
+ // We expect the error to be nil.
28
+ if tc .ExpectedErr == nil {
29
+ resource .Test (t , resource.TestCase {
30
+ ProtoV6ProviderFactories : testAccProtoV6ProviderFactories ,
31
+ Steps : []resource.TestStep {
32
+ {
33
+ Config : providerConfig + `
31
34
data "corefunc_env_ensure" "env" {
32
35
name = "` + tc .EnvVarName + `"
33
36
}
34
37
` ,
35
- Check : resource .ComposeAggregateTestCheckFunc (
36
- resource .TestCheckResourceAttr (
37
- "data.corefunc_env_ensure.env" ,
38
- "value" ,
39
- tc .SetValue ,
38
+ Check : resource .ComposeAggregateTestCheckFunc (
39
+ resource .TestCheckResourceAttr ("data.corefunc_env_ensure.env" , "value" , tc .SetValue ),
40
40
),
41
- ) ,
41
+ } ,
42
42
},
43
- },
44
- })
43
+ })
44
+ } else {
45
+ // We DO expect an error.
46
+ // https://developer.hashicorp.com/terraform/plugin/testing/testing-patterns
47
+ resource .Test (t , resource.TestCase {
48
+ ProtoV6ProviderFactories : testAccProtoV6ProviderFactories ,
49
+ Steps : []resource.TestStep {
50
+ {
51
+ Config : providerConfig + `
52
+ data "corefunc_env_ensure" "env" {
53
+ name = "` + tc .EnvVarName + `"
54
+ }
55
+ ` ,
56
+ ExpectError : regexp .MustCompile ("environment variable (\\ w+) is not defined" ),
57
+ },
58
+ },
59
+ })
60
+ }
45
61
}
46
62
}
0 commit comments