예제 #1
0
        public async Task WriteWithNegativeVisibleInValueMakesDataImmediatelyAvailableTest()
        {
            var queueName = Guid.NewGuid().ToString("N");
            var expected  = Guid.NewGuid().ToString("N");

            var target = new StringStore(Config.Storage.ConnectionString, queueName);

            var storageAccount = CloudStorageAccount.Parse(Config.Storage.ConnectionString);
            var client         = storageAccount.CreateCloudQueueClient();
            var queue          = client.GetQueueReference(queueName);

            try
            {
                await target.WriteMessage(expected, null, TimeSpan.FromMinutes(-1), CancellationToken.None)
                .ConfigureAwait(false);

                var queueItem = await queue.GetMessageAsync().ConfigureAwait(false);

                var actual = queueItem.AsString;

                actual.Should().Be(expected);
            }
            finally
            {
                await queue.DeleteIfExistsAsync().ConfigureAwait(false);
            }
        }
예제 #2
0
        public async Task WriteMessageCreatesQueueMessageFromStringTest()
        {
            var queueName = Guid.NewGuid().ToString("N");
            var expected  = Guid.NewGuid().ToString();

            var target = new StringStore(Config.Storage.ConnectionString, queueName);

            var storageAccount = CloudStorageAccount.Parse(Config.Storage.ConnectionString);
            var client         = storageAccount.CreateCloudQueueClient();
            var queue          = client.GetQueueReference(queueName);

            try
            {
                await target.WriteMessage(expected, null, null, CancellationToken.None).ConfigureAwait(false);

                var queueItem = await queue.GetMessageAsync().ConfigureAwait(false);

                var actual = queueItem.AsString;

                actual.Should().Be(expected);
            }
            finally
            {
                await queue.DeleteIfExistsAsync().ConfigureAwait(false);
            }
        }
예제 #3
0
        public void WriteMessageThrowsExceptionWhenValueIsNullTest()
        {
            var queueName = Guid.NewGuid().ToString("N");

            var target = new StringStore(Config.Storage.ConnectionString, queueName);

            Func <Task> action = async() =>
                                 await target.WriteMessage(null, null, null, CancellationToken.None).ConfigureAwait(false);

            action.Should().Throw <ArgumentNullException>();
        }