Skip to content

Commit 9b6f12e

Browse files
author
dragonfly91
committed
Added null checks in handle created job method
1 parent 6c49d0d commit 9b6f12e

File tree

1 file changed

+23
-16
lines changed

1 file changed

+23
-16
lines changed

src/ResourceManager/RecoveryServices.Backup/Commands.RecoveryServices.Backup/RecoveryServicesBackupCmdletBase.cs

Lines changed: 23 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,10 @@ public BackUpOperationStatusResponse WaitForOperationCompletionUsingStatusLink(
152152
// protected item and policy.
153153
BackUpOperationStatusResponse response = hydraFunc(statusUrlLink);
154154

155-
while (response.OperationStatus.Status == OperationStatusValues.InProgress.ToString())
155+
while (
156+
response != null &&
157+
response.OperationStatus != null &&
158+
response.OperationStatus.Status == OperationStatusValues.InProgress.ToString())
156159
{
157160
WriteDebug("Tracking operation completion using status link: " + statusUrlLink);
158161
TestMockSupport.Delay(_defaultSleepForOperationTracking * 1000);
@@ -171,23 +174,27 @@ protected void HandleCreatedJob(BaseRecoveryServicesJobResponse itemResponse, st
171174
itemResponse.AzureAsyncOperation,
172175
HydraAdapter.GetProtectedItemOperationStatusByURL);
173176

174-
WriteDebug(Resources.FinalOperationStatus + response.OperationStatus.Status);
175-
176-
if (response.OperationStatus.Properties != null &&
177-
((OperationStatusJobExtendedInfo)response.OperationStatus.Properties).JobId != null)
177+
if (response != null && response.OperationStatus != null)
178178
{
179-
var jobStatusResponse = (OperationStatusJobExtendedInfo)response.OperationStatus.Properties;
180-
WriteObject(GetJobObject(jobStatusResponse.JobId));
181-
}
179+
WriteDebug(Resources.FinalOperationStatus + response.OperationStatus.Status);
182180

183-
if (response.OperationStatus.Status == OperationStatusValues.Failed)
184-
{
185-
var errorMessage = string.Format(
186-
Resources.OperationFailed,
187-
operationName,
188-
response.OperationStatus.OperationStatusError.Code,
189-
response.OperationStatus.OperationStatusError.Message);
190-
throw new Exception(errorMessage);
181+
if (response.OperationStatus.Properties != null &&
182+
((OperationStatusJobExtendedInfo)response.OperationStatus.Properties).JobId != null)
183+
{
184+
var jobStatusResponse = (OperationStatusJobExtendedInfo)response.OperationStatus.Properties;
185+
WriteObject(GetJobObject(jobStatusResponse.JobId));
186+
}
187+
188+
if (response.OperationStatus.Status == OperationStatusValues.Failed &&
189+
response.OperationStatus.OperationStatusError != null)
190+
{
191+
var errorMessage = string.Format(
192+
Resources.OperationFailed,
193+
operationName,
194+
response.OperationStatus.OperationStatusError.Code,
195+
response.OperationStatus.OperationStatusError.Message);
196+
throw new Exception(errorMessage);
197+
}
191198
}
192199
}
193200
}

0 commit comments

Comments
 (0)