@@ -6,6 +6,7 @@ package logic_test
66import (
77 "context"
88 "fmt"
9+ "regexp"
910 "strings"
1011 "testing"
1112
@@ -1111,6 +1112,18 @@ func TestAccLogicAppStandard_vnetContentShareEnabled(t *testing.T) {
11111112 })
11121113}
11131114
1115+ func TestAccLogicAppStandard_keyVaultReferenceIdentityInvalid (t * testing.T ) {
1116+ data := acceptance .BuildTestData (t , "azurerm_logic_app_standard" , "test" )
1117+ r := LogicAppStandardResource {}
1118+
1119+ data .ResourceTest (t , r , []acceptance.TestStep {
1120+ {
1121+ Config : r .keyVaultReferenceIdentityInvalid (data ),
1122+ ExpectError : regexp .MustCompile ("`key_vault_reference_identity_id` must be an identity assigned to this resource in the `identity` block" ),
1123+ },
1124+ })
1125+ }
1126+
11141127func TestAccLogicAppStandard_keyVaultReferenceIdentity (t * testing.T ) {
11151128 data := acceptance .BuildTestData (t , "azurerm_logic_app_standard" , "test" )
11161129 r := LogicAppStandardResource {}
@@ -1142,6 +1155,14 @@ func TestAccLogicAppStandard_keyVaultReferenceIdentity(t *testing.T) {
11421155 ),
11431156 },
11441157 data .ImportStep (),
1158+ {
1159+ Config : r .keyVaultReferenceSysmtemAssignedIdentity (data ),
1160+ Check : acceptance .ComposeTestCheckFunc (
1161+ check .That (data .ResourceName ).ExistsInAzure (r ),
1162+ check .That (data .ResourceName ).Key ("key_vault_reference_identity_id" ).HasValue ("SystemAssigned" ),
1163+ ),
1164+ },
1165+ data .ImportStep (),
11451166 })
11461167}
11471168
@@ -2688,6 +2709,40 @@ resource "azurerm_logic_app_standard" "test" {
26882709` , r .template (data ), data .RandomInteger , enabled )
26892710}
26902711
2712+ func (r LogicAppStandardResource ) keyVaultReferenceIdentityInvalid (data acceptance.TestData ) string {
2713+ return fmt .Sprintf (`
2714+ %[1]s
2715+
2716+ resource "azurerm_user_assigned_identity" "test" {
2717+ name = "acctest-%[2]d"
2718+ resource_group_name = azurerm_resource_group.test.name
2719+ location = azurerm_resource_group.test.location
2720+ }
2721+
2722+ resource "azurerm_user_assigned_identity" "other" {
2723+ name = "acctest-other-%[2]d"
2724+ resource_group_name = azurerm_resource_group.test.name
2725+ location = azurerm_resource_group.test.location
2726+ }
2727+
2728+ resource "azurerm_logic_app_standard" "test" {
2729+ name = "acctest-%[2]d-func"
2730+ location = azurerm_resource_group.test.location
2731+ resource_group_name = azurerm_resource_group.test.name
2732+ app_service_plan_id = azurerm_app_service_plan.test.id
2733+ storage_account_name = azurerm_storage_account.test.name
2734+ storage_account_access_key = azurerm_storage_account.test.primary_access_key
2735+
2736+ identity {
2737+ type = "UserAssigned"
2738+ identity_ids = [azurerm_user_assigned_identity.test.id]
2739+ }
2740+
2741+ key_vault_reference_identity_id = azurerm_user_assigned_identity.other.id
2742+ }
2743+ ` , r .template (data ), data .RandomInteger )
2744+ }
2745+
26912746func (r LogicAppStandardResource ) keyVaultReferenceIdentity (data acceptance.TestData ) string {
26922747 return fmt .Sprintf (`
26932748%[1]s
@@ -2715,3 +2770,25 @@ resource "azurerm_logic_app_standard" "test" {
27152770}
27162771` , r .template (data ), data .RandomInteger )
27172772}
2773+
2774+ func (r LogicAppStandardResource ) keyVaultReferenceSysmtemAssignedIdentity (data acceptance.TestData ) string {
2775+ return fmt .Sprintf (`
2776+ %s
2777+
2778+ resource "azurerm_logic_app_standard" "test" {
2779+ name = "acctest-%d-func"
2780+ location = azurerm_resource_group.test.location
2781+ resource_group_name = azurerm_resource_group.test.name
2782+ app_service_plan_id = azurerm_app_service_plan.test.id
2783+ storage_account_name = azurerm_storage_account.test.name
2784+ storage_account_access_key = azurerm_storage_account.test.primary_access_key
2785+
2786+ identity {
2787+ type = "SystemAssigned"
2788+ }
2789+
2790+ key_vault_reference_identity_id = "systemAssigned"
2791+
2792+ }
2793+ ` , r .template (data ), data .RandomInteger )
2794+ }
0 commit comments