22using Microsoft . Azure . Management . ResourceManager . Models ;
33using Microsoft . Azure . Management . Sql ;
44using Microsoft . Azure . Management . Sql . Models ;
5- using Microsoft . Azure . Management . Network . Models ;
65using Microsoft . Azure . Test . HttpRecorder ;
7- using Sku = Microsoft . Azure . Management . Sql . Models . Sku ;
86using System ;
97using System . Collections . Generic ;
108using System . Linq ;
119using System . Threading ;
1210using Xunit ;
13- using Microsoft . Rest ;
14- using System . Net ;
11+ using Microsoft . Azure . Management . Storage ;
12+ using Microsoft . WindowsAzure . Storage . Blob ;
13+ using Microsoft . Azure . Management . Storage . Models ;
1514
1615namespace Sql . Tests
1716{
@@ -26,7 +25,7 @@ public void ShortTermRetentionOnLiveDatabase()
2625 {
2726 SqlManagementClient sqlClient = Context . GetClient < SqlManagementClient > ( ) ;
2827 ResourceGroup resourceGroup = Context . CreateResourceGroup ( ) ;
29- ManagedInstance managedInstance = CreateManagedInstance ( Context , sqlClient , resourceGroup , "ShortTermRetentionOnLiveDatabase" ) ;
28+ ManagedInstance managedInstance = Context . CreateManagedInstance ( resourceGroup ) ;
3029
3130 // Create managed database
3231 //
@@ -38,7 +37,7 @@ public void ShortTermRetentionOnLiveDatabase()
3837 Assert . NotNull ( db1 ) ;
3938
4039 int basicRetention = 7 ;
41- int invalidValue = 3 ;
40+ int smallValue = 3 ;
4241 int validValue = 20 ;
4342
4443 // Attempt to increase retention period to 7 days and verfiy that the operation succeeded.
@@ -48,12 +47,12 @@ public void ShortTermRetentionOnLiveDatabase()
4847 ManagedBackupShortTermRetentionPolicy policy = sqlClient . ManagedBackupShortTermRetentionPolicies . Get ( resourceGroup . Name , managedInstance . Name , dbName ) ;
4948 Assert . Equal ( basicRetention , policy . RetentionDays ) ;
5049
51- // Attempt to increase retention period to 3 days and verfiy that the operation fails .
52- ManagedBackupShortTermRetentionPolicy parameters1 = new ManagedBackupShortTermRetentionPolicy ( retentionDays : invalidValue ) ;
50+ // Attempt to decrease retention period to 3 days and verfiy that the operation succeeded .
51+ ManagedBackupShortTermRetentionPolicy parameters1 = new ManagedBackupShortTermRetentionPolicy ( retentionDays : smallValue ) ;
5352 sqlClient . ManagedBackupShortTermRetentionPolicies . CreateOrUpdateWithHttpMessagesAsync ( resourceGroup . Name , managedInstance . Name , dbName , parameters1 ) ;
5453 Microsoft . Rest . ClientRuntime . Azure . TestFramework . TestUtilities . Wait ( TimeSpan . FromSeconds ( 3 ) ) ;
5554 policy = sqlClient . ManagedBackupShortTermRetentionPolicies . Get ( resourceGroup . Name , managedInstance . Name , dbName ) ;
56- Assert . Equal ( basicRetention , policy . RetentionDays ) ;
55+ Assert . Equal ( smallValue , policy . RetentionDays ) ;
5756
5857 // Attempt to increase retention period to 20 days and verfiy that the operation succeeded .
5958 ManagedBackupShortTermRetentionPolicy parameters2 = new ManagedBackupShortTermRetentionPolicy ( retentionDays : validValue ) ;
@@ -71,7 +70,7 @@ public void ShortTermRetentionOnDroppedDatabase()
7170 {
7271 SqlManagementClient sqlClient = Context . GetClient < SqlManagementClient > ( ) ;
7372 ResourceGroup resourceGroup = Context . CreateResourceGroup ( ) ;
74- ManagedInstance managedInstance = CreateManagedInstance ( Context , sqlClient , resourceGroup , "ShortTermRetentionOnDroppedDatabase" ) ;
73+ ManagedInstance managedInstance = Context . CreateManagedInstance ( resourceGroup ) ;
7574
7675 // Create managed database
7776 //
@@ -158,7 +157,7 @@ public void RestorableDroppedManagedDatabasesTests()
158157 {
159158 SqlManagementClient sqlClient = Context . GetClient < SqlManagementClient > ( ) ;
160159 ResourceGroup resourceGroup = Context . CreateResourceGroup ( ) ;
161- ManagedInstance managedInstance = CreateManagedInstance ( Context , sqlClient , resourceGroup , "RestorableDroppedManagedDatabasesTests" ) ;
160+ ManagedInstance managedInstance = Context . CreateManagedInstance ( resourceGroup ) ;
162161
163162 // Create managed database
164163 //
@@ -270,11 +269,31 @@ public void ManagedDatabaseExternalBackupRestoreTest()
270269 using ( SqlManagementTestContext Context = new SqlManagementTestContext ( this ) )
271270 {
272271 SqlManagementClient sqlClient = Context . GetClient < SqlManagementClient > ( ) ;
273- ResourceGroup resourceGroup = Context . CreateResourceGroup ( ) ;
274- ManagedInstance managedInstance = CreateManagedInstance ( Context , sqlClient , resourceGroup ) ;
272+ StorageManagementClient storageClient = Context . GetClient < StorageManagementClient > ( ) ;
273+ const string AccountName = "backupscxteam" ;
274+
275+ string testStorageContainerUri = "https://backupscxteam.blob.core.windows.net/clients" ;
276+ string testStorageContainerSasToken = string . Empty ;
277+ StorageAccountListKeysResult keys =
278+ storageClient . StorageAccounts . ListKeys ( ManagedInstanceTestUtilities . ResourceGroupName , AccountName ) ;
279+ string key = keys . Keys . First ( ) . Value ;
275280
276- string testStorageContainerUri = "https://misosictest1.blob.core.windows.net/striped-inc" ;
277- string testStorageContainerSasToken = "?sv=2018-03-28&ss=bfqt&srt=co&sp=rl&se=2021-10-07T20:57:18Z&st=2019-10-07T12:57:18Z&spr=https&sig=wUFmxnyiCglm9U9%2B3VaPW0YlXFpvn%2BkGc%2B5wesmwWuU%3D" ;
281+ if ( HttpMockServer . Mode == HttpRecorderMode . Record )
282+ {
283+
284+ CloudBlobContainer container = new CloudBlobContainer (
285+ new Uri ( testStorageContainerUri ) ,
286+ new Microsoft . WindowsAzure . Storage . Auth . StorageCredentials ( AccountName , key ) ) ;
287+ SharedAccessBlobPolicy sharedAccessPolicy = new SharedAccessBlobPolicy
288+ {
289+ SharedAccessExpiryTime = new DateTimeOffset ( DateTime . UtcNow . Add ( TimeSpan . FromHours ( 1 ) ) ) ,
290+ Permissions = SharedAccessBlobPermissions . Read | SharedAccessBlobPermissions . List
291+ } ;
292+ testStorageContainerSasToken = container . GetSharedAccessSignature ( sharedAccessPolicy ) ;
293+ }
294+
295+ ResourceGroup resourceGroup = Context . CreateResourceGroup ( ) ;
296+ ManagedInstance managedInstance = Context . CreateManagedInstance ( resourceGroup ) ;
278297 string databaseName = SqlManagementTestUtilities . GenerateName ( _testPrefix ) ;
279298
280299 // Start external backup restore.
@@ -333,7 +352,7 @@ public void ManagedDatabaseExternalBackupRestoreTest()
333352 // No need to sleep if we are playing back the recording.
334353 if ( HttpMockServer . Mode == HttpRecorderMode . Record )
335354 {
336- Thread . Sleep ( TimeSpan . FromSeconds ( 30 ) ) ;
355+ Thread . Sleep ( TimeSpan . FromSeconds ( 60 ) ) ;
337356 }
338357
339358 return false ;
@@ -373,28 +392,6 @@ public void ManagedDatabaseExternalBackupRestoreTest()
373392
374393 private const string _testPrefix = "manageddatabaserestorescenariotest-" ;
375394
376- private ManagedInstance CreateManagedInstance ( SqlManagementTestContext context , SqlManagementClient sqlClient , ResourceGroup resourceGroup , string callingMethodName = "CreateManagedInstance" )
377- {
378- // Create vnet and get the subnet id
379- VirtualNetwork vnet = ManagedInstanceTestFixture . CreateVirtualNetwork ( context , resourceGroup , TestEnvironmentUtilities . DefaultLocationId ) ;
380-
381- Sku sku = new Sku ( ) ;
382- sku . Name = "MIGP8G4" ;
383- sku . Tier = "GeneralPurpose" ;
384- ManagedInstance managedInstance = sqlClient . ManagedInstances . CreateOrUpdate ( resourceGroup . Name ,
385- _testPrefix + SqlManagementTestUtilities . GenerateName ( methodName : callingMethodName ) , new ManagedInstance ( )
386- {
387- AdministratorLogin = SqlManagementTestUtilities . DefaultLogin ,
388- AdministratorLoginPassword = SqlManagementTestUtilities . DefaultPassword ,
389- Sku = sku ,
390- SubnetId = vnet . Subnets [ 0 ] . Id ,
391- Tags = new Dictionary < string , string > ( ) ,
392- Location = TestEnvironmentUtilities . DefaultLocationId ,
393- } ) ;
394-
395- return managedInstance ;
396- }
397-
398395 private void RetryAction ( Func < bool > action , int timeoutInMin = 15 )
399396 {
400397 DateTime startTime = DateTime . UtcNow ;
0 commit comments