public void Should_Throw_Exception_On_Timeout() { const int _timeout = 10; var request = new PersonRequestedEvent { Id = _personId }; _eventBus.Invoking(async eBus => await eBus.SendAndListenAsync <Person, Event <Person> >(request, _cancellationToken, _timeout)) .Should() .Throw <TimeoutException>() .WithMessage("The operation has timed out."); }
public async Task Should_Send_And_Listen_To_Events() { var reqSubToken = await _eventBus.SubscribeAsync <PersonRequestedEvent>(OnRequested, _cancellationToken); var request = new PersonRequestedEvent { Id = _personId }; var result = await _eventBus.SendAndListenAsync <Person, Event <Person> >(request, _cancellationToken); await _eventBus.UnsubscribeAsync(reqSubToken, _cancellationToken); result.Id.Should().Be(_person.Id); result.FirstName.Should().Be(_person.FirstName); result.LastName.Should().Be(_person.LastName); }
private void OnRequested(PersonRequestedEvent evt) => _requestedId = evt.Id;
private async Task OnRequested(PersonRequestedEvent request, CancellationToken token) => await _eventBus.PublishAsync(new Event <Person>(request.CorrelationId) { Data = _person }, _cancellationToken);