Пример #1
0
        public async Task AddMessagesGetMessages_Roundtrips()
        {
            // Arrange
            CloudQueue queue = InitializeQueue();
            IEnumerable <CloudQueueMessage> expected = CreateQueueMessages();

            // Act
            await _manager.AddMessagesAsync(queue, expected);

            IEnumerable <CloudQueueMessage> actual = await _manager.GetMessagesAsync(queue, 16, TimeSpan.FromMinutes(1));

            // Assert
            Assert.Equal(expected.Count(), actual.Count());
        }
        public async Task AddMessagesGetMessages_Roundtrips()
        {
            // Arrange
            var queue    = InitializeQueue();
            var expected = CreateQueueMessages();

            // Act
            await _manager.AddMessagesAsync(queue, expected);

            var actual = await _manager.GetMessagesAsync(queue, 16, _timeout);

            // Assert
            Assert.Equal(expected.Count(), actual.Count());
        }
Пример #3
0
        /// <inheritdoc />
        public async Task SendWebHookWorkItemsAsync(IEnumerable <WebHookWorkItem> workItems)
        {
            if (workItems == null)
            {
                throw new ArgumentNullException(nameof(workItems));
            }

            // Serialize WebHook requests and convert to queue messages
            IEnumerable <CloudQueueMessage> messages = null;

            try
            {
                messages = workItems.Select(item =>
                {
                    string content            = JsonConvert.SerializeObject(item, _serializerSettings);
                    CloudQueueMessage message = new CloudQueueMessage(content);
                    return(message);
                }).ToArray();
            }
            catch (Exception ex)
            {
                string msg = string.Format(CultureInfo.CurrentCulture, AzureStorageResources.AzureSender_SerializeFailure, ex.Message);
                _logger.Error(msg, ex);
                throw new InvalidOperationException(msg);
            }

            // Insert queue messages into queue.
            CloudQueue queue = _manager.GetCloudQueue(_connectionString, WebHookQueue);
            await _manager.AddMessagesAsync(queue, messages);
        }