Example #1
0
        /// <summary>
        /// Waits for a remediation to complete
        /// </summary>
        /// <param name="getRemediationFunc">The hook to retrieve the updated remediation.</param>
        /// <returns>The completed remediation.</returns>
        private Remediation WaitForCompletion(Func <Remediation> getRemediationFunc)
        {
            for (var i = 0; i < 20; i++)
            {
                var updatedRemediation = getRemediationFunc();
                if (ProvisioningState.IsTerminal(updatedRemediation.ProvisioningState))
                {
                    return(updatedRemediation);
                }

                if (HttpMockServer.Mode == HttpRecorderMode.Record)
                {
                    Thread.Sleep(10000);
                }
            }

            throw new InvalidOperationException("The remediation did not complete in the allotted time.");
        }