protected override async Task Given(AllDependencyResolversTestContext context)
        {

            await base.Given(context);

            var clock = new SystemClock();
            var typeProvider = new TestHarnessTypeProvider(new[] {GetType().Assembly}, new[] {GetType().Namespace});
            var serializer = new DataContractSerializer(typeProvider);
            var replyQueueNameSetting = new ReplyQueueNameSetting(
                new ApplicationNameSetting {Value = "TestApplication"},
                new InstanceNameSetting {Value = "TestInstance"});

            var handlerMap = new HandlerMapper(typeProvider).GetFullHandlerMap(typeof (IHandleCommand<>));

            _brokeredMessageFactory = new BrokeredMessageFactory(new MaxLargeMessageSizeSetting(),
                                                                 new MaxSmallMessageSizeSetting(),
                                                                 replyQueueNameSetting,
                                                                 clock,
                                                                 new NullCompressor(),
                                                                 new DispatchContextManager(),
                                                                 new UnsupportedLargeMessageBodyStore(),
                                                                 serializer,
                                                                 typeProvider);

            _commandDispatcher = new CommandMessageDispatcher(_brokeredMessageFactory,
                                                              new SystemClock(),
                                                              Subject,
                                                              new NullInboundInterceptorFactory(),
                                                              new NullLogger(),
                                                              handlerMap);
        }
        protected override async Task <CommandMessageDispatcher> Given()
        {
            BusId             = Guid.NewGuid();
            MethodCallCounter = MethodCallCounter.CreateInstance(BusId);

            var clock                 = new SystemClock();
            var logger                = new ConsoleLogger();
            var typeProvider          = new TestHarnessTypeProvider(new[] { GetType().Assembly }, new[] { GetType().Namespace });
            var serializer            = new DataContractSerializer(typeProvider);
            var replyQueueNameSetting = new ReplyQueueNameSetting(
                new ApplicationNameSetting {
                Value = "TestApplication"
            },
                new InstanceNameSetting {
                Value = "TestInstance"
            },
                new PathFactory(new GlobalPrefixSetting()));
            var propertyInjector = new StubPropertyInjector(BusId);

            var handlerMap = new HandlerMapper(typeProvider).GetFullHandlerMap(typeof(IHandleCommand <>));

            _nimbusMessageFactory = new NimbusMessageFactory(new DefaultMessageTimeToLiveSetting(),
                                                             replyQueueNameSetting,
                                                             clock,
                                                             new DispatchContextManager());

            return(new CommandMessageDispatcher(new DependencyResolver(typeProvider),
                                                new NullInboundInterceptorFactory(),
                                                new NullLogger(),
                                                handlerMap,
                                                propertyInjector));
        }
Example #3
0
        protected override Task <BusEventSender> Given()
        {
            _nimbusMessageSender = Substitute.For <INimbusMessageSender>();

            var transport = Substitute.For <INimbusTransport>();

            transport.GetTopicSender(Arg.Any <string>()).Returns(ci => _nimbusMessageSender);

            var clock = new SystemClock();
            var replyQueueNameSetting = new ReplyQueueNameSetting(
                new ApplicationNameSetting {
                Value = "TestApplication"
            },
                new InstanceNameSetting {
                Value = "TestInstance"
            });
            var nimbusMessageFactory = new NimbusMessageFactory(new DefaultMessageTimeToLiveSetting(),
                                                                replyQueueNameSetting,
                                                                clock,
                                                                new DispatchContextManager());
            var logger = Substitute.For <ILogger>();
            var knownMessageTypeVerifier = Substitute.For <IKnownMessageTypeVerifier>();
            var router                     = new DestinationPerMessageTypeRouter();
            var dependencyResolver         = new NullDependencyResolver();
            var outboundInterceptorFactory = new NullOutboundInterceptorFactory();
            var busCommandSender           = new BusEventSender(dependencyResolver,
                                                                knownMessageTypeVerifier,
                                                                logger,
                                                                nimbusMessageFactory,
                                                                transport,
                                                                outboundInterceptorFactory,
                                                                router);

            return(Task.FromResult(busCommandSender));
        }
        protected MessageDispatcherTestBase()
        {
            var clock = Substitute.For <IClock>();
            var replyQueueNameSetting = new ReplyQueueNameSetting(
                new ApplicationNameSetting {
                Value = "TestApplication"
            },
                new InstanceNameSetting {
                Value = "TestInstance"
            });

            TypeProvider = new TestHarnessTypeProvider(new[] { GetType().Assembly }, new[] { GetType().Namespace });
            var serializer = new DataContractSerializer(TypeProvider);

            HandlerMapper          = new HandlerMapper(TypeProvider);
            BrokeredMessageFactory = new BrokeredMessageFactory(new DefaultMessageTimeToLiveSetting(),
                                                                new MaxLargeMessageSizeSetting(),
                                                                new MaxSmallMessageSizeSetting(),
                                                                replyQueueNameSetting,
                                                                clock,
                                                                new NullCompressor(),
                                                                new DispatchContextManager(),
                                                                new UnsupportedLargeMessageBodyStore(),
                                                                serializer,
                                                                TypeProvider);
        }
        protected override async Task <CommandMessageDispatcher> Given()
        {
            var clock                 = new SystemClock();
            var logger                = new ConsoleLogger();
            var typeProvider          = new TestHarnessTypeProvider(new[] { GetType().Assembly }, new[] { GetType().Namespace });
            var serializer            = new DataContractSerializer(typeProvider);
            var replyQueueNameSetting = new ReplyQueueNameSetting(
                new ApplicationNameSetting {
                Value = "TestApplication"
            },
                new InstanceNameSetting {
                Value = "TestInstance"
            });

            var handlerMap = new HandlerMapper(typeProvider).GetFullHandlerMap(typeof(IHandleCommand <>));

            _nimbusMessageFactory = new NimbusMessageFactory(new DefaultMessageTimeToLiveSetting(),
                                                             replyQueueNameSetting,
                                                             clock,
                                                             new DispatchContextManager());

            return(new CommandMessageDispatcher(new DependencyResolver(typeProvider),
                                                new NullInboundInterceptorFactory(),
                                                new NullLogger(),
                                                handlerMap,
                                                Substitute.For <IPropertyInjector>()));
        }
Example #6
0
 internal ResponseMessagePumpFactory(ReplyQueueNameSetting replyQueueName,
                                     INimbusTransport transport,
                                     PoorMansIoC container,
                                     ResponseMessageDispatcher responseMessageDispatcher)
 {
     _replyQueueName            = replyQueueName;
     _transport                 = transport;
     _responseMessageDispatcher = responseMessageDispatcher;
     _container                 = container;
 }
Example #7
0
 public NimbusMessageFactory(DefaultMessageTimeToLiveSetting timeToLive,
                             ReplyQueueNameSetting replyQueueName,
                             IClock clock,
                             IDispatchContextManager dispatchContextManager)
 {
     _timeToLive             = timeToLive;
     _replyQueueName         = replyQueueName;
     _clock                  = clock;
     _dispatchContextManager = dispatchContextManager;
 }
Example #8
0
 public NimbusMessageFactory(DefaultMessageTimeToLiveSetting timeToLive,
                             ReplyQueueNameSetting replyQueueName,
                             IClock clock,
                             IDispatchContextManager dispatchContextManager)
 {
     _timeToLive = timeToLive;
     _replyQueueName = replyQueueName;
     _clock = clock;
     _dispatchContextManager = dispatchContextManager;
 }
 internal ResponseMessagePumpFactory(ReplyQueueNameSetting replyQueueName,
                                     INimbusTransport transport,
                                     PoorMansIoC container,
                                     ResponseMessageDispatcher responseMessageDispatcher)
 {
     _replyQueueName = replyQueueName;
     _transport = transport;
     _responseMessageDispatcher = responseMessageDispatcher;
     _container = container;
 }
 internal ResponseMessagePumpFactory(IQueueManager queueManager,
                                     ResponseMessagePumpDispatcher dispatcher,
                                     ILogger logger,
                                     ReplyQueueNameSetting replyQueueName,
                                     IClock clock,
                                     ConcurrentHandlerLimitSetting concurrentHandlerLimit)
 {
     _logger = logger;
     _queueManager = queueManager;
     _replyQueueName = replyQueueName;
     _clock = clock;
     _concurrentHandlerLimit = concurrentHandlerLimit;
     _dispatcher = dispatcher;
 }
Example #11
0
        protected override async Task <NimbusMessageFactory> Given()
        {
            _clock      = Substitute.For <IClock>();
            _serializer = Substitute.For <ISerializer>();

            ReplyQueueNameSetting = new ReplyQueueNameSetting(new ApplicationNameSetting {
                Value = "TestApplication"
            }, new InstanceNameSetting {
                Value = "TestInstance"
            });

            return(new NimbusMessageFactory(new DefaultMessageTimeToLiveSetting(),
                                            ReplyQueueNameSetting,
                                            _clock,
                                            new DispatchContextManager()
                                            ));
        }
Example #12
0
 internal ResponseMessagePumpFactory(ConcurrentHandlerLimitSetting concurrentHandlerLimit,
                                     ReplyQueueNameSetting replyQueueName,
                                     IClock clock,
                                     IDispatchContextManager dispatchContextManager,
                                     ILogger logger,
                                     INimbusTaskFactory taskFactory,
                                     IQueueManager queueManager,
                                     ResponseMessageDispatcher messageDispatcher)
 {
     _concurrentHandlerLimit = concurrentHandlerLimit;
     _replyQueueName         = replyQueueName;
     _clock = clock;
     _dispatchContextManager = dispatchContextManager;
     _logger            = logger;
     _queueManager      = queueManager;
     _messageDispatcher = messageDispatcher;
     _taskFactory       = taskFactory;
 }
 internal ResponseMessagePumpFactory(ConcurrentHandlerLimitSetting concurrentHandlerLimit,
                                     ReplyQueueNameSetting replyQueueName,
                                     IClock clock,
                                     IDispatchContextManager dispatchContextManager,
                                     ILogger logger,
                                     INimbusTaskFactory taskFactory,
                                     IQueueManager queueManager,
                                     ResponseMessageDispatcher messageDispatcher)
 {
     _concurrentHandlerLimit = concurrentHandlerLimit;
     _replyQueueName = replyQueueName;
     _clock = clock;
     _dispatchContextManager = dispatchContextManager;
     _logger = logger;
     _queueManager = queueManager;
     _messageDispatcher = messageDispatcher;
     _taskFactory = taskFactory;
 }
Example #14
0
        protected override Task <BusCommandSender> Given()
        {
            _nimbusMessageSender = Substitute.For <INimbusMessageSender>();

            var messagingFactory = Substitute.For <INimbusMessagingFactory>();

            messagingFactory.GetQueueSender(Arg.Any <string>()).Returns(ci => _nimbusMessageSender);

            var clock                 = new SystemClock();
            var typeProvider          = new TestHarnessTypeProvider(new[] { GetType().Assembly }, new[] { GetType().Namespace });
            var serializer            = new DataContractSerializer(typeProvider);
            var replyQueueNameSetting = new ReplyQueueNameSetting(
                new ApplicationNameSetting {
                Value = "TestApplication"
            },
                new InstanceNameSetting {
                Value = "TestInstance"
            });
            var brokeredMessageFactory = new BrokeredMessageFactory(new DefaultMessageTimeToLiveSetting(),
                                                                    new MaxLargeMessageSizeSetting(),
                                                                    new MaxSmallMessageSizeSetting(),
                                                                    replyQueueNameSetting,
                                                                    clock,
                                                                    new NullCompressor(),
                                                                    new DispatchContextManager(),
                                                                    new UnsupportedLargeMessageBodyStore(),
                                                                    serializer,
                                                                    typeProvider);
            var logger = Substitute.For <ILogger>();
            var knownMessageTypeVerifier = Substitute.For <IKnownMessageTypeVerifier>();
            var router                     = new DestinationPerMessageTypeRouter();
            var dependencyResolver         = new NullDependencyResolver();
            var outboundInterceptorFactory = new NullOutboundInterceptorFactory();

            var busCommandSender = new BusCommandSender(brokeredMessageFactory,
                                                        dependencyResolver,
                                                        knownMessageTypeVerifier,
                                                        logger,
                                                        messagingFactory,
                                                        outboundInterceptorFactory,
                                                        router);

            return(Task.FromResult(busCommandSender));
        }
 public BrokeredMessageFactory(MaxLargeMessageSizeSetting maxLargeMessageSize,
                               MaxSmallMessageSizeSetting maxSmallMessageSize,
                               ReplyQueueNameSetting replyQueueName,
                               IClock clock,
                               ICompressor compressor,
                               IDispatchContextManager dispatchContextManager,
                               ILargeMessageBodyStore largeMessageBodyStore,
                               ISerializer serializer,
                               ITypeProvider typeProvider)
 {
     _maxLargeMessageSize = maxLargeMessageSize;
     _maxSmallMessageSize = maxSmallMessageSize;
     _replyQueueName = replyQueueName;
     _clock = clock;
     _compressor = compressor;
     _dispatchContextManager = dispatchContextManager;
     _largeMessageBodyStore = largeMessageBodyStore;
     _serializer = serializer;
     _typeProvider = typeProvider;
 }
Example #16
0
        protected MessageDispatcherTestBase()
        {
            var clock = Substitute.For <IClock>();
            var replyQueueNameSetting = new ReplyQueueNameSetting(
                new ApplicationNameSetting {
                Value = "TestApplication"
            },
                new InstanceNameSetting {
                Value = "TestInstance"
            });

            TypeProvider = new TestHarnessTypeProvider(new[] { GetType().Assembly }, new[] { GetType().Namespace });
            var serializer = new DataContractSerializer(TypeProvider);

            HandlerMapper        = new HandlerMapper(TypeProvider);
            NimbusMessageFactory = new NimbusMessageFactory(new DefaultMessageTimeToLiveSetting(),
                                                            replyQueueNameSetting,
                                                            clock,
                                                            new DispatchContextManager());
        }
Example #17
0
 public BrokeredMessageFactory(DefaultMessageTimeToLiveSetting timeToLive,
                               MaxLargeMessageSizeSetting maxLargeMessageSize,
                               MaxSmallMessageSizeSetting maxSmallMessageSize,
                               ReplyQueueNameSetting replyQueueName,
                               IClock clock,
                               ICompressor compressor,
                               IDispatchContextManager dispatchContextManager,
                               ILargeMessageBodyStore largeMessageBodyStore,
                               ISerializer serializer,
                               ITypeProvider typeProvider)
 {
     _timeToLive          = timeToLive;
     _maxLargeMessageSize = maxLargeMessageSize;
     _maxSmallMessageSize = maxSmallMessageSize;
     _replyQueueName      = replyQueueName;
     _clock                  = clock;
     _compressor             = compressor;
     _dispatchContextManager = dispatchContextManager;
     _largeMessageBodyStore  = largeMessageBodyStore;
     _serializer             = serializer;
     _typeProvider           = typeProvider;
 }
        protected override async Task <BrokeredMessageFactory> Given()
        {
            _clock      = Substitute.For <IClock>();
            _serializer = Substitute.For <ISerializer>();

            ReplyQueueNameSetting = new ReplyQueueNameSetting(new ApplicationNameSetting {
                Value = "TestApplication"
            }, new InstanceNameSetting {
                Value = "TestInstance"
            });

            return(new BrokeredMessageFactory(new DefaultMessageTimeToLiveSetting(),
                                              new MaxLargeMessageSizeSetting(),
                                              new MaxSmallMessageSizeSetting(),
                                              ReplyQueueNameSetting,
                                              _clock,
                                              new NullCompressor(),
                                              new DispatchContextManager(),
                                              new UnsupportedLargeMessageBodyStore(),
                                              _serializer,
                                              new TestHarnessTypeProvider(new[] { GetType().Assembly }, new[] { GetType().Namespace })
                                              ));
        }
        protected override async Task <CommandMessageDispatcher> Given()
        {
            var clock                 = new SystemClock();
            var logger                = new ConsoleLogger();
            var typeProvider          = new TestHarnessTypeProvider(new[] { GetType().Assembly }, new[] { GetType().Namespace });
            var serializer            = new DataContractSerializer(typeProvider);
            var replyQueueNameSetting = new ReplyQueueNameSetting(
                new ApplicationNameSetting {
                Value = "TestApplication"
            },
                new InstanceNameSetting {
                Value = "TestInstance"
            });

            var handlerMap = new HandlerMapper(typeProvider).GetFullHandlerMap(typeof(IHandleCommand <>));

            _brokeredMessageFactory = new BrokeredMessageFactory(new DefaultMessageTimeToLiveSetting(),
                                                                 new MaxLargeMessageSizeSetting(),
                                                                 new MaxSmallMessageSizeSetting(),
                                                                 replyQueueNameSetting,
                                                                 clock,
                                                                 new NullCompressor(),
                                                                 new DispatchContextManager(),
                                                                 new UnsupportedLargeMessageBodyStore(),
                                                                 serializer,
                                                                 typeProvider);

            return(new CommandMessageDispatcher(_brokeredMessageFactory,
                                                new SystemClock(),
                                                new DependencyResolver(typeProvider),
                                                new NullInboundInterceptorFactory(),
                                                new NullLogger(),
                                                handlerMap,
                                                new DefaultMessageLockDurationSetting(),
                                                new NimbusTaskFactory(new MaximumThreadPoolThreadsSetting(), new MinimumThreadPoolThreadsSetting(), logger),
                                                Substitute.For <IPropertyInjector>()));
        }