Skip to content

Commit 897097e

Browse files
committed
feat(load_balancer_monitor): add migration tests
1 parent e51bf6b commit 897097e

File tree

8 files changed

+863
-2
lines changed

8 files changed

+863
-2
lines changed

integration/v4_to_v5/integration_test.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,14 @@ import (
1111
_ "github.com/cloudflare/tf-migrate/internal/resources/account_member"
1212
_ "github.com/cloudflare/tf-migrate/internal/resources/api_token"
1313
_ "github.com/cloudflare/tf-migrate/internal/resources/dns_record"
14+
_ "github.com/cloudflare/tf-migrate/internal/resources/load_balancer_monitor"
1415
_ "github.com/cloudflare/tf-migrate/internal/resources/logpull_retention"
1516
_ "github.com/cloudflare/tf-migrate/internal/resources/r2_bucket"
1617
_ "github.com/cloudflare/tf-migrate/internal/resources/workers_kv"
1718
_ "github.com/cloudflare/tf-migrate/internal/resources/workers_kv_namespace"
1819
_ "github.com/cloudflare/tf-migrate/internal/resources/zero_trust_access_service_token"
19-
_ "github.com/cloudflare/tf-migrate/internal/resources/zero_trust_gateway_policy"
2020
_ "github.com/cloudflare/tf-migrate/internal/resources/zero_trust_dlp_custom_profile"
21+
_ "github.com/cloudflare/tf-migrate/internal/resources/zero_trust_gateway_policy"
2122
_ "github.com/cloudflare/tf-migrate/internal/resources/zero_trust_list"
2223
_ "github.com/cloudflare/tf-migrate/internal/resources/zone_dnssec"
2324
)
@@ -48,6 +49,7 @@ func TestV4ToV5Migration(t *testing.T) {
4849
"account_member",
4950
"api_token",
5051
"dns_record",
52+
"load_balancer_monitor",
5153
"logpull_retention",
5254
"r2_bucket",
5355
"workers_kv",
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
resource "cloudflare_load_balancer_monitor" "test" {
2+
account_id = "f037e56e89293a057740de681ac9abbe"
3+
type = "https"
4+
description = "Test HTTPS monitor"
5+
method = "GET"
6+
path = "/health"
7+
interval = 30
8+
retries = 3
9+
timeout = 10
10+
expected_codes = "2xx"
11+
expected_body = "healthy"
12+
allow_insecure = true
13+
14+
15+
header = {
16+
"Host" = ["api.example.com"]
17+
"Authorization" = ["Bearer token123"]
18+
}
19+
}
20+
21+
resource "cloudflare_load_balancer_monitor" "minimal" {
22+
account_id = "f037e56e89293a057740de681ac9abbe"
23+
}
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
{
2+
"version": 4,
3+
"terraform_version": "1.0.0",
4+
"serial": 1,
5+
"lineage": "test",
6+
"outputs": {},
7+
"resources": [
8+
{
9+
"mode": "managed",
10+
"type": "cloudflare_load_balancer_monitor",
11+
"name": "test",
12+
"provider": "provider[\"registry.terraform.io/cloudflare/cloudflare\"]",
13+
"instances": [
14+
{
15+
"schema_version": 0,
16+
"attributes": {
17+
"id": "abc123def456",
18+
"account_id": "f037e56e89293a057740de681ac9abbe",
19+
"type": "https",
20+
"description": "Test HTTPS monitor",
21+
"method": "GET",
22+
"path": "/health",
23+
"interval": 30.0,
24+
"retries": 3.0,
25+
"timeout": 10.0,
26+
"expected_codes": "2xx",
27+
"expected_body": "healthy",
28+
"allow_insecure": true,
29+
"header": {
30+
"Host": ["api.example.com"],
31+
"Authorization": ["Bearer token123"]
32+
},
33+
"created_on": "2023-01-01T00:00:00Z",
34+
"modified_on": "2023-01-01T00:00:00Z"
35+
}
36+
}
37+
]
38+
},
39+
{
40+
"mode": "managed",
41+
"type": "cloudflare_load_balancer_monitor",
42+
"name": "minimal",
43+
"provider": "provider[\"registry.terraform.io/cloudflare/cloudflare\"]",
44+
"instances": [
45+
{
46+
"schema_version": 0,
47+
"attributes": {
48+
"id": "minimal123",
49+
"account_id": "f037e56e89293a057740de681ac9abbe",
50+
"type": "http",
51+
"interval": 60.0,
52+
"retries": 2.0,
53+
"timeout": 5.0,
54+
"created_on": "2023-01-01T00:00:00Z",
55+
"modified_on": "2023-01-01T00:00:00Z"
56+
}
57+
}
58+
]
59+
}
60+
]
61+
}
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
resource "cloudflare_load_balancer_monitor" "test" {
2+
account_id = "f037e56e89293a057740de681ac9abbe"
3+
type = "https"
4+
description = "Test HTTPS monitor"
5+
method = "GET"
6+
path = "/health"
7+
interval = 30
8+
retries = 3
9+
timeout = 10
10+
expected_codes = "2xx"
11+
expected_body = "healthy"
12+
allow_insecure = true
13+
14+
header {
15+
header = "Host"
16+
values = ["api.example.com"]
17+
}
18+
19+
header {
20+
header = "Authorization"
21+
values = ["Bearer token123"]
22+
}
23+
}
24+
25+
resource "cloudflare_load_balancer_monitor" "minimal" {
26+
account_id = "f037e56e89293a057740de681ac9abbe"
27+
}
Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
{
2+
"version": 4,
3+
"terraform_version": "1.0.0",
4+
"serial": 1,
5+
"lineage": "test",
6+
"outputs": {},
7+
"resources": [
8+
{
9+
"mode": "managed",
10+
"type": "cloudflare_load_balancer_monitor",
11+
"name": "test",
12+
"provider": "provider[\"registry.terraform.io/cloudflare/cloudflare\"]",
13+
"instances": [
14+
{
15+
"schema_version": 1,
16+
"attributes": {
17+
"id": "abc123def456",
18+
"account_id": "f037e56e89293a057740de681ac9abbe",
19+
"type": "https",
20+
"description": "Test HTTPS monitor",
21+
"method": "GET",
22+
"path": "/health",
23+
"interval": 30,
24+
"retries": 3,
25+
"timeout": 10,
26+
"expected_codes": "2xx",
27+
"expected_body": "healthy",
28+
"allow_insecure": true,
29+
"consecutive_up": 0,
30+
"consecutive_down": 0,
31+
"header": [
32+
{
33+
"header": "Host",
34+
"values": ["api.example.com"]
35+
},
36+
{
37+
"header": "Authorization",
38+
"values": ["Bearer token123"]
39+
}
40+
],
41+
"created_on": "2023-01-01T00:00:00Z",
42+
"modified_on": "2023-01-01T00:00:00Z"
43+
}
44+
}
45+
]
46+
},
47+
{
48+
"mode": "managed",
49+
"type": "cloudflare_load_balancer_monitor",
50+
"name": "minimal",
51+
"provider": "provider[\"registry.terraform.io/cloudflare/cloudflare\"]",
52+
"instances": [
53+
{
54+
"schema_version": 1,
55+
"attributes": {
56+
"id": "minimal123",
57+
"account_id": "f037e56e89293a057740de681ac9abbe",
58+
"type": "http",
59+
"interval": 60,
60+
"retries": 2,
61+
"timeout": 5,
62+
"consecutive_up": 0,
63+
"consecutive_down": 0,
64+
"created_on": "2023-01-01T00:00:00Z",
65+
"modified_on": "2023-01-01T00:00:00Z"
66+
}
67+
}
68+
]
69+
}
70+
]
71+
}

internal/registry/registry.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import (
44
"github.com/cloudflare/tf-migrate/internal/resources/account_member"
55
"github.com/cloudflare/tf-migrate/internal/resources/api_token"
66
"github.com/cloudflare/tf-migrate/internal/resources/dns_record"
7+
"github.com/cloudflare/tf-migrate/internal/resources/load_balancer_monitor"
78
"github.com/cloudflare/tf-migrate/internal/resources/logpull_retention"
89
"github.com/cloudflare/tf-migrate/internal/resources/r2_bucket"
910
"github.com/cloudflare/tf-migrate/internal/resources/workers_kv"
@@ -22,7 +23,7 @@ func RegisterAllMigrations() {
2223
account_member.NewV4ToV5Migrator()
2324
api_token.NewV4ToV5Migrator()
2425
dns_record.NewV4ToV5Migrator()
25-
zone_dnssec.NewV4ToV5Migrator()
26+
load_balancer_monitor.NewV4ToV5Migrator()
2627
logpull_retention.NewV4ToV5Migrator()
2728
r2_bucket.NewV4ToV5Migrator()
2829
workers_kv.NewV4ToV5Migrator()
@@ -31,4 +32,5 @@ func RegisterAllMigrations() {
3132
zero_trust_dlp_custom_profile.NewV4ToV5Migrator()
3233
zero_trust_gateway_policy.NewV4ToV5Migrator()
3334
zero_trust_list.NewV4ToV5Migrator()
35+
zone_dnssec.NewV4ToV5Migrator()
3436
}

0 commit comments

Comments
 (0)