public MessageProcessor(IRepositoryFactory repositoryFactory, IPoisonMessageRepository poisonMessageRepository, IPolicyRegistry policyRegistry, ILogger logger) { _repositoryFactory = repositoryFactory; _poisonMessageRepository = poisonMessageRepository; _policyRegistry = policyRegistry; _logger = logger; }
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(); }