public void CanDeserializeIntoRedrivePolicy()
        {
            var policy = new RedrivePolicy(1, "queue");
            var policySerialized = policy.ToString();

            var outputPolicy = RedrivePolicy.ConvertFromString(policySerialized);

            Assert.AreEqual(policy.MaximumReceives, outputPolicy.MaximumReceives);
            Assert.AreEqual(policy.DeadLetterQueue, outputPolicy.DeadLetterQueue);
        }
Esempio n. 2
0
 public void UpdateRedrivePolicy(RedrivePolicy requestedRedrivePolicy)
 {
     if (RedrivePolicyNeedsUpdating(requestedRedrivePolicy))
     {
         var response = Client.SetQueueAttributes(
         new SetQueueAttributesRequest
         {
             QueueUrl = Url,
             Attributes = new Dictionary<string, string> { { JustSayingConstants.ATTRIBUTE_REDRIVE_POLICY, requestedRedrivePolicy.ToString() } }
         });
         if (response.HttpStatusCode == HttpStatusCode.OK)
         {
             RedrivePolicy = requestedRedrivePolicy;
         }
     }
 }
Esempio n. 3
0
 protected void SetQueueProperties()
 {
     var attributes = GetAttrs(new[]
     {
         JustSayingConstants.ATTRIBUTE_ARN, 
         JustSayingConstants.ATTRIBUTE_REDRIVE_POLICY,
         JustSayingConstants.ATTRIBUTE_POLICY,
         JustSayingConstants.ATTRIBUTE_RETENTION_PERIOD,
         JustSayingConstants.ATTRIBUTE_VISIBILITY_TIMEOUT,
         JustSayingConstants.ATTRIBUTE_DELIVERY_DELAY
     });
     Arn = attributes.QueueARN;
     MessageRetentionPeriod = attributes.MessageRetentionPeriod;
     VisibilityTimeout = attributes.VisibilityTimeout;
     DeliveryDelay = attributes.DelaySeconds;
     RedrivePolicy = ExtractRedrivePolicyFromQueueAttributes(attributes.Attributes);
 }
Esempio n. 4
0
 private bool RedrivePolicyNeedsUpdating(RedrivePolicy requestedRedrivePolicy)
 {
     return RedrivePolicy == null || RedrivePolicy.MaximumReceives != requestedRedrivePolicy.MaximumReceives;
 }