@@ -172,3 +172,58 @@ resource okta_brand test{
172172 },
173173 })
174174}
175+
176+ // TestAccResourceOktaBrand_minimal_update verifies that updating a brand with only one optional field
177+ // doesn't accidentally send other null/empty optional fields to the API
178+ func TestAccResourceOktaBrand_minimal_update (t * testing.T ) {
179+ mgr := newFixtureManager ("resources" , resources .OktaIDaaSBrand , t .Name ())
180+ resourceName := fmt .Sprintf ("%s.test" , resources .OktaIDaaSBrand )
181+
182+ // Step 1: Create with minimal config (only name)
183+ step1 := `
184+ resource okta_brand test{
185+ name = "testAcc-replace_with_uuid"
186+ }`
187+
188+ // Step 2: Update by adding only one optional field
189+ step2 := `
190+ resource okta_brand test{
191+ name = "testAcc-replace_with_uuid"
192+ remove_powered_by_okta = true
193+ }`
194+
195+ acctest .OktaResourceTest (t , resource.TestCase {
196+ PreCheck : acctest .AccPreCheck (t ),
197+ ErrorCheck : testAccErrorChecks (t ),
198+ CheckDestroy : nil ,
199+ ProtoV5ProviderFactories : acctest .ProtoV5ProviderFactoriesForTestAcc (t ),
200+ Steps : []resource.TestStep {
201+ {
202+ Config : mgr .ConfigReplace (step1 ),
203+ Check : resource .ComposeAggregateTestCheckFunc (
204+ resource .TestCheckResourceAttr (resourceName , "name" , fmt .Sprintf ("testAcc-%d" , mgr .Seed )),
205+ // Verify optional fields are not set
206+ resource .TestCheckNoResourceAttr (resourceName , "custom_privacy_policy_url" ),
207+ resource .TestCheckNoResourceAttr (resourceName , "email_domain_id" ),
208+ resource .TestCheckNoResourceAttr (resourceName , "default_app_app_instance_id" ),
209+ resource .TestCheckNoResourceAttr (resourceName , "default_app_app_link_name" ),
210+ resource .TestCheckNoResourceAttr (resourceName , "default_app_classic_application_uri" ),
211+ ),
212+ },
213+ {
214+ Config : mgr .ConfigReplace (step2 ),
215+ Check : resource .ComposeAggregateTestCheckFunc (
216+ resource .TestCheckResourceAttr (resourceName , "name" , fmt .Sprintf ("testAcc-%d" , mgr .Seed )),
217+ // Verify the updated field is set
218+ resource .TestCheckResourceAttr (resourceName , "remove_powered_by_okta" , "true" ),
219+ // Verify other optional fields remain unset after update
220+ resource .TestCheckNoResourceAttr (resourceName , "custom_privacy_policy_url" ),
221+ resource .TestCheckNoResourceAttr (resourceName , "email_domain_id" ),
222+ resource .TestCheckNoResourceAttr (resourceName , "default_app_app_instance_id" ),
223+ resource .TestCheckNoResourceAttr (resourceName , "default_app_app_link_name" ),
224+ resource .TestCheckNoResourceAttr (resourceName , "default_app_classic_application_uri" ),
225+ ),
226+ },
227+ },
228+ })
229+ }
0 commit comments