Ejemplo n.º 1
0
 public MessageProcessor(IRepositoryFactory repositoryFactory, IPoisonMessageRepository poisonMessageRepository,
                         IPolicyRegistry policyRegistry, ILogger logger)
 {
     _repositoryFactory       = repositoryFactory;
     _poisonMessageRepository = poisonMessageRepository;
     _policyRegistry          = policyRegistry;
     _logger = logger;
 }
Ejemplo n.º 2
0
        public MessageProcessorSpec()
        {
            _repository        = Substitute.For <IRepository>();
            _repositoryFactory = Substitute.For <IRepositoryFactory>();
            _repositoryFactory.Create().Returns(_repository);
            _poisonMessageRepository = Substitute.For <IPoisonMessageRepository>();
            var policyRegistry = Substitute.For <IPolicyRegistry>();

            policyRegistry.CreateAsyncPolicies().Returns(new[]
            {
                Policy.Handle <DocumentClientException>(ex => ExceptionClassifier.IsInternalServerError(ex))
                .RetryAsync(2),
                Policy.Handle <DocumentClientException>(ex => ExceptionClassifier.IsServiceUnavaiable(ex))
                .RetryAsync(2),
            });

            _container = new ContainerBuilder()
                         .AddTranscient <IMessageProcessor, MessageProcessor>()
                         .AddInstance(Substitute.For <ILogger>())
                         .AddInstance(_repositoryFactory)
                         .AddInstance(_poisonMessageRepository)
                         .AddInstance(policyRegistry)
                         .Build();
        }