public void GetRetryAfterFromApplicationPropertiesReturnsNullIfNoApplicationProperties()
        {
            using var amqpResponse = AmqpMessage.Create();
            TimeSpan?actual = ProvisioningErrorDetailsAmqp.GetRetryAfterFromApplicationProperties(amqpResponse, s_defaultInterval);

            Assert.IsNull(actual);
        }
        public void GetRetryAfterFromApplicationPropertiesReturnsDefaultIfRetryAfterValueIsZero()
        {
            int expectedRetryAfter = 0;

            using var amqpResponse             = AmqpMessage.Create();
            amqpResponse.ApplicationProperties = new ApplicationProperties();
            amqpResponse.ApplicationProperties.Map.Add(new MapKey("Retry-After"), expectedRetryAfter);
            TimeSpan?actual = ProvisioningErrorDetailsAmqp.GetRetryAfterFromApplicationProperties(amqpResponse, s_defaultInterval);

            Assert.IsNotNull(actual);
            Assert.AreEqual(s_defaultInterval.Seconds, actual?.Seconds);
        }
        public void GetRetryAfterFromApplicationPropertiesSuccess()
        {
            int         expectedRetryAfter = 42;
            AmqpMessage amqpResponse       = AmqpMessage.Create();

            amqpResponse.ApplicationProperties = new ApplicationProperties();
            amqpResponse.ApplicationProperties.Map.Add(new MapKey("Retry-After"), expectedRetryAfter);
            TimeSpan?actual = ProvisioningErrorDetailsAmqp.GetRetryAfterFromApplicationProperties(amqpResponse, defaultInterval);

            Assert.IsNotNull(actual);
            Assert.AreEqual(expectedRetryAfter, actual?.Seconds);
        }