public void Should_be_called_when_send_faulted() { IPipeRouter router = new PipeRouter(); router.ConnectPipe(Pipe.New <CommandContext <SetConcurrencyLimit> >(cfg => { cfg.UseExecute(cxt => { throw new IntentionalTestException("Wow!"); }); })); var observer = new Observer <CommandContext <SetConcurrencyLimit> >(); router.ConnectObserver(observer); var observer2 = new Observer(); router.ConnectObserver(observer2); Assert.That(async() => await router.SetConcurrencyLimit(32), Throws.TypeOf <IntentionalTestException>()); Assert.That(async() => await observer.SendFaulted, Throws.TypeOf <IntentionalTestException>()); Assert.That(async() => await observer2.SendFaulted, Throws.TypeOf <IntentionalTestException>()); }
public async Task Should_be_called_pre_send() { IPipeRouter router = new PipeRouter(); router.ConnectPipe(Pipe.Empty <CommandContext <SetConcurrencyLimit> >()); var observer = new Observer <CommandContext <SetConcurrencyLimit> >(); router.ConnectObserver(observer); var observer2 = new Observer(); router.ConnectObserver(observer2); await router.SetConcurrencyLimit(32); await observer.PreSent; Assert.That(async() => await observer2.PreSent, Is.InstanceOf <CommandContext <SetConcurrencyLimit> >()); }