Skip to content

Commit ed5cbe5

Browse files
committed
regenerate test mocks for powershell, use get methods
1 parent 7e888de commit ed5cbe5

File tree

8 files changed

+4112
-578
lines changed

8 files changed

+4112
-578
lines changed

src/ResourceManager/Sql/Commands.Sql.Test/ScenarioTests/DatabaseBackupTests.ps1

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -72,13 +72,12 @@ function Test-RestoreDeletedDatabaseBackup
7272
# Setup
7373
$location = "Southeast Asia"
7474
$serverVersion = "12.0"
75-
$rg = Get-AzureRmResourceGroup -ResourceGroupName hchung-test
76-
$server = Get-AzureRmSqlServer -ServerName hchung-testsvr -ResourceGroupName $rg.ResourceGroupName
77-
$droppedDbName = "powershell_db_restored"
75+
$rg = Get-AzureRmResourceGroup -ResourceGroupName hchung-test2
76+
$server = Get-AzureRmSqlServer -ServerName hchung-testsvr2 -ResourceGroupName $rg.ResourceGroupName
77+
$droppedDbName = "powershell_db_georestored"
7878
$restoredDbName = "powershell_db_deleted"
79-
Remove-AzureRmSqlDatabase -ResourceGroupName $rg.ResourceGroupName -ServerName $server.ServerName -DatabaseName $droppedDbName -Force
8079

81-
Get-AzureRmSqlDeletedDatabaseBackup -ResourceGroupName $server.ResourceGroupName -ServerName $server.ServerName -DatabaseName $droppedDbName | Restore-AzureRmSqlDatabase -FromDeletedDatabaseBackup -TargetDatabaseName $restoredDbName
80+
Get-AzureRmSqlDeletedDatabaseBackup -ResourceGroupName $server.ResourceGroupName -ServerName $server.ServerName -DatabaseName $droppedDbName -DeletionDate "2016-02-23T00:21:22.847Z" | Restore-AzureRmSqlDatabase -FromDeletedDatabaseBackup -TargetDatabaseName $restoredDbName
8281
}
8382

8483
function Test-RestorePointInTimeBackup

src/ResourceManager/Sql/Commands.Sql.Test/SessionRecords/Microsoft.Azure.Commands.Sql.Test.ScenarioTests.DatabaseBackupTests/TestRestoreDeletedDatabaseBackup.json

Lines changed: 1947 additions & 150 deletions
Large diffs are not rendered by default.

src/ResourceManager/Sql/Commands.Sql.Test/SessionRecords/Microsoft.Azure.Commands.Sql.Test.ScenarioTests.DatabaseBackupTests/TestRestoreGeoBackup.json

Lines changed: 2053 additions & 415 deletions
Large diffs are not rendered by default.

src/ResourceManager/Sql/Commands.Sql/Database Backup/Cmdlet/AzureSqlDeletedDatabaseBackupCmdletBase.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ public abstract class AzureSqlDeletedDatabaseBackupCmdletBase
5252
[Parameter(Mandatory = false,
5353
ValueFromPipelineByPropertyName = true,
5454
Position = 3,
55-
HelpMessage = "The deletion date of the Azure SQL Database to retrieve backups for.")]
55+
HelpMessage = "The deletion date of the Azure SQL Database to retrieve backups for, with millisecond precision (e.g. 2016-02-23T00:21:22.847Z)")]
5656
[ValidateNotNullOrEmpty]
5757
public DateTime? DeletionDate { get; set; }
5858

src/ResourceManager/Sql/Commands.Sql/Database Backup/Cmdlet/GetAzureRMSqlDatabaseGeoBackup.cs

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,19 @@ public class GetAzureRMSqlDatabaseGeoBackup : AzureSqlDatabaseGeoBackupCmdletBas
3030
/// <returns>The list of entities</returns>
3131
protected override IEnumerable<AzureSqlDatabaseGeoBackupModel> GetEntity()
3232
{
33-
return ModelAdapter.ListGeoBackups(this.ResourceGroupName, this.ServerName).Where(gb => (string.IsNullOrEmpty(DatabaseName) || gb.DatabaseName == DatabaseName));
33+
ICollection<AzureSqlDatabaseGeoBackupModel> results;
34+
35+
if (MyInvocation.BoundParameters.ContainsKey("DatabaseName"))
36+
{
37+
results = new List<AzureSqlDatabaseGeoBackupModel>();
38+
results.Add(ModelAdapter.GetGeoBackup(this.ResourceGroupName, this.ServerName, this.DatabaseName));
39+
}
40+
else
41+
{
42+
results = ModelAdapter.ListGeoBackups(this.ResourceGroupName, this.ServerName);
43+
}
44+
45+
return results;
3446
}
3547

3648
/// <summary>

src/ResourceManager/Sql/Commands.Sql/Database Backup/Cmdlet/GetAzureRMSqlDeletedDatabaseBackup.cs

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,27 @@ public class GetAzureRMSqlDeletedDatabaseBackup : AzureSqlDeletedDatabaseBackupC
3030
/// <returns>The list of entities</returns>
3131
protected override IEnumerable<AzureSqlDeletedDatabaseBackupModel> GetEntity()
3232
{
33-
return ModelAdapter.ListDeletedDatabaseBackups(this.ResourceGroupName, this.ServerName).Where(backup => (string.IsNullOrEmpty(DatabaseName) || backup.DatabaseName == DatabaseName) && (DeletionDate == null || backup.DeletionDate == DeletionDate));
33+
ICollection<AzureSqlDeletedDatabaseBackupModel> results;
34+
35+
if (MyInvocation.BoundParameters.ContainsKey("DatabaseName"))
36+
{
37+
if (MyInvocation.BoundParameters.ContainsKey("DeletionDate"))
38+
{
39+
results = new List<AzureSqlDeletedDatabaseBackupModel>();
40+
// The server expects a deleted database entity ID that consists of the database name and deletion time as a windows file time separated by a comma.
41+
results.Add(ModelAdapter.GetDeletedDatabaseBackup(this.ResourceGroupName, this.ServerName, this.DatabaseName + "," + this.DeletionDate.Value.ToFileTimeUtc().ToString()));
42+
}
43+
else
44+
{
45+
results = ModelAdapter.ListDeletedDatabaseBackups(this.ResourceGroupName, this.ServerName).Where(backup => backup.DatabaseName == DatabaseName).ToList();
46+
}
47+
}
48+
else
49+
{
50+
results = ModelAdapter.ListDeletedDatabaseBackups(this.ResourceGroupName, this.ServerName);
51+
}
52+
53+
return results;
3454
}
3555

3656
/// <summary>

src/ResourceManager/Sql/Commands.Sql/Database Backup/Services/AzureSqlDatabaseBackupAdapter.cs

Lines changed: 49 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ internal IEnumerable<AzureSqlDatabaseRestorePointModel> ListRestorePoints(string
9494
/// <param name="resourceGroup">The name of the resource group</param>
9595
/// <param name="serverName">The name of the Azure SQL Server</param>
9696
/// <returns>List of geo backups</returns>
97-
internal IEnumerable<AzureSqlDatabaseGeoBackupModel> ListGeoBackups(string resourceGroup, string serverName)
97+
internal ICollection<AzureSqlDatabaseGeoBackupModel> ListGeoBackups(string resourceGroup, string serverName)
9898
{
9999
var resp = Communicator.ListGeoBackups(resourceGroup, serverName, Util.GenerateTracingId());
100100
return resp.Select((geoBackup) =>
@@ -117,7 +117,7 @@ internal IEnumerable<AzureSqlDatabaseGeoBackupModel> ListGeoBackups(string resou
117117
/// <param name="resourceGroup">The name of the resource group</param>
118118
/// <param name="serverName">The name of the Azure SQL Server</param>
119119
/// <returns>List of restorable deleted databases</returns>
120-
internal IEnumerable<AzureSqlDeletedDatabaseBackupModel> ListDeletedDatabaseBackups(string resourceGroup, string serverName)
120+
internal ICollection<AzureSqlDeletedDatabaseBackupModel> ListDeletedDatabaseBackups(string resourceGroup, string serverName)
121121
{
122122
var resp = Communicator.ListDeletedDatabaseBackups(resourceGroup, serverName, Util.GenerateTracingId());
123123
return resp.Select((deletedDatabaseBackup) =>
@@ -139,6 +139,53 @@ internal IEnumerable<AzureSqlDeletedDatabaseBackupModel> ListDeletedDatabaseBack
139139
}).ToList();
140140
}
141141

142+
/// <summary>
143+
/// Get a recoverable databases (geo backup) for a given Sql Azure Database.
144+
/// </summary>
145+
/// <param name="resourceGroup">The name of the resource group</param>
146+
/// <param name="serverName">The name of the Azure SQL Server</param>
147+
/// <param name="databaseName">The name of the Azure SQL Database</param>
148+
/// <returns>List of geo backups</returns>
149+
internal AzureSqlDatabaseGeoBackupModel GetGeoBackup(string resourceGroup, string serverName, string databaseName)
150+
{
151+
var geoBackup = Communicator.GetGeoBackup(resourceGroup, serverName, databaseName, Util.GenerateTracingId());
152+
return new AzureSqlDatabaseGeoBackupModel()
153+
{
154+
ResourceGroupName = resourceGroup,
155+
DatabaseName = geoBackup.Name,
156+
ServerName = serverName,
157+
ResourceId = geoBackup.Id,
158+
Edition = geoBackup.Properties.Edition,
159+
LastAvailableBackupDate = geoBackup.Properties.LastAvailableBackupDate
160+
};
161+
}
162+
163+
/// <summary>
164+
/// Get a restorable deleted databases for a given Sql Azure Database.
165+
/// </summary>
166+
/// <param name="resourceGroup">The name of the resource group</param>
167+
/// <param name="serverName">The name of the Azure SQL Server</param>
168+
/// <param name="databaseName">The name of the Azure SQL Database</param>
169+
/// <returns>List of restorable deleted databases</returns>
170+
internal AzureSqlDeletedDatabaseBackupModel GetDeletedDatabaseBackup(string resourceGroup, string serverName, string databaseName)
171+
{
172+
var deletedDatabaseBackup = Communicator.GetDeletedDatabaseBackup(resourceGroup, serverName, databaseName, Util.GenerateTracingId());
173+
return new AzureSqlDeletedDatabaseBackupModel()
174+
{
175+
ResourceGroupName = resourceGroup,
176+
ServerName = serverName,
177+
DatabaseName = deletedDatabaseBackup.Properties.DatabaseName,
178+
Edition = deletedDatabaseBackup.Properties.Edition,
179+
MaxSizeBytes = deletedDatabaseBackup.Properties.MaxSizeBytes,
180+
ServiceLevelObjective = deletedDatabaseBackup.Properties.ServiceLevelObjective,
181+
ElasticPoolName = deletedDatabaseBackup.Properties.ElasticPoolName,
182+
CreationDate = deletedDatabaseBackup.Properties.CreationDate,
183+
DeletionDate = deletedDatabaseBackup.Properties.DeletionDate,
184+
RecoveryPeriodStartDate = deletedDatabaseBackup.Properties.EarliestRestoreDate,
185+
ResourceId = deletedDatabaseBackup.Id
186+
};
187+
}
188+
142189
/// <summary>
143190
/// Restore a given Sql Azure Database
144191
/// </summary>

src/ResourceManager/Sql/Commands.Sql/Database Backup/Services/AzureSqlDatabaseBackupCommunicator.cs

Lines changed: 24 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,6 @@ public AzureSqlDatabaseBackupCommunicator(AzureContext context)
7777
/// </summary>
7878
/// <param name="resourceGroup">The name of the resource group</param>
7979
/// <param name="serverName">The name of the Azure SQL Server</param>
80-
/// <param name="databaseName">The name of the Azure SQL database</param>
8180
/// <returns>List of restore points</returns>
8281
public IList<Management.Sql.Models.GeoBackup> ListGeoBackups(string resourceGroupName, string serverName, string clientRequestId)
8382
{
@@ -89,14 +88,36 @@ public AzureSqlDatabaseBackupCommunicator(AzureContext context)
8988
/// </summary>
9089
/// <param name="resourceGroup">The name of the resource group</param>
9190
/// <param name="serverName">The name of the Azure SQL Server</param>
92-
/// <param name="databaseName">The name of the Azure SQL database</param>
93-
/// <param name="deletionDate">The date the database was dropped</param>
9491
/// <returns>List of restore points</returns>
9592
public IList<Management.Sql.Models.DeletedDatabaseBackup> ListDeletedDatabaseBackups(string resourceGroupName, string serverName, string clientRequestId)
9693
{
9794
return GetCurrentSqlClient(clientRequestId).DatabaseBackup.ListDeletedDatabaseBackups(resourceGroupName, serverName).DeletedDatabaseBackups;
9895
}
9996

97+
/// <summary>
98+
/// Get a geo backup for a given Sql Azure Database
99+
/// </summary>
100+
/// <param name="resourceGroup">The name of the resource group</param>
101+
/// <param name="serverName">The name of the Azure SQL Server</param>
102+
/// <param name="databaseName">The name of the Azure SQL database</param>
103+
/// <returns>List of restore points</returns>
104+
public Management.Sql.Models.GeoBackup GetGeoBackup(string resourceGroupName, string serverName, string databaseName, string clientRequestId)
105+
{
106+
return GetCurrentSqlClient(clientRequestId).DatabaseBackup.GetGeoBackup(resourceGroupName, serverName, databaseName).GeoBackup;
107+
}
108+
109+
/// <summary>
110+
/// Get a restorable deleted database for a given Sql Azure Database
111+
/// </summary>
112+
/// <param name="resourceGroup">The name of the resource group</param>
113+
/// <param name="serverName">The name of the Azure SQL Server</param>
114+
/// <param name="databaseName">The name of the Azure SQL database</param>
115+
/// <returns>List of restore points</returns>
116+
public Management.Sql.Models.DeletedDatabaseBackup GetDeletedDatabaseBackup(string resourceGroupName, string serverName, string databaseName, string clientRequestId)
117+
{
118+
return GetCurrentSqlClient(clientRequestId).DatabaseBackup.GetDeletedDatabaseBackup(resourceGroupName, serverName, databaseName).DeletedDatabaseBackup;
119+
}
120+
100121
/// <summary>
101122
/// Restore a given Sql Azure Database
102123
/// </summary>

0 commit comments

Comments
 (0)