public void WaitForDeploymentStatus_RethrowsIfUnexpectedExceptionThrown() { using (SpinLoop.ForTests(i => { })) { var api = new ScriptedAzureManagementLowLevelApiFake(); api.Script.Add(() => api.NextDeploymentCheckOutcome = AzureDeploymentCheckOutcome.Running ); api.Script.Add(() => { throw new ArgumentException(); }); var azureManagement = new AzureManagementApiWithRetries( api, 2, TimeSpan.FromMilliseconds(30000)); Assert.That( () => azureManagement.WaitForDeploymentStatus(FooUri, AzureDeploymentCheckOutcome.Suspended), Throws.ArgumentException); } }
public void WaitForDeploymentStatus_ReturnsOnExpectedStatusAndRetriesOnUnexpectedStatus() { var retryCount = 0; using (SpinLoop.ForTests(i => retryCount++)) { var api = new ScriptedAzureManagementLowLevelApiFake(); api.Script.Add(() => api.NextDeploymentCheckOutcome = AzureDeploymentCheckOutcome.Running); api.Script.Add(() => api.NextDeploymentCheckOutcome = AzureDeploymentCheckOutcome.Suspended); var azureManagement = new AzureManagementApiWithRetries( api, 2, TimeSpan.FromMilliseconds(30000)); azureManagement.WaitForDeploymentStatus(FooUri, AzureDeploymentCheckOutcome.Suspended); Assert.That(retryCount, Is.EqualTo(1)); } }
public void WaitForDeploymentStatus_CallsCheckDeploymentStatusWithCorrectUri() { var api = new ScriptedAzureManagementLowLevelApiFake(); api.Script.Add(() => api.NextDeploymentCheckOutcome = AzureDeploymentCheckOutcome.Running); var azureManagement = new AzureManagementApiWithRetries(api, 2, TimeSpan.FromMilliseconds(30000)); azureManagement.WaitForDeploymentStatus(FooUri, AzureDeploymentCheckOutcome.Running); Assert.That(api.CheckStatusDeploymentUri, Is.EqualTo(FooUri)); }