Example #1
0
        public async Task PublishAsync_WithQueueNameAttribute()
        {
            // Arrange
            var queueName         = "custom-queue-name";
            var command           = new BasicWithAttributeCommand();
            var delay             = 0;
            var cancellationToken = CancellationToken.None;

            _payloadSerializer.SerializeAsync(command, cancellationToken).Returns(Task.FromResult <byte[]>(null));
            _workProviderFactory.CreateAsync(queueName, cancellationToken).Returns(Task.FromResult(_workProvider));

            // Act
            await _sut.PublishAsync(command, cancellationToken);

            // Assert
            await _workProvider.Received(1).SendAsync(Arg.Is <WorkItem>(x => x.Queue == queueName), delay, cancellationToken);
        }
Example #2
0
        public async Task ScheduleAsync_WithQueueNameAttribute()
        {
            // Arrange
            var name              = BaseValueGenerator.Word();
            var queueName         = "custom-queue-name";
            var cron              = Cron.Weekly();
            var command           = new BasicWithAttributeCommand();
            var cancellationToken = CancellationToken.None;

            _payloadSerializer.SerializeAsync(command, cancellationToken).Returns(Task.FromResult <byte[]>(null));
            _scheduleProviderFactory.CreateAsync(queueName, cancellationToken).Returns(Task.FromResult(_scheduleProvider));

            // Act
            await _sut.ScheduleAsync(name, command, cron, cancellationToken);

            // Assert
            await _scheduleProvider.Received(1).CreateAsync(Arg.Is <ScheduleItem>(x => x.Queue == queueName && x.CronExpression == cron.Expression), cancellationToken);
        }