Skip to content

Commit 33d86cc

Browse files
authored
Support Identity, Encryption, UserOwnedStorage (#11368)
Co-authored-by: Yuan Yang 🍀 <[email protected]>
1 parent 9ac4de7 commit 33d86cc

File tree

13 files changed

+8303
-12
lines changed

13 files changed

+8303
-12
lines changed

src/CognitiveServices/CognitiveServices.Test/CognitiveServices.Test.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
</PropertyGroup>
1212

1313
<ItemGroup>
14-
<PackageReference Include="Microsoft.Azure.Management.CognitiveServices" Version="7.0.0-preview" />
14+
<PackageReference Include="Microsoft.Azure.Management.CognitiveServices" Version="7.1.0-preview" />
1515
<PackageReference Include="Microsoft.Azure.Management.Network" Version="19.19.0-preview" />
1616
</ItemGroup>
1717

src/CognitiveServices/CognitiveServices.Test/ScenarioTests/CognitiveServicesAccountTests.cs

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -176,5 +176,26 @@ public void TestGetUsages()
176176
{
177177
TestController.NewInstance.RunPsTest(traceInterceptor, "Test-GetUsages");
178178
}
179+
180+
[Fact]
181+
[Trait(Category.AcceptanceType, Category.CheckIn)]
182+
public void TestManagedIdentity()
183+
{
184+
TestController.NewInstance.RunPsTest(traceInterceptor, "Test-ManagedIdentity");
185+
}
186+
187+
[Fact]
188+
[Trait(Category.AcceptanceType, Category.CheckIn)]
189+
public void TestEncryption()
190+
{
191+
TestController.NewInstance.RunPsTest(traceInterceptor, "Test-Encryption");
192+
}
193+
194+
[Fact]
195+
[Trait(Category.AcceptanceType, Category.CheckIn)]
196+
public void TestUserOwnedStorage()
197+
{
198+
TestController.NewInstance.RunPsTest(traceInterceptor, "Test-UserOwnedStorage");
199+
}
179200
}
180201
}

src/CognitiveServices/CognitiveServices.Test/ScenarioTests/CognitiveServicesAccountTests.ps1

Lines changed: 255 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -869,4 +869,259 @@ function CreateAndGetVirtualNetwork ($resourceGroupName, $vnetName, $location =
869869
$getVnet = Get-AzVirtualNetwork -Name $vnetName -ResourceGroupName $resourceGroupName
870870

871871
return $getVnet
872+
}
873+
874+
<#
875+
.SYNOPSIS
876+
Test ManagedIdentity
877+
#>
878+
function Test-ManagedIdentity
879+
{
880+
# Setup
881+
$rgname = Get-CognitiveServicesManagementTestResourceName;
882+
883+
try
884+
{
885+
# Create with AssignIdentity
886+
$accountname = 'csa' + $rgname;
887+
$skuname = 'S0';
888+
$accounttype = 'Face';
889+
$loc = "Central US EUAP";
890+
891+
New-AzResourceGroup -Name $rgname -Location $loc;
892+
$createdAccount = New-AzCognitiveServicesAccount -ResourceGroupName $rgname -Name $accountname -Type $accounttype -SkuName $skuname -Location $loc -CustomSubdomainName $accountname -AssignIdentity -Force;
893+
Assert-NotNull $createdAccount;
894+
Assert-AreEqual $createdAccount.Identity.Type "SystemAssigned"
895+
}
896+
finally
897+
{
898+
# Cleanup
899+
Clean-ResourceGroup $rgname
900+
}
901+
902+
try
903+
{
904+
# Update with AssignIdentity
905+
$accountname = 'csa' + $rgname;
906+
$skuname = 'S0';
907+
$accounttype = 'Face';
908+
$loc = "Central US EUAP";
909+
910+
New-AzResourceGroup -Name $rgname -Location $loc;
911+
$createdAccount = New-AzCognitiveServicesAccount -ResourceGroupName $rgname -Name $accountname -Type $accounttype -SkuName $skuname -Location $loc -CustomSubdomainName $accountname -Force;
912+
Assert-NotNull $createdAccount;
913+
914+
$updatedAccount = Set-AzCognitiveServicesAccount -ResourceGroupName $rgname -Name $accountname -AssignIdentity
915+
Assert-NotNull $updatedAccount;
916+
Assert-AreEqual $updatedAccount.Identity.Type "SystemAssigned"
917+
}
918+
finally
919+
{
920+
# Cleanup
921+
Clean-ResourceGroup $rgname
922+
}
923+
924+
try
925+
{
926+
# Update with IdentityType
927+
$accountname = 'csa' + $rgname;
928+
$skuname = 'S0';
929+
$accounttype = 'Face';
930+
$loc = "Central US EUAP";
931+
932+
New-AzResourceGroup -Name $rgname -Location $loc;
933+
$createdAccount = New-AzCognitiveServicesAccount -ResourceGroupName $rgname -Name $accountname -Type $accounttype -SkuName $skuname -Location $loc -CustomSubdomainName $accountname -Force;
934+
Assert-NotNull $createdAccount;
935+
936+
$updatedAccount = Set-AzCognitiveServicesAccount -ResourceGroupName $rgname -Name $accountname -IdentityType "SystemAssigned"
937+
Assert-NotNull $updatedAccount;
938+
Assert-AreEqual $updatedAccount.Identity.Type "SystemAssigned"
939+
}
940+
finally
941+
{
942+
# Cleanup
943+
Clean-ResourceGroup $rgname
944+
}
945+
946+
try
947+
{
948+
# Create with AssignIdentity and Update with IdentityType.None
949+
$accountname = 'csa' + $rgname;
950+
$skuname = 'S0';
951+
$accounttype = 'Face';
952+
$loc = "Central US EUAP";
953+
954+
New-AzResourceGroup -Name $rgname -Location $loc;
955+
$createdAccount = New-AzCognitiveServicesAccount -ResourceGroupName $rgname -Name $accountname -Type $accounttype -SkuName $skuname -Location $loc -CustomSubdomainName $accountname -AssignIdentity -Force;
956+
Assert-NotNull $createdAccount;
957+
Assert-AreEqual $createdAccount.Identity.Type "SystemAssigned"
958+
959+
$updatedAccount = Set-AzCognitiveServicesAccount -ResourceGroupName $rgname -Name $accountname -IdentityType "None"
960+
Assert-NotNull $updatedAccount;
961+
Assert-AreEqual $updatedAccount.Identity.Type "None"
962+
}
963+
finally
964+
{
965+
# Cleanup
966+
Clean-ResourceGroup $rgname
967+
}
968+
}
969+
970+
<#
971+
.SYNOPSIS
972+
Test Encryption
973+
#>
974+
function Test-Encryption
975+
{
976+
# Setup
977+
$rgname = Get-CognitiveServicesManagementTestResourceName;
978+
979+
try
980+
{
981+
# Test
982+
$accountname = 'csa' + $rgname;
983+
$skuname = 'E0';
984+
$accounttype = 'Face';
985+
$loc = "Central US EUAP";
986+
987+
New-AzResourceGroup -Name $rgname -Location $loc;
988+
$createdAccount = New-AzCognitiveServicesAccount -ResourceGroupName $rgname -Name $accountname -Type $accounttype -SkuName $skuname -Location $loc -CustomSubdomainName $accountname -AssignIdentity -CognitiveServicesEncryption -Force;
989+
Assert-NotNull $createdAccount;
990+
Assert-AreEqual $createdAccount.Identity.Type "SystemAssigned"
991+
Assert-AreEqual $createdAccount.Encryption.KeySource "Microsoft.CognitiveServices"
992+
}
993+
finally
994+
{
995+
# Cleanup
996+
Clean-ResourceGroup $rgname
997+
}
998+
999+
1000+
try
1001+
{
1002+
# Test
1003+
$accountname = 'csa' + $rgname;
1004+
$skuname = 'E0';
1005+
$accounttype = 'Face';
1006+
$loc = "Central US EUAP";
1007+
1008+
New-AzResourceGroup -Name $rgname -Location $loc;
1009+
$createdAccount = New-AzCognitiveServicesAccount -ResourceGroupName $rgname -Name $accountname -Type $accounttype -SkuName $skuname -Location $loc -CustomSubdomainName $accountname -AssignIdentity -Force;
1010+
Assert-NotNull $createdAccount;
1011+
Assert-AreEqual $createdAccount.Identity.Type "SystemAssigned"
1012+
1013+
$updatedAccount = Set-AzCognitiveServicesAccount -ResourceGroupName $rgname -Name $accountname -CognitiveServicesEncryption
1014+
Assert-NotNull $updatedAccount;
1015+
Assert-AreEqual $updatedAccount.Encryption.KeySource "Microsoft.CognitiveServices"
1016+
}
1017+
finally
1018+
{
1019+
# Cleanup
1020+
Clean-ResourceGroup $rgname
1021+
}
1022+
1023+
try
1024+
{
1025+
# Test
1026+
$accountname = 'csa' + $rgname;
1027+
$skuname = 'E0';
1028+
$accounttype = 'Face';
1029+
$loc = "Central US EUAP";
1030+
1031+
New-AzResourceGroup -Name $rgname -Location $loc;
1032+
$createdAccount = New-AzCognitiveServicesAccount -ResourceGroupName $rgname -Name $accountname -Type $accounttype -SkuName $skuname -Location $loc -CustomSubdomainName $accountname -AssignIdentity -KeyVaultEncryption -KeyName "FakeKeyName" -KeyVersion "891CF236-D241-4738-9462-D506AF493DFA" -KeyVaultUri "https://pltfrmscrts-use-pc-dev.vault.azure.net/" -Force;
1033+
Assert-NotNull $createdAccount;
1034+
Assert-AreEqual $createdAccount.Identity.Type "SystemAssigned"
1035+
Assert-AreEqual $createdAccount.Encryption.KeySource "Microsoft.KeyVault"
1036+
Assert-AreEqual $createdAccount.Encryption.KeyVaultProperties.KeyName "FakeKeyName"
1037+
Assert-AreEqual $createdAccount.Encryption.KeyVaultProperties.KeyVersion "891CF236-D241-4738-9462-D506AF493DFA"
1038+
Assert-AreEqual $createdAccount.Encryption.KeyVaultProperties.KeyVaultUri "https://pltfrmscrts-use-pc-dev.vault.azure.net/"
1039+
}
1040+
finally
1041+
{
1042+
# Cleanup
1043+
Clean-ResourceGroup $rgname
1044+
}
1045+
1046+
1047+
try
1048+
{
1049+
# Test
1050+
$accountname = 'csa' + $rgname;
1051+
$skuname = 'E0';
1052+
$accounttype = 'Face';
1053+
$loc = "Central US EUAP";
1054+
1055+
New-AzResourceGroup -Name $rgname -Location $loc;
1056+
$createdAccount = New-AzCognitiveServicesAccount -ResourceGroupName $rgname -Name $accountname -Type $accounttype -SkuName $skuname -Location $loc -CustomSubdomainName $accountname -AssignIdentity -Force;
1057+
Assert-NotNull $createdAccount;
1058+
Assert-AreEqual $createdAccount.Identity.Type "SystemAssigned"
1059+
1060+
$updatedAccount = Set-AzCognitiveServicesAccount -ResourceGroupName $rgname -Name $accountname -KeyVaultEncryption -KeyName "FakeKeyName" -KeyVersion "891CF236-D241-4738-9462-D506AF493DFA" -KeyVaultUri "https://pltfrmscrts-use-pc-dev.vault.azure.net/"
1061+
Assert-NotNull $updatedAccount;
1062+
Assert-AreEqual $updatedAccount.Encryption.KeySource "Microsoft.KeyVault"
1063+
Assert-AreEqual $updatedAccount.Encryption.KeyVaultProperties.KeyName "FakeKeyName"
1064+
Assert-AreEqual $updatedAccount.Encryption.KeyVaultProperties.KeyVersion "891CF236-D241-4738-9462-D506AF493DFA"
1065+
Assert-AreEqual $updatedAccount.Encryption.KeyVaultProperties.KeyVaultUri "https://pltfrmscrts-use-pc-dev.vault.azure.net/"
1066+
}
1067+
finally
1068+
{
1069+
# Cleanup
1070+
Clean-ResourceGroup $rgname
1071+
}
1072+
}
1073+
1074+
<#
1075+
.SYNOPSIS
1076+
Test UserOwnedStorage
1077+
#>
1078+
function Test-UserOwnedStorage
1079+
{
1080+
# Setup
1081+
$rgname = Get-CognitiveServicesManagementTestResourceName;
1082+
1083+
try
1084+
{
1085+
# Test
1086+
$accountname = 'csa' + $rgname;
1087+
$skuname = 'S0';
1088+
$accounttype = 'SpeechServices';
1089+
$loc = "Central US EUAP";
1090+
1091+
New-AzResourceGroup -Name $rgname -Location $loc;
1092+
$createdAccount = New-AzCognitiveServicesAccount -ResourceGroupName $rgname -Name $accountname -Type $accounttype -SkuName $skuname -Location $loc -CustomSubdomainName $accountname -AssignIdentity -StorageAccountId @("/subscriptions/f9b96b36-1f5e-4021-8959-51527e26e6d3/resourceGroups/felixwa-01/providers/Microsoft.Storage/storageAccounts/felixwatest") -Force;
1093+
Assert-NotNull $createdAccount;
1094+
Assert-AreEqual $createdAccount.Identity.Type "SystemAssigned"
1095+
Assert-AreEqual $createdAccount.UserOwnedStorage.Length 1
1096+
Assert-AreEqual $createdAccount.UserOwnedStorage[0].ResourceId "/subscriptions/f9b96b36-1f5e-4021-8959-51527e26e6d3/resourceGroups/felixwa-01/providers/Microsoft.Storage/storageAccounts/felixwatest"
1097+
}
1098+
finally
1099+
{
1100+
# Cleanup
1101+
Clean-ResourceGroup $rgname
1102+
}
1103+
1104+
try
1105+
{
1106+
# Test
1107+
$accountname = 'csa' + $rgname;
1108+
$skuname = 'S0';
1109+
$accounttype = 'SpeechServices';
1110+
$loc = "Central US EUAP";
1111+
1112+
New-AzResourceGroup -Name $rgname -Location $loc;
1113+
$createdAccount = New-AzCognitiveServicesAccount -ResourceGroupName $rgname -Name $accountname -Type $accounttype -SkuName $skuname -Location $loc -CustomSubdomainName $accountname -AssignIdentity -Force;
1114+
Assert-NotNull $createdAccount;
1115+
1116+
1117+
$updatedAccount = Set-AzCognitiveServicesAccount -ResourceGroupName $rgname -Name $accountname -StorageAccountId @("/subscriptions/f9b96b36-1f5e-4021-8959-51527e26e6d3/resourceGroups/felixwa-01/providers/Microsoft.Storage/storageAccounts/felixwatest")
1118+
Assert-NotNull $updatedAccount;
1119+
Assert-AreEqual $updatedAccount.UserOwnedStorage.Length 1
1120+
Assert-AreEqual $updatedAccount.UserOwnedStorage[0].ResourceId "/subscriptions/f9b96b36-1f5e-4021-8959-51527e26e6d3/resourceGroups/felixwa-01/providers/Microsoft.Storage/storageAccounts/felixwatest"
1121+
}
1122+
finally
1123+
{
1124+
# Cleanup
1125+
Clean-ResourceGroup $rgname
1126+
}
8721127
}

0 commit comments

Comments
 (0)