From 4437ffeb4de2db135709158f9d470ab2343648ca Mon Sep 17 00:00:00 2001 From: Wyatt Fry Date: Fri, 21 Feb 2025 14:18:49 -0500 Subject: [PATCH 1/3] test container version for changes --- .../helpers/windows_web_app_schema.go | 3 +- .../windows_web_app_resource_test.go | 44 +++++++++++++++++++ 2 files changed, 46 insertions(+), 1 deletion(-) diff --git a/internal/services/appservice/helpers/windows_web_app_schema.go b/internal/services/appservice/helpers/windows_web_app_schema.go index 713fa8f650e4..b7ed32af1e85 100644 --- a/internal/services/appservice/helpers/windows_web_app_schema.go +++ b/internal/services/appservice/helpers/windows_web_app_schema.go @@ -669,7 +669,8 @@ func (s *SiteConfigWindows) ExpandForUpdate(metadata sdk.ResourceMetaData, exist if winAppStack.PythonVersion != "" || winAppStack.Python { expanded.PythonVersion = pointer.To(winAppStack.PythonVersion) } - if metadata.ResourceData.HasChange("site_config.0.application_stack.0.java_version") { + // TODO: what if java_version is configured, but tomcat_version is not? + if metadata.ResourceData.HasChanges("site_config.0.application_stack.0.java_version", "site_config.0.application_stack.0.tomcat_version") { if winAppStack.JavaVersion != "" { expanded.JavaVersion = pointer.To(winAppStack.JavaVersion) switch { diff --git a/internal/services/appservice/windows_web_app_resource_test.go b/internal/services/appservice/windows_web_app_resource_test.go index 21723c6504ae..4e45f90b64ff 100644 --- a/internal/services/appservice/windows_web_app_resource_test.go +++ b/internal/services/appservice/windows_web_app_resource_test.go @@ -1005,6 +1005,28 @@ func TestAccWindowsWebApp_withJava1702Embedded(t *testing.T) { }) } +func TestAccWindowsWebApp_withJava1702EmbeddedUpdate(t *testing.T) { + data := acceptance.BuildTestData(t, "azurerm_windows_web_app", "test") + r := WindowsWebAppResource{} + + data.ResourceTest(t, r, []acceptance.TestStep{ + { + Config: r.java(data, "17.0.2"), + Check: acceptance.ComposeTestCheckFunc( + check.That(data.ResourceName).ExistsInAzure(r), + ), + }, + data.ImportStep("site_credential.0.password"), + { + Config: r.java(data, "21"), + Check: acceptance.ComposeTestCheckFunc( + check.That(data.ResourceName).ExistsInAzure(r), + ), + }, + data.ImportStep("site_credential.0.password"), + }) +} + func TestAccWindowsWebApp_withJava17Tomcat10(t *testing.T) { data := acceptance.BuildTestData(t, "azurerm_windows_web_app", "test") r := WindowsWebAppResource{} @@ -1035,6 +1057,28 @@ func TestAccWindowsWebApp_withJava110414Tomcat10020(t *testing.T) { }) } +func TestAccWindowsWebApp_withJava110414TomcatUpdate(t *testing.T) { + data := acceptance.BuildTestData(t, "azurerm_windows_web_app", "test") + r := WindowsWebAppResource{} + + data.ResourceTest(t, r, []acceptance.TestStep{ + { + Config: r.javaTomcat(data, "11.0.14", "10.0"), + Check: acceptance.ComposeTestCheckFunc( + check.That(data.ResourceName).ExistsInAzure(r), + ), + }, + data.ImportStep("site_credential.0.password"), + { + Config: r.javaTomcat(data, "11.0.14", "10.0.20"), + Check: acceptance.ComposeTestCheckFunc( + check.That(data.ResourceName).ExistsInAzure(r), + ), + }, + data.ImportStep("site_credential.0.password"), + }) +} + func TestAccWindowsWebApp_withDockerImageMCR(t *testing.T) { data := acceptance.BuildTestData(t, "azurerm_windows_web_app", "test") r := WindowsWebAppResource{} From 6070576047ddb49545d8bf629d40295dfc944f62 Mon Sep 17 00:00:00 2001 From: Wyatt Fry Date: Fri, 21 Feb 2025 15:21:06 -0500 Subject: [PATCH 2/3] remove comment --- internal/services/appservice/helpers/windows_web_app_schema.go | 1 - 1 file changed, 1 deletion(-) diff --git a/internal/services/appservice/helpers/windows_web_app_schema.go b/internal/services/appservice/helpers/windows_web_app_schema.go index b7ed32af1e85..a081a6d7ccca 100644 --- a/internal/services/appservice/helpers/windows_web_app_schema.go +++ b/internal/services/appservice/helpers/windows_web_app_schema.go @@ -669,7 +669,6 @@ func (s *SiteConfigWindows) ExpandForUpdate(metadata sdk.ResourceMetaData, exist if winAppStack.PythonVersion != "" || winAppStack.Python { expanded.PythonVersion = pointer.To(winAppStack.PythonVersion) } - // TODO: what if java_version is configured, but tomcat_version is not? if metadata.ResourceData.HasChanges("site_config.0.application_stack.0.java_version", "site_config.0.application_stack.0.tomcat_version") { if winAppStack.JavaVersion != "" { expanded.JavaVersion = pointer.To(winAppStack.JavaVersion) From 49fe91103be5de0c93de1e11e06e2a14bfc1272b Mon Sep 17 00:00:00 2001 From: Wyatt Fry Date: Mon, 24 Feb 2025 13:15:22 -0500 Subject: [PATCH 3/3] combine tests --- .../windows_web_app_resource_test.go | 30 ------------------- 1 file changed, 30 deletions(-) diff --git a/internal/services/appservice/windows_web_app_resource_test.go b/internal/services/appservice/windows_web_app_resource_test.go index 4e45f90b64ff..060aefcea9bf 100644 --- a/internal/services/appservice/windows_web_app_resource_test.go +++ b/internal/services/appservice/windows_web_app_resource_test.go @@ -994,21 +994,6 @@ func TestAccWindowsWebApp_withJava1702Embedded(t *testing.T) { data := acceptance.BuildTestData(t, "azurerm_windows_web_app", "test") r := WindowsWebAppResource{} - data.ResourceTest(t, r, []acceptance.TestStep{ - { - Config: r.java(data, "17.0.2"), - Check: acceptance.ComposeTestCheckFunc( - check.That(data.ResourceName).ExistsInAzure(r), - ), - }, - data.ImportStep("site_credential.0.password"), - }) -} - -func TestAccWindowsWebApp_withJava1702EmbeddedUpdate(t *testing.T) { - data := acceptance.BuildTestData(t, "azurerm_windows_web_app", "test") - r := WindowsWebAppResource{} - data.ResourceTest(t, r, []acceptance.TestStep{ { Config: r.java(data, "17.0.2"), @@ -1046,21 +1031,6 @@ func TestAccWindowsWebApp_withJava110414Tomcat10020(t *testing.T) { data := acceptance.BuildTestData(t, "azurerm_windows_web_app", "test") r := WindowsWebAppResource{} - data.ResourceTest(t, r, []acceptance.TestStep{ - { - Config: r.javaTomcat(data, "11.0.14", "10.0.20"), - Check: acceptance.ComposeTestCheckFunc( - check.That(data.ResourceName).ExistsInAzure(r), - ), - }, - data.ImportStep("site_credential.0.password"), - }) -} - -func TestAccWindowsWebApp_withJava110414TomcatUpdate(t *testing.T) { - data := acceptance.BuildTestData(t, "azurerm_windows_web_app", "test") - r := WindowsWebAppResource{} - data.ResourceTest(t, r, []acceptance.TestStep{ { Config: r.javaTomcat(data, "11.0.14", "10.0"),