@@ -18,16 +18,15 @@ import (
1818 "github.com/cloudflare/terraform-provider-cloudflare/internal/utils"
1919)
2020
21- const (
22- legacyProviderVersion = internal .LastV4Version // Last v4 release
21+ var (
2322 currentProviderVersion = internal .PackageVersion // Current v5 release
2423)
2524
2625// Migration Test Configuration
2726//
28- // Version constants are defined in internal/version.go:
29- // - legacyProviderVersion: Last stable v4 release ( 4.52.5)
30- // - currentProviderVersion: Current v5 release ( auto-updates with releases)
27+ // Version is read from LAST_V4_VERSION environment variable (set in .github/workflows/migration-tests.yml)
28+ // - Last stable v4 release: default 4.52.5
29+ // - Current v5 release: auto-updates with releases (internal.PackageVersion )
3130//
3231// Based on breaking changes analysis:
3332// - All breaking changes happened between 4.x and 5.0.0
@@ -109,7 +108,7 @@ var v5Issue6076BasicConfig string
109108var v5Issue6076UpdatedConfig string
110109
111110// TestMigrateDNSRecordBasicA tests migration of a simple A record from v4 to v5
112- // Version constant legacyProviderVersion is defined in internal/version.go
111+ // Version constant os.Getenv("LAST_V4_VERSION") is defined in internal/version.go
113112func TestMigrateDNSRecordBasicA (t * testing.T ) {
114113 testCases := []struct {
115114 name string
@@ -118,7 +117,7 @@ func TestMigrateDNSRecordBasicA(t *testing.T) {
118117 }{
119118 {
120119 name : "from_v4_latest" ,
121- version : legacyProviderVersion ,
120+ version : os . Getenv ( "LAST_V4_VERSION" ) ,
122121 configFn : func (rnd , zoneID , name string ) string { return fmt .Sprintf (v4ARecordConfig , rnd , zoneID , name ) },
123122 },
124123 {
@@ -182,7 +181,7 @@ func TestMigrateDNSRecordCAARecord(t *testing.T) {
182181 }{
183182 {
184183 name : "from_v4_latest" ,
185- version : legacyProviderVersion ,
184+ version : os . Getenv ( "LAST_V4_VERSION" ) ,
186185 configFn : func (rnd , zoneID , name string ) string { return fmt .Sprintf (v4CAARecordConfig , rnd , zoneID , name ) },
187186 },
188187 {
@@ -247,7 +246,7 @@ func TestMigrateDNSRecordMXRecord(t *testing.T) {
247246 }{
248247 {
249248 name : "from_v4_latest" ,
250- version : legacyProviderVersion ,
249+ version : os . Getenv ( "LAST_V4_VERSION" ) ,
251250 configFn : func (rnd , zoneID , name string ) string { return fmt .Sprintf (v4MXRecordConfig , rnd , zoneID , name ) },
252251 },
253252 {
@@ -305,7 +304,7 @@ func TestMigrateDNSRecordSRVRecord(t *testing.T) {
305304 }{
306305 {
307306 name : "from_v4_latest" ,
308- version : legacyProviderVersion ,
307+ version : os . Getenv ( "LAST_V4_VERSION" ) ,
309308 configFn : func (rnd , zoneID , name string ) string { return fmt .Sprintf (v4SRVRecordConfig , rnd , zoneID , name ) },
310309 },
311310 {
@@ -366,7 +365,7 @@ func TestMigrateDNSRecordTXTRecord(t *testing.T) {
366365 }{
367366 {
368367 name : "from_v4_latest" ,
369- version : legacyProviderVersion ,
368+ version : os . Getenv ( "LAST_V4_VERSION" ) ,
370369 configFn : func (rnd , zoneID , name string ) string { return fmt .Sprintf (v4TXTRecordConfig , rnd , zoneID , name ) },
371370 },
372371 {
@@ -425,7 +424,7 @@ func TestMigrateDNSRecordCNAMERecord(t *testing.T) {
425424 }{
426425 {
427426 name : "from_v4_latest" ,
428- version : legacyProviderVersion ,
427+ version : os . Getenv ( "LAST_V4_VERSION" ) ,
429428 configFn : func (rnd , zoneID , name string ) string { return fmt .Sprintf (v4CNAMERecordConfig , rnd , zoneID , name ) },
430429 },
431430 {
@@ -498,12 +497,12 @@ func TestMigrateDNSRecordWithAllowOverwrite(t *testing.T) {
498497 ExternalProviders : map [string ]resource.ExternalProvider {
499498 "cloudflare" : {
500499 Source : "cloudflare/cloudflare" ,
501- VersionConstraint : legacyProviderVersion ,
500+ VersionConstraint : os . Getenv ( "LAST_V4_VERSION" ) ,
502501 },
503502 },
504503 Config : v4Config ,
505504 },
506- acctest .MigrationV2TestStep (t , v4Config , tmpDir , legacyProviderVersion , "v4" , "v5" , []statecheck.StateCheck {
505+ acctest .MigrationV2TestStep (t , v4Config , tmpDir , os . Getenv ( "LAST_V4_VERSION" ) , "v4" , "v5" , []statecheck.StateCheck {
507506 statecheck .ExpectKnownValue ("cloudflare_dns_record." + rnd , tfjsonpath .New ("zone_id" ), knownvalue .StringExact (zoneID )),
508507 statecheck .ExpectKnownValue ("cloudflare_dns_record." + rnd , tfjsonpath .New ("name" ), knownvalue .StringExact (fmt .Sprintf ("%s.%s" , name , domain ))),
509508 statecheck .ExpectKnownValue ("cloudflare_dns_record." + rnd , tfjsonpath .New ("type" ), knownvalue .StringExact ("A" )),
@@ -534,13 +533,13 @@ func TestMigrateDNSRecordMultipleRecords(t *testing.T) {
534533 ExternalProviders : map [string ]resource.ExternalProvider {
535534 "cloudflare" : {
536535 Source : "cloudflare/cloudflare" ,
537- VersionConstraint : legacyProviderVersion ,
536+ VersionConstraint : os . Getenv ( "LAST_V4_VERSION" ) ,
538537 },
539538 },
540539 Config : v4Config ,
541540 },
542541 // Step 2: Run migration and verify state for all records
543- acctest .MigrationV2TestStep (t , v4Config , tmpDir , legacyProviderVersion , "v4" , "v5" , []statecheck.StateCheck {
542+ acctest .MigrationV2TestStep (t , v4Config , tmpDir , os . Getenv ( "LAST_V4_VERSION" ) , "v4" , "v5" , []statecheck.StateCheck {
544543 // A record checks
545544 statecheck .ExpectKnownValue ("cloudflare_dns_record." + rnd + "_a" , tfjsonpath .New ("content" ), knownvalue .StringExact ("52.152.96.252" )),
546545 statecheck .ExpectKnownValue ("cloudflare_dns_record." + rnd + "_a" , tfjsonpath .New ("tags" ), knownvalue .ListSizeExact (2 )),
@@ -570,7 +569,7 @@ func TestMigrateDNSRecordAAAARecord(t *testing.T) {
570569 }{
571570 {
572571 name : "from_v4_latest" ,
573- version : legacyProviderVersion ,
572+ version : os . Getenv ( "LAST_V4_VERSION" ) ,
574573 configFn : func (rnd , zoneID , name string ) string { return fmt .Sprintf (v4AAAARecordConfig , rnd , zoneID , name ) },
575574 },
576575 {
@@ -627,7 +626,7 @@ func TestMigrateDNSRecordNSRecord(t *testing.T) {
627626 }{
628627 {
629628 name : "from_v4_latest" ,
630- version : legacyProviderVersion ,
629+ version : os . Getenv ( "LAST_V4_VERSION" ) ,
631630 configFn : func (rnd , zoneID , name string ) string { return fmt .Sprintf (v4NSRecordConfig , rnd , zoneID , name ) },
632631 },
633632 {
@@ -684,7 +683,7 @@ func TestMigrateDNSRecordWithTags(t *testing.T) {
684683 }{
685684 {
686685 name : "from_v4_latest" ,
687- version : legacyProviderVersion ,
686+ version : os . Getenv ( "LAST_V4_VERSION" ) ,
688687 configFn : func (rnd , zoneID , name string ) string { return fmt .Sprintf (v4TagsConfig , rnd , zoneID , name ) },
689688 },
690689 {
@@ -745,7 +744,7 @@ func TestMigrateDNSRecordPTRRecord(t *testing.T) {
745744 }{
746745 {
747746 name : "from_v4_latest" ,
748- version : legacyProviderVersion ,
747+ version : os . Getenv ( "LAST_V4_VERSION" ) ,
749748 configFn : func (rnd , zoneID , name string ) string { return fmt .Sprintf (v4PTRRecordConfig , rnd , zoneID , name ) },
750749 },
751750 {
0 commit comments