Skip to content

Commit 673731c

Browse files
Revise boolean preservation test to trigger Update via connect_timeout (#1162)
test(backend): update boolean preservation test to use connect_timeout instead of name
1 parent 6ede21c commit 673731c

File tree

1 file changed

+46
-30
lines changed

1 file changed

+46
-30
lines changed

fastly/block_fastly_service_backend_test.go

Lines changed: 46 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -394,76 +394,92 @@ resource "fastly_service_vcl" "foo" {
394394
}`, serviceName, domainName, backendAddress, backendName, backendAddress, backendName, backendAddress, backendName, backendAddress, backendName)
395395
}
396396

397-
func testAccServiceVCLBackendWithBooleans(serviceName, domainName, backendAddress, backendName string, useSSL, sslCheckCert, preferIPv6, autoLoadbalance bool) string {
398-
return fmt.Sprintf(`
399-
resource "fastly_service_vcl" "foo" {
400-
name = "%s"
401-
402-
domain {
403-
name = "%s"
404-
}
405-
406-
backend {
407-
address = "%s"
408-
name = "%s"
409-
use_ssl = %t
410-
ssl_check_cert = %t
411-
prefer_ipv6 = %t
412-
auto_loadbalance = %t
413-
port = 443
414-
}
415-
416-
force_destroy = true
417-
}`, serviceName, domainName, backendAddress, backendName, useSSL, sslCheckCert, preferIPv6, autoLoadbalance)
418-
}
419-
420-
func TestAccFastlyServiceVCLBackend_PreserveBooleansDuringNameChange(t *testing.T) {
397+
func TestAccFastlyServiceVCLBackend_BooleanFieldsPreservedOnTimeoutUpdate(t *testing.T) {
421398
var service gofastly.ServiceDetail
422399
serviceName := acctest.RandomWithPrefix("tf-backend")
423400
domainName := fmt.Sprintf("test.%s.com", acctest.RandString(10))
424401
backendAddress := "httpbin.org"
425-
426-
initialBackendName := "test-backend"
427-
updatedBackendName := "test-backend-renamed"
402+
backendName := "test-backend"
428403

429404
// Values we want to preserve
430405
useSSL := true
431406
sslCheckCert := false
432407
preferIPv6 := true
433408
autoLoadbalance := true
434409

410+
initialConnectTimeout := 1000
411+
updatedConnectTimeout := 2000
412+
435413
resource.ParallelTest(t, resource.TestCase{
436414
PreCheck: func() { testAccPreCheck(t) },
437415
ProviderFactories: testAccProviders,
438416
CheckDestroy: testAccCheckServiceVCLDestroy,
417+
439418
Steps: []resource.TestStep{
419+
// Step 1: Create
440420
{
441-
Config: testAccServiceVCLBackendWithBooleans(serviceName, domainName, backendAddress, initialBackendName, useSSL, sslCheckCert, preferIPv6, autoLoadbalance),
421+
Config: testAccServiceVCLBackendWithBooleansAndConnectTimeout(
422+
serviceName, domainName, backendAddress, backendName,
423+
useSSL, sslCheckCert, preferIPv6, autoLoadbalance, initialConnectTimeout,
424+
),
442425
Check: resource.ComposeTestCheckFunc(
443426
testAccCheckServiceExists("fastly_service_vcl.foo", &service),
444427
resource.TestCheckResourceAttr("fastly_service_vcl.foo", "backend.#", "1"),
445428
resource.TestCheckResourceAttr("fastly_service_vcl.foo", "backend.0.use_ssl", fmt.Sprintf("%t", useSSL)),
446429
resource.TestCheckResourceAttr("fastly_service_vcl.foo", "backend.0.ssl_check_cert", fmt.Sprintf("%t", sslCheckCert)),
447430
resource.TestCheckResourceAttr("fastly_service_vcl.foo", "backend.0.prefer_ipv6", fmt.Sprintf("%t", preferIPv6)),
448431
resource.TestCheckResourceAttr("fastly_service_vcl.foo", "backend.0.auto_loadbalance", fmt.Sprintf("%t", autoLoadbalance)),
432+
resource.TestCheckResourceAttr("fastly_service_vcl.foo", "backend.0.connect_timeout", fmt.Sprintf("%d", initialConnectTimeout)),
449433
),
450434
},
435+
// Step 2: Update connect_timeout only
451436
{
452-
// Change name only, rest stays the same
453-
Config: testAccServiceVCLBackendWithBooleans(serviceName, domainName, backendAddress, updatedBackendName, useSSL, sslCheckCert, preferIPv6, autoLoadbalance),
437+
Config: testAccServiceVCLBackendWithBooleansAndConnectTimeout(
438+
serviceName, domainName, backendAddress, backendName,
439+
useSSL, sslCheckCert, preferIPv6, autoLoadbalance, updatedConnectTimeout,
440+
),
454441
Check: resource.ComposeTestCheckFunc(
455442
testAccCheckServiceExists("fastly_service_vcl.foo", &service),
456443
resource.TestCheckResourceAttr("fastly_service_vcl.foo", "backend.#", "1"),
457444
resource.TestCheckResourceAttr("fastly_service_vcl.foo", "backend.0.use_ssl", fmt.Sprintf("%t", useSSL)),
458445
resource.TestCheckResourceAttr("fastly_service_vcl.foo", "backend.0.ssl_check_cert", fmt.Sprintf("%t", sslCheckCert)),
459446
resource.TestCheckResourceAttr("fastly_service_vcl.foo", "backend.0.prefer_ipv6", fmt.Sprintf("%t", preferIPv6)),
460447
resource.TestCheckResourceAttr("fastly_service_vcl.foo", "backend.0.auto_loadbalance", fmt.Sprintf("%t", autoLoadbalance)),
448+
resource.TestCheckResourceAttr("fastly_service_vcl.foo", "backend.0.connect_timeout", fmt.Sprintf("%d", updatedConnectTimeout)),
461449
),
462450
},
463451
},
464452
})
465453
}
466454

455+
func testAccServiceVCLBackendWithBooleansAndConnectTimeout(
456+
serviceName, domainName, backendAddress, backendName string,
457+
useSSL, sslCheckCert, preferIPv6, autoLoadbalance bool,
458+
connectTimeout int,
459+
) string {
460+
return fmt.Sprintf(`
461+
resource "fastly_service_vcl" "foo" {
462+
name = "%s"
463+
464+
domain {
465+
name = "%s"
466+
}
467+
468+
backend {
469+
address = "%s"
470+
name = "%s"
471+
use_ssl = %t
472+
ssl_check_cert = %t
473+
prefer_ipv6 = %t
474+
auto_loadbalance = %t
475+
connect_timeout = %d
476+
}
477+
478+
force_destroy = true
479+
}`, serviceName, domainName, backendAddress, backendName,
480+
useSSL, sslCheckCert, preferIPv6, autoLoadbalance, connectTimeout)
481+
}
482+
467483
func TestAccFastlyServiceVCLBackend_Minimal(t *testing.T) {
468484
var service gofastly.ServiceDetail
469485
serviceName := fmt.Sprintf("tf-test-%s", acctest.RandString(10))

0 commit comments

Comments
 (0)