public CommandProcessorDepositPostTestsAsync() { _myCommand.Value = "Hello World"; _fakeOutbox = new FakeOutbox(); _fakeMessageProducer = new FakeMessageProducer(); _message = new Message( new MessageHeader(_myCommand.Id, "MyCommand", MessageType.MT_COMMAND), new MessageBody(JsonConvert.SerializeObject(_myCommand)) ); var messageMapperRegistry = new MessageMapperRegistry(new SimpleMessageMapperFactory((_) => new MyCommandMessageMapper())); messageMapperRegistry.Register <MyCommand, MyCommandMessageMapper>(); var retryPolicy = Policy .Handle <Exception>() .RetryAsync(); var circuitBreakerPolicy = Policy .Handle <Exception>() .CircuitBreakerAsync(1, TimeSpan.FromMilliseconds(1)); PolicyRegistry policyRegistry = new PolicyRegistry { { CommandProcessor.RETRYPOLICYASYNC, retryPolicy }, { CommandProcessor.CIRCUITBREAKERASYNC, circuitBreakerPolicy } }; _commandProcessor = new CommandProcessor( new InMemoryRequestContextFactory(), policyRegistry, messageMapperRegistry, (IAmAnOutboxAsync <Message>)_fakeOutbox, (IAmAMessageProducerAsync)_fakeMessageProducer); }
public CommandProcessorPostBoxClearTests() { var myCommand = new MyCommand { Value = "Hello World" }; _fakeOutbox = new FakeOutbox(); _fakeMessageProducer = new FakeMessageProducer(); _message = new Message( new MessageHeader(myCommand.Id, "MyCommand", MessageType.MT_COMMAND), new MessageBody(JsonSerializer.Serialize(myCommand, JsonSerialisationOptions.Options)) ); var messageMapperRegistry = new MessageMapperRegistry(new SimpleMessageMapperFactory((_) => new MyCommandMessageMapper())); messageMapperRegistry.Register <MyCommand, MyCommandMessageMapper>(); var retryPolicy = Policy .Handle <Exception>() .Retry(); var circuitBreakerPolicy = Policy .Handle <Exception>() .CircuitBreaker(1, TimeSpan.FromMilliseconds(1)); _commandProcessor = new CommandProcessor( new InMemoryRequestContextFactory(), new PolicyRegistry { { CommandProcessor.RETRYPOLICY, retryPolicy }, { CommandProcessor.CIRCUITBREAKER, circuitBreakerPolicy } }, messageMapperRegistry, (IAmAnOutbox <Message>)_fakeOutbox, (IAmAMessageProducer)_fakeMessageProducer); }
public PostCommandTests() { _myCommand.Value = "Hello World"; _fakeOutbox = new FakeOutbox(); _fakeMessageProducer = new FakeMessageProducer(); _message = new Message( new MessageHeader(_myCommand.Id, "MyCommand", MessageType.MT_COMMAND), new MessageBody(JsonSerializer.Serialize(_myCommand, JsonSerialisationOptions.Options)) ); var messageMapperRegistry = new MessageMapperRegistry(new SimpleMessageMapperFactory((_) => new MyCommandMessageMapper())); messageMapperRegistry.Register <MyCommand, MyCommandMessageMapper>(); _commandProcessor = CommandProcessorBuilder.With() .Handlers(new HandlerConfiguration(new SubscriberRegistry(), new EmptyHandlerFactory())) .DefaultPolicy() .TaskQueues(new MessagingConfiguration((IAmAMessageProducer)_fakeMessageProducer, messageMapperRegistry), _fakeOutbox) .RequestContextFactory(new InMemoryRequestContextFactory()) .Build(); }
public CircuitBreakerTests() { _myCommand.Value = "Hello World"; _outbox = new FakeOutbox(); _messagingProducer = new FakeErroringMessageProducer(); _message = new Message( new MessageHeader(_myCommand.Id, "MyCommand", MessageType.MT_COMMAND), new MessageBody(JsonConvert.SerializeObject(_myCommand)) ); var messageMapperRegistry = new MessageMapperRegistry(new SimpleMessageMapperFactory((_) => new MyCommandMessageMapper())); messageMapperRegistry.Register <MyCommand, MyCommandMessageMapper>(); var retryPolicy = Policy .Handle <Exception>() .WaitAndRetry(new[] { TimeSpan.FromMilliseconds(50), TimeSpan.FromMilliseconds(100), TimeSpan.FromMilliseconds(150) }); var circuitBreakerPolicy = Policy .Handle <Exception>() .CircuitBreaker(1, TimeSpan.FromMinutes(1)); _commandProcessor = new CommandProcessor( new InMemoryRequestContextFactory(), new PolicyRegistry { { CommandProcessor.RETRYPOLICY, retryPolicy }, { CommandProcessor.CIRCUITBREAKER, circuitBreakerPolicy } }, messageMapperRegistry, _outbox, _messagingProducer); }