Skip to content

Commit 36e7d61

Browse files
authored
Merge branch 'release-2020-03-10' into wyunchi/bugfix/network-changelog
2 parents 870cd91 + ec2a9a6 commit 36e7d61

File tree

67 files changed

+10249
-364
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

67 files changed

+10249
-364
lines changed

src/Network/Network/Network.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
<ItemGroup>
1515
<PackageReference Include="AutoMapper" Version="6.2.2" />
1616
<PackageReference Include="Microsoft.Azure.Management.Network" Version="19.18.0-preview" />
17-
<PackageReference Include="Microsoft.Azure.Management.Sql" Version="1.38.0-preview" />
17+
<PackageReference Include="Microsoft.Azure.Management.Sql" Version="1.40.0-preview" />
1818
</ItemGroup>
1919

2020
<ItemGroup>

src/Sql/Sql.Test/ScenarioTests/AdvancedDataSecurityManagedInstanceTests.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,8 @@ protected override void SetupManagementClients(RestTestFramework.MockContext con
3434
public AdvancedDataSecurityManagedInstanceTests(ITestOutputHelper output) : base(output)
3535
{
3636
base.resourceTypesToIgnoreApiVersion = new string[] {
37-
"Microsoft.Sql/managedInstances"
37+
"Microsoft.Sql/managedInstances",
38+
"Microsoft.Sql/managedInstances/databases"
3839
};
3940
}
4041

src/Sql/Sql.Test/ScenarioTests/DataClassificationTests.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,8 @@ public DataClassificationTests(ITestOutputHelper output) : base(output)
2525
{
2626
base.resourceTypesToIgnoreApiVersion = new string[] {
2727
"Microsoft.Sql/managedInstances",
28-
"Microsoft.Sql/servers"
28+
"Microsoft.Sql/servers",
29+
"Microsoft.Sql/managedInstances/databases"
2930
};
3031
}
3132

src/Sql/Sql.Test/ScenarioTests/DataSyncTests.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,8 @@ public DataSyncTests(ITestOutputHelper output) : base(output)
2727
XunitTracingInterceptor.AddToContext(new XunitTracingInterceptor(output));
2828

2929
base.resourceTypesToIgnoreApiVersion = new string[] {
30-
"Microsoft.Sql/servers"
30+
"Microsoft.Sql/servers",
31+
"Microsoft.Sql/managedInstances/databases"
3132
};
3233
}
3334

@@ -134,6 +135,6 @@ public void TestSyncMemberSchemaRefreshAndGet()
134135
public void TestSyncMemberRemove()
135136
{
136137
RunPowerShellTest("Test-RemoveSyncMember");
137-
}
138+
}
138139
}
139140
}

src/Sql/Sql.Test/ScenarioTests/ManagedDatabaseBackupTests.cs

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,8 @@ protected override void SetupManagementClients(RestTestFramework.MockContext con
3434
public ManagedDatabaseBackupTests(ITestOutputHelper output) : base(output)
3535
{
3636
base.resourceTypesToIgnoreApiVersion = new string[] {
37-
"Microsoft.Sql/managedInstances"
37+
"Microsoft.Sql/managedInstances",
38+
"Microsoft.Sql/managedInstances/databases"
3839
};
3940
}
4041

@@ -51,5 +52,26 @@ public void ManagedDeletedDatabaseShortTermRetentionPolicy()
5152
{
5253
RunPowerShellTest("Test-ManagedDeletedDatabaseShortTermRetentionPolicy");
5354
}
55+
56+
[Fact]
57+
[Trait(Category.AcceptanceType, Category.CheckIn)]
58+
public void TestManagedInstanceLongTermRetentionPolicy()
59+
{
60+
RunPowerShellTest("Test-ManagedInstanceLongTermRetentionPolicy");
61+
}
62+
63+
[Fact]
64+
[Trait(Category.AcceptanceType, Category.CheckIn)]
65+
public void TestManagedInstanceLongTermRetentionBackup()
66+
{
67+
RunPowerShellTest("Test-ManagedInstanceLongTermRetentionBackup");
68+
}
69+
70+
[Fact]
71+
[Trait(Category.AcceptanceType, Category.CheckIn)]
72+
public void TestManagedInstanceLongTermRetentionResourceGroupBasedBackup()
73+
{
74+
RunPowerShellTest("Test-ManagedInstanceLongTermRetentionResourceGroupBasedBackup");
75+
}
5476
}
5577
}

src/Sql/Sql.Test/ScenarioTests/ManagedDatabaseBackupTests.ps1

Lines changed: 147 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ function Test-ManagedLiveDatabaseShortTermRetentionPolicy
2323
$vnetName = "cl_initial"
2424
$subnetName = "Cool"
2525

26-
# Setup VNET
26+
# Setup VNET
2727
$virtualNetwork1 = CreateAndGetVirtualNetworkForManagedInstance $vnetName $subnetName $rg.Location
2828
$subnetId = $virtualNetwork1.Subnets.where({ $_.Name -eq $subnetName })[0].Id
2929

@@ -88,14 +88,18 @@ function Test-ManagedLiveDatabaseShortTermRetentionPolicy
8888
}
8989
}
9090

91+
<#
92+
.SYNOPSIS
93+
Test LTR Policy functions for MI
94+
#>
9195
function Test-ManagedDeletedDatabaseShortTermRetentionPolicy
9296
{
9397
# Setup
9498
$rg = Create-ResourceGroupForTest
9599
$vnetName = "cl_initial"
96100
$subnetName = "Cool"
97101

98-
# Setup VNET
102+
# Setup VNET
99103
$virtualNetwork1 = CreateAndGetVirtualNetworkForManagedInstance $vnetName $subnetName $rg.Location
100104
$subnetId = $virtualNetwork1.Subnets.where({ $_.Name -eq $subnetName })[0].Id
101105

@@ -130,7 +134,7 @@ function Test-ManagedDeletedDatabaseShortTermRetentionPolicy
130134
Remove-AzSqlInstanceDatabase -ResourceGroupName $rg.ResourceGroupName -InstanceName $managedInstance.ManagedInstanceName -Name $managedDatabaseName -Force
131135

132136
# Get deleted database
133-
$deletedDatabases = Get-AzSqlDeletedInstanceDatabaseBackup -ResourceGroupName $rg.ResourceGroupName -InstanceName $managedInstance.ManagedInstanceName -DatabaseName $managedDatabaseName
137+
$deletedDatabases = Get-AzSqlDeletedInstanceDatabaseBackup -ResourceGroupName $rg.ResourceGroupName -InstanceName $managedInstance.ManagedInstanceName -DatabaseName $managedDatabaseName
134138

135139
# Set retention to 29, test default parameter providing.
136140
$retention = 29
@@ -173,4 +177,143 @@ function Test-ManagedDeletedDatabaseShortTermRetentionPolicy
173177
{
174178
Remove-ResourceGroupForTest $rg
175179
}
176-
}
180+
}
181+
<#
182+
.SYNOPSIS
183+
Test long term retention for managed databases.
184+
#>
185+
function Test-ManagedInstanceLongTermRetentionPolicy()
186+
{
187+
# Setup
188+
$resourceGroupName = "cl_stage_sea_cv"
189+
$managedInstanceName = "seageodr-gen5-gp"
190+
$weeklyRetention = "P1W"
191+
$zeroRetention = "PT0S"
192+
193+
try
194+
{
195+
# create test database
196+
$databaseName = "ps-ltr-policy-test-1"
197+
$database = New-AzSqlInstanceDatabase -ResourceGroupName $resourceGroupName -InstanceName $managedInstanceName -Name $databaseName
198+
199+
Set-AzSqlInstanceDatabaseBackupLongTermRetentionPolicy -ResourceGroupName $resourceGroupName -InstanceName $managedInstanceName -DatabaseName $databaseName -WeeklyRetention $weeklyRetention
200+
$policy = Get-AzSqlInstanceDatabaseBackupLongTermRetentionPolicy -ResourceGroup $resourceGroupName -InstanceName $managedInstanceName -DatabaseName $databaseName
201+
Assert-AreEqual $policy.WeeklyRetention $weeklyRetention
202+
Assert-AreEqual $policy.MonthlyRetention $zeroRetention
203+
Assert-AreEqual $policy.YearlyRetention $zeroRetention
204+
}
205+
finally
206+
{
207+
Remove-ResourceGroupForTest $resourceGroup
208+
}
209+
}
210+
211+
<#
212+
.SYNOPSIS
213+
Test long term retention backup commands for managed databases.
214+
#>
215+
function Test-ManagedInstanceLongTermRetentionBackup
216+
{
217+
218+
# MANUAL INSTRUCTIONS
219+
# Create a server and database and fill in the appropriate information below
220+
# Set the weekly retention on the database so that the first backup gets picked up, for example:
221+
# Set-AzSqlInstanceDatabaseBackupLongTermRetentionPolicy -ResourceGroup $resourceGroup -ServerName $serverName -DatabaseName $databaseName -WeeklyRetention P1W
222+
# Wait about 18 hours until it gets properly copied and you see the backup when run get backups, for example:
223+
# Get-AzSqlInstanceDatabaseLongTermRetentionBackup -Location $locationName -InstanceName $managedInstanceName -DatabaeName $databaseName
224+
$resourceGroup = "cl_stage_sea_cv"
225+
$locationName = "southeastasia"
226+
$managedInstanceName = "seageodr-gen5-gp"
227+
$databaseName = "ps-test-1"
228+
$databaseWithRemovableBackup = "ps-test-2";
229+
230+
# Basic Get Tests
231+
$backups = Get-AzSqlInstanceDatabaseLongTermRetentionBackup -Location $locationName
232+
Assert-AreNotEqual $backups.Count 0
233+
$backups = Get-AzSqlInstanceDatabaseLongTermRetentionBackup -Location $locationName -InstanceName $managedInstanceName
234+
Assert-AreNotEqual $backups.Count 0
235+
$backups = Get-AzSqlInstanceDatabaseLongTermRetentionBackup -Location $locationName -InstanceName $managedInstanceName -DatabaseName $databaseName
236+
Assert-AreNotEqual $backups.Count 0
237+
$backups = Get-AzSqlInstanceDatabaseLongTermRetentionBackup -Location $locationName -InstanceName $managedInstanceName -DatabaseName $databaseName -BackupName $backups[0].BackupName
238+
Assert-AreNotEqual $backups.Count 0
239+
240+
# Test Get Optional Parameters
241+
$backups = Get-AzSqlInstanceDatabaseLongTermRetentionBackup -Location $locationName -InstanceName $managedInstanceName -DatabaseName $databaseName -OnlyLatestPerDatabase
242+
Assert-AreNotEqual $backups.Count 0
243+
$backups = Get-AzSqlInstanceDatabaseLongTermRetentionBackup -Location $locationName -InstanceName $managedInstanceName -OnlyLatestPerDatabase -DatabaseState All
244+
Assert-AreNotEqual $backups.Count 0
245+
246+
# Test Get Piping with Optional Parameters
247+
$backups = Get-AzSqlInstanceDatabase -ResourceGroup $resourceGroup -InstanceName $managedInstanceName -Name $databaseName | Get-AzSqlInstanceDatabaseLongTermRetentionBackup -OnlyLatestPerDatabase
248+
Assert-AreNotEqual $backups.Count 0
249+
250+
# Restore Test
251+
$backups = Get-AzSqlInstanceDatabaseLongTermRetentionBackup -Location $locationName
252+
$restoredDatabase = "ps-test-restore-2"
253+
$db = Restore-AzSqlInstanceDatabase -FromLongTermRetentionBackup -ResourceId $backups[0].ResourceId -TargetResourceGroupName $resourceGroup -TargetInstanceName $managedInstanceName -TargetInstanceDatabaseName $restoredDatabase
254+
Assert-AreEqual $db.Name $restoredDatabase
255+
256+
# Test Remove Backup
257+
$backups = Get-AzSqlInstanceDatabaseLongTermRetentionBackup -Location $locationName -InstanceName $managedInstanceName -DatabaseName $databaseWithRemovableBackup
258+
$initialBackups = $backups.Count
259+
Remove-AzSqlInstanceDatabaseLongTermRetentionBackup -Location $locationName -InstanceName $managedInstanceName -DatabaseName $databaseWithRemovableBackup -BackupName $backups[0].BackupName -Force
260+
$backups = Get-AzSqlInstanceDatabase -ResourceGroup $resourceGroup -InstanceName $managedInstanceName -Name $databaseWithRemovableBackup | Get-AzSqlInstanceDatabaseLongTermRetentionBackup
261+
$expectedBackups = $initialBackups-1
262+
Assert-AreEqual $expectedBackups $backups.Count
263+
264+
# drop the restored db
265+
Remove-AzSqlInstanceDatabase -ResourceGroupName $resourceGroup -InstanceName $managedInstanceName -Name $restoredDatabase -Force
266+
}
267+
268+
<#
269+
.SYNOPSIS
270+
Test long term retention backup commands for managed databases (using resource group).
271+
#>
272+
function Test-ManagedInstanceLongTermRetentionResourceGroupBasedBackup
273+
{
274+
# MANUAL INSTRUCTIONS
275+
# Create a server and database and fill in the appropriate information below
276+
# Set the weekly retention on the database so that the first backup gets picked up, for example:
277+
# Set-AzSqlInstanceDatabaseBackupLongTermRetentionPolicy -ResourceGroup $resourceGroup -ServerName $serverName -DatabaseName $databaseName -WeeklyRetention P1W
278+
# Wait about 18 hours until it gets properly copied and you see the backup when run get backups, for example:
279+
# Get-AzSqlInstanceDatabaseLongTermRetentionBackup -Location $locationName -ServerName $serverName -DatabaeName $databaseName -ResourceGroupName $resourceGroup
280+
$resourceGroup = "cl_stage_sea_cv"
281+
$locationName = "southeastasia"
282+
$managedInstanceName = "seageodr-gen5-gp"
283+
$databaseName = "ps-test-3"
284+
285+
# Basic Get Tests
286+
$backups = Get-AzSqlInstanceDatabaseLongTermRetentionBackup -Location $locationName -ResourceGroupName $resourceGroup
287+
Assert-AreNotEqual $backups.Count 0
288+
$backups = Get-AzSqlInstanceDatabaseLongTermRetentionBackup -Location $locationName -InstanceName $managedInstanceName -ResourceGroupName $resourceGroup
289+
Assert-AreNotEqual $backups.Count 0
290+
$backups = Get-AzSqlInstanceDatabaseLongTermRetentionBackup -Location $locationName -InstanceName $managedInstanceName -DatabaseName $databaseName -ResourceGroupName $resourceGroup
291+
Assert-AreNotEqual $backups.Count 0
292+
$backups = Get-AzSqlInstanceDatabaseLongTermRetentionBackup -Location $locationName -InstanceName $managedInstanceName -DatabaseName $databaseName -BackupName $backups[0].BackupName -ResourceGroupName $resourceGroup
293+
Assert-AreNotEqual $backups.Count 0
294+
295+
# Test Get Piping
296+
$backups = Get-AzSqlInstanceDatabase -ResourceGroup $resourceGroup -InstanceName $managedInstanceName -Name $databaseName | Get-AzSqlInstanceDatabaseLongTermRetentionBackup
297+
Assert-AreNotEqual $backups.Count 0
298+
$backups = Get-AzSqlInstanceDatabase -ResourceGroup $resourceGroup -InstanceName $managedInstanceName -Name $databaseName | Get-AzSqlInstanceDatabaseLongTermRetentionBackup -BackupName $backups[0].BackupName
299+
Assert-AreNotEqual $backups.Count 0
300+
301+
# Test Get Optional Parameters
302+
$backups = Get-AzSqlInstanceDatabaseLongTermRetentionBackup -Location $locationName -InstanceName $managedInstanceName -DatabaseName $databaseName -ResourceGroupName $resourceGroup -OnlyLatestPerDatabase
303+
$backups = Get-AzSqlInstanceDatabaseLongTermRetentionBackup -Location $locationName -InstanceName $managedInstanceName -ResourceGroupName $resourceGroup -DatabaseState All
304+
Assert-AreNotEqual $backups.Count 0
305+
306+
# Test Get Piping with Optional Parameters
307+
$backups = Get-AzSqlInstanceDatabase -ResourceGroup $resourceGroup -InstanceName $managedInstanceName -Name $databaseName | Get-AzSqlInstanceDatabaseLongTermRetentionBackup -OnlyLatestPerDatabase
308+
Assert-AreNotEqual $backups.Count 0
309+
310+
# Restore Test
311+
$restoredDatabase = "ps-test-restore-with-rg-2"
312+
$backups = Get-AzSqlInstanceDatabaseLongTermRetentionBackup -Location $locationName -ResourceGroupName $resourceGroup
313+
$db = Restore-AzSqlInstanceDatabase -FromLongTermRetentionBackup -ResourceId $backups[0].ResourceId -TargetResourceGroupName $resourceGroup -TargetInstanceName $managedInstanceName -TargetInstanceDatabaseName $restoredDatabase
314+
Assert-AreEqual $db.Name $restoredDatabase
315+
316+
# drop the restored db
317+
Remove-AzSqlInstanceDatabase -ResourceGroupName $resourceGroup -InstanceName $managedInstanceName -Name $restoredDatabase -Force
318+
}
319+

src/Sql/Sql.Test/ScenarioTests/ManagedDatabaseCrudScenarioTests.cs

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,9 @@ protected override void SetupManagementClients(RestTestFramework.MockContext con
3535
public ManagedDatabaseCrudScenarioTests(ITestOutputHelper output) : base(output)
3636
{
3737
base.resourceTypesToIgnoreApiVersion = new string[] {
38-
"Microsoft.Sql/managedInstances"
38+
"Microsoft.Sql/managedInstances",
39+
"Microsoft.Sql/managedInstances/databases",
40+
"Microsoft.Sql/managedInstances/managedDatabases"
3941
};
4042
}
4143

@@ -46,21 +48,21 @@ public void TestCreateManagedDatabase()
4648
RunPowerShellTest("Test-CreateManagedDatabase");
4749
}
4850

49-
[Fact]
51+
[Fact(Skip = "Skip due to bug in ignore api version plus long setup time for managed instance")]
5052
[Trait(Category.AcceptanceType, Category.CheckIn)]
5153
public void TestGetManagedDatabase()
5254
{
5355
RunPowerShellTest("Test-GetManagedDatabase");
5456
}
5557

56-
[Fact]
58+
[Fact(Skip = "Skip due to long setup time for managed instance")]
5759
[Trait(Category.AcceptanceType, Category.CheckIn)]
5860
public void TestRemoveManagedDatabase()
5961
{
6062
RunPowerShellTest("Test-RemoveManagedDatabase");
6163
}
6264

63-
[Fact]
65+
[Fact(Skip = "Skip due to long setup time for managed instance")]
6466
[Trait(Category.AcceptanceType, Category.CheckIn)]
6567
public void TestRestoreManagedDatabase()
6668
{

src/Sql/Sql.Test/ScenarioTests/ManagedInstanceCrudScenarioTests.cs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,5 +70,12 @@ public void TestCreateManagedInstanceWithIdentity()
7070
{
7171
RunPowerShellTest("Test-CreateManagedInstanceWithIdentity");
7272
}
73+
74+
[Fact]
75+
[Trait(Category.AcceptanceType, Category.CheckIn)]
76+
public void TestCreateUpdateManagedInstanceWithMinimalTlsVersion()
77+
{
78+
RunPowerShellTest("Test-CreateUpdateManagedInstanceWithMinimalTlsVersion");
79+
}
7380
}
7481
}

src/Sql/Sql.Test/ScenarioTests/ManagedInstanceCrudScenarioTests.ps1

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ function Test-CreateManagedInstance
3838
$collation = "Serbian_Cyrillic_100_CS_AS"
3939
$timezoneId = "Central Europe Standard Time"
4040
$proxyOverride = "Proxy"
41+
4142
try
4243
{
4344
# Setup VNET
@@ -357,4 +358,52 @@ function Test-CreateManagedInstanceWithIdentity
357358
{
358359
Remove-ResourceGroupForTest $rg
359360
}
361+
}
362+
363+
<#
364+
.SYNOPSIS
365+
Tests creating a managed instance with MinimalTlsVersion
366+
.DESCRIPTION
367+
SmokeTest
368+
#>
369+
function Test-CreateUpdateManagedInstanceWithMinimalTlsVersion
370+
{
371+
# Setup
372+
$location = "eastus2euap"
373+
$rgName = "DejanDuVnetRG"
374+
$subnetId = "/subscriptions/a8c9a924-06c0-4bde-9788-e7b1370969e1/resourceGroups/AndyPG/providers/Microsoft.Network/virtualNetworks/prepare-cl-nimilj/subnets/default"
375+
$managedInstanceName = "ps123"
376+
$version = "12.0"
377+
$credentials = Get-ServerCredential
378+
$licenseType = "BasePrice"
379+
$storageSizeInGB = 128
380+
$vCore = 4
381+
$skuName = "GP_Gen5"
382+
$collation = "Serbian_Cyrillic_100_CS_AS"
383+
$timezoneId = "Central Europe Standard Time"
384+
$proxyOverride = "Proxy"
385+
$tls1_2 = "1.2"
386+
$tls1_1 = "1.1"
387+
388+
try
389+
{
390+
# With SKU name specified
391+
$job = New-AzSqlInstance -ResourceGroupName $rgName -Name $managedInstanceName `
392+
-Location $location -AdministratorCredential $credentials -SubnetId $subnetId `
393+
-LicenseType $licenseType -StorageSizeInGB $storageSizeInGB -Vcore $vCore -SkuName $skuName -Collation $collation `
394+
-TimezoneId $timezoneId -PublicDataEndpointEnabled -ProxyOverride $proxyOverride -MinimalTlsVersion $tls1_2 -AsJob
395+
$job | Wait-Job
396+
$managedInstance1 = $job.Output
397+
398+
Assert-AreEqual $managedInstance1.ManagedInstanceName $managedInstanceName
399+
Assert-AreEqual $managedInstance1.MinimalTlsVersion $tls1_2
400+
401+
$managedInstance2 = Set-AzSqlInstance -MinimalTlsVersion $tls1_1 -ResourceGroupName $rgName -Name "ps123" -Force
402+
403+
Assert-AreEqual $managedInstance2.MinimalTlsVersion $tls1_1
404+
}
405+
finally
406+
{
407+
Remove-AzSqlInstance -ResourceGroupName $rgName -Name $managedInstanceName -Force
408+
}
360409
}

src/Sql/Sql.Test/ScenarioTests/ServerCrudTests.cs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,5 +88,12 @@ public void TestServerUpdateWithPublicNetworkAccess()
8888
{
8989
RunPowerShellTest("Test-UpdateServerWithPublicNetworkAccess");
9090
}
91+
92+
[Fact]
93+
[Trait(Category.AcceptanceType, Category.CheckIn)]
94+
public void CreateandUpdateServerWithMinimalTlsVersion()
95+
{
96+
RunPowerShellTest("Test-CreateandUpdateServerWithMinimalTlsVersion");
97+
}
9198
}
9299
}

0 commit comments

Comments
 (0)