1
1
package api_token_test
2
2
3
3
import (
4
+ "fmt"
4
5
"testing"
5
6
6
7
"github.com/cloudflare/terraform-provider-cloudflare/internal/acctest"
@@ -14,21 +15,35 @@ func TestAccAPIToken_Basic(t *testing.T) {
14
15
resourceID := "cloudflare_api_token." + rnd
15
16
permissionID := "82e64a83756745bbbb1c9c2701bf816b" // DNS read
16
17
18
+ var policyId string
19
+
17
20
resource .Test (t , resource.TestCase {
18
- PreCheck : func () { acctest .TestAccPreCheck (t ) },
21
+ PreCheck : func () { acctest .TestAccPreCheck_APIToken (t ) },
19
22
ProtoV6ProviderFactories : acctest .TestAccProtoV6ProviderFactories ,
20
23
Steps : []resource.TestStep {
21
24
{
22
25
Config : testAccCloudflareAPITokenWithoutCondition (rnd , rnd , permissionID ),
23
26
Check : resource .ComposeTestCheckFunc (
24
27
resource .TestCheckResourceAttr (resourceID , "name" , rnd ),
28
+ resource .TestCheckResourceAttrSet (resourceID , "policies.0.id" ),
29
+ resource .TestCheckResourceAttrWith (resourceID , "policies.0.id" , func (value string ) error {
30
+ policyId = value
31
+ return nil
32
+ }),
25
33
resource .TestCheckResourceAttr (resourceID , "policies.0.permission_groups.0.id" , permissionID ),
26
34
),
27
35
},
28
36
{
29
37
Config : testAccCloudflareAPITokenWithoutCondition (rnd , rnd + "-updated" , permissionID ),
30
38
Check : resource .ComposeTestCheckFunc (
31
39
resource .TestCheckResourceAttr (resourceID , "name" , rnd + "-updated" ),
40
+ resource .TestCheckResourceAttrSet (resourceID , "policies.0.id" ),
41
+ resource .TestCheckResourceAttrWith (resourceID , "policies.0.id" , func (value string ) error {
42
+ if value != policyId {
43
+ return fmt .Errorf ("policy ID changed from %s to %s" , policyId , value )
44
+ }
45
+ return nil
46
+ }),
32
47
resource .TestCheckResourceAttr (resourceID , "policies.0.permission_groups.0.id" , permissionID ),
33
48
),
34
49
},
@@ -42,7 +57,7 @@ func TestAccAPIToken_DoesNotSetConditions(t *testing.T) {
42
57
permissionID := "82e64a83756745bbbb1c9c2701bf816b" // DNS read
43
58
44
59
resource .Test (t , resource.TestCase {
45
- PreCheck : func () { acctest .TestAccPreCheck (t ) },
60
+ PreCheck : func () { acctest .TestAccPreCheck_APIToken (t ) },
46
61
ProtoV6ProviderFactories : acctest .TestAccProtoV6ProviderFactories ,
47
62
Steps : []resource.TestStep {
48
63
{
@@ -67,7 +82,7 @@ func TestAccAPIToken_SetIndividualCondition(t *testing.T) {
67
82
permissionID := "82e64a83756745bbbb1c9c2701bf816b" // DNS read
68
83
69
84
resource .Test (t , resource.TestCase {
70
- PreCheck : func () { acctest .TestAccPreCheck (t ) },
85
+ PreCheck : func () { acctest .TestAccPreCheck_APIToken (t ) },
71
86
ProtoV6ProviderFactories : acctest .TestAccProtoV6ProviderFactories ,
72
87
Steps : []resource.TestStep {
73
88
{
@@ -92,7 +107,7 @@ func TestAccAPIToken_SetAllCondition(t *testing.T) {
92
107
permissionID := "82e64a83756745bbbb1c9c2701bf816b" // DNS read
93
108
94
109
resource .Test (t , resource.TestCase {
95
- PreCheck : func () { acctest .TestAccPreCheck (t ) },
110
+ PreCheck : func () { acctest .TestAccPreCheck_APIToken (t ) },
96
111
ProtoV6ProviderFactories : acctest .TestAccProtoV6ProviderFactories ,
97
112
Steps : []resource.TestStep {
98
113
{
@@ -117,7 +132,7 @@ func TestAccAPIToken_TokenTTL(t *testing.T) {
117
132
permissionID := "82e64a83756745bbbb1c9c2701bf816b" // DNS read
118
133
119
134
resource .Test (t , resource.TestCase {
120
- PreCheck : func () { acctest .TestAccPreCheck (t ) },
135
+ PreCheck : func () { acctest .TestAccPreCheck_APIToken (t ) },
121
136
ProtoV6ProviderFactories : acctest .TestAccProtoV6ProviderFactories ,
122
137
Steps : []resource.TestStep {
123
138
{
@@ -143,7 +158,7 @@ func TestAccAPIToken_PermissionGroupOrder(t *testing.T) {
143
158
permissionID2 := "e199d584e69344eba202452019deafe3" // Disable ESC read
144
159
145
160
resource .Test (t , resource.TestCase {
146
- PreCheck : func () { acctest .TestAccPreCheck (t ) },
161
+ PreCheck : func () { acctest .TestAccPreCheck_APIToken (t ) },
147
162
ProtoV6ProviderFactories : acctest .TestAccProtoV6ProviderFactories ,
148
163
Steps : []resource.TestStep {
149
164
{
@@ -167,7 +182,7 @@ func TestAccAPIToken_PermissionGroupOrder(t *testing.T) {
167
182
})
168
183
169
184
resource .Test (t , resource.TestCase {
170
- PreCheck : func () { acctest .TestAccPreCheck (t ) },
185
+ PreCheck : func () { acctest .TestAccPreCheck_APIToken (t ) },
171
186
ProtoV6ProviderFactories : acctest .TestAccProtoV6ProviderFactories ,
172
187
Steps : []resource.TestStep {
173
188
{
0 commit comments