Skip to content

Commit bc80857

Browse files
authored
Mkherani swagger (#356)
* Added start date validation in GetRecoveryPoint and getJob cmdlet
1 parent 486e43a commit bc80857

File tree

6 files changed

+131
-2
lines changed

6 files changed

+131
-2
lines changed

src/ResourceManager/RecoveryServices.Backup/Commands.RecoveryServices.Backup.Models/Properties/Resources.Designer.cs

Lines changed: 19 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/ResourceManager/RecoveryServices.Backup/Commands.RecoveryServices.Backup.Models/Properties/Resources.resx

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -485,4 +485,10 @@ Please contact Microsoft for further assistant.</value>
485485
<data name="GetContainerNameParamDeprecated" xml:space="preserve">
486486
<value>Name parameter will be deprecated. Please use FriendlyName instead for filtering by name.</value>
487487
</data>
488+
<data name="GetRPErrorStartTimeShouldBeLessThanUTCNow" xml:space="preserve">
489+
<value>Start date\time should be less than current UTC date\time</value>
490+
</data>
491+
<data name="JobStartTimeShouldBeLessThanCurrent" xml:space="preserve">
492+
<value>From date should be less than current UTC time</value>
493+
</data>
488494
</root>

src/ResourceManager/RecoveryServices.Backup/Commands.RecoveryServices.Backup.Test/ScenarioTests/IaasVm/ItemTests.ps1

Lines changed: 42 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -247,8 +247,49 @@ function Test-GetAzureVMRecoveryPointsScenario
247247
-RecoveryPointId $recoveryPoint[0].RecoveryPointId -Item $item;
248248

249249
Assert-NotNull $recoveryPointDetail;
250-
251250

251+
#Negative test case
252+
# # StartDate < EndDate
253+
# $failed = 0
254+
# try
255+
# {
256+
# $recoveryPoint = Get-AzureRmRecoveryServicesBackupRecoveryPoint `
257+
# -StartDate $backupEndTime -EndDate $backupStartTime -Item $item
258+
# $failed = 0
259+
# }
260+
# catch
261+
# {
262+
# $failed = 1
263+
# }
264+
# Assert-AreEqual $failed 1
265+
#
266+
# # rangeStart > DateTime.UtcNow
267+
# try
268+
# {
269+
# $backupStartTime = (Get-Date).ToUniversalTime().AddMinutes(30)
270+
# $recoveryPoint = Get-AzureRmRecoveryServicesBackupRecoveryPoint `
271+
# -StartDate $backupStartTime -Item $item
272+
# $failed = 0
273+
# }
274+
# catch
275+
# {
276+
# $failed = 1
277+
# }
278+
# Assert-AreEqual $failed 1
279+
#
280+
# # rangeStart.Kind != DateTimeKind.Utc
281+
# try
282+
# {
283+
# $backupStartTime = (Get-Date).AddDays(-20)
284+
# $recoveryPoint = Get-AzureRmRecoveryServicesBackupRecoveryPoint `
285+
# -StartDate $backupStartTime -Item $item
286+
# $failed = 0
287+
# }
288+
# catch
289+
# {
290+
# $failed = 1
291+
# }
292+
# Assert-AreEqual $failed 1
252293
}
253294

254295
function Test-RestoreAzureVMRItemScenario

src/ResourceManager/RecoveryServices.Backup/Commands.RecoveryServices.Backup.Test/ScenarioTests/IaasVm/JobTests.ps1

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,61 @@ function Test-GetJobsTimeFilter
6565
Assert-AreEqual $job.StartTime.ToUniversalTime().CompareTo($startTime) 1
6666
Assert-AreEqual $endTime.CompareTo($job.StartTime.ToUniversalTime()) 1
6767
}
68+
69+
#Negative test case
70+
# rangeEnd <= rangeStart
71+
[bool] $failed = $false
72+
try
73+
{
74+
$filteredJobs = Get-AzureRmRecoveryServicesBackupJob -From $endTime -To $startTime
75+
$failed = $true
76+
}
77+
catch
78+
{
79+
$failed = $false
80+
}
81+
Assert-True $failed
82+
83+
# rangeStart.Kind != DateTimeKind.Utc
84+
$startTime = (Get-Date).AddDays(-20)
85+
try
86+
{
87+
$filteredJobs = Get-AzureRmRecoveryServicesBackupJob -From $startTime -To $endTime
88+
$failed = $true
89+
}
90+
catch
91+
{
92+
$failed = $false
93+
}
94+
Assert-True $failed
95+
96+
#rangeEnd.Subtract(rangeStart) > TimeSpan.FromDays(30)
97+
$startTime = (Get-Date).ToUniversalTime().AddDays(-40)
98+
$endTime = (Get-Date).ToUniversalTime()
99+
try
100+
{
101+
$filteredJobs = Get-AzureRmRecoveryServicesBackupJob -From $startTime -To $endTime
102+
$failed = $true
103+
}
104+
catch
105+
{
106+
$failed = $false
107+
}
108+
Assert-True $failed
109+
110+
#rangeStart > DateTime.UtcNow
111+
$startTime = (Get-Date).ToUniversalTime().AddDays(2)
112+
$endTime = (Get-Date).ToUniversalTime().AddDays(5)
113+
try
114+
{
115+
$filteredJobs = Get-AzureRmRecoveryServicesBackupJob -From $startTime -To $endTime
116+
$failed = $true
117+
}
118+
catch
119+
{
120+
$failed = $false
121+
}
122+
Assert-True $failed
68123
}
69124

70125
function Test-GetJobsStatusFilter

src/ResourceManager/RecoveryServices.Backup/Commands.RecoveryServices.Backup/Cmdlets/Jobs/GetAzureRmRecoveryServicesBackupJob.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,10 @@ public override void ExecuteCmdlet()
118118
{
119119
throw new Exception(Resources.JobAllowedDateTimeRangeExceeded);
120120
}
121+
else if(rangeStart > DateTime.UtcNow)
122+
{
123+
throw new Exception(Resources.JobStartTimeShouldBeLessThanCurrent);
124+
}
121125

122126
// validate JobId and Job objects
123127
if (!string.IsNullOrEmpty(JobId))

src/ResourceManager/RecoveryServices.Backup/Commands.RecoveryServices.Backup/Cmdlets/RecoveryPoint/GetAzureRmRecoveryServicesBackupRecoveryPoint.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -147,6 +147,11 @@ public override void ExecuteCmdlet()
147147
throw new ArgumentException(Resources.GetRPErrorInputDatesShouldBeInUTC);
148148
}
149149

150+
if(rangeStart > DateTime.UtcNow)
151+
{
152+
throw new ArgumentException(Resources.GetRPErrorStartTimeShouldBeLessThanUTCNow);
153+
}
154+
150155
parameter.Add(RecoveryPointParams.StartDate, rangeStart);
151156
parameter.Add(RecoveryPointParams.EndDate, rangeEnd);
152157
PsBackupProviderManager providerManager =

0 commit comments

Comments
 (0)