예제 #1
0
        public void SetUp()
        {
            _subscriptionManager          = Substitute.For <ISubscriptionManager>();
            _rabbitMqPersistentConnection = Substitute.For <IRabbitMqPersistentConnection>();
            _rabbitConsumerInitializer    = Substitute.For <IRabbitConsumerInitializer>();
            var rabbitMqEventBusOptions = Substitute.For <IOptions <RabbitMqEventBusOptions> >();
            var value = Substitute.For <RabbitMqEventBusOptions>();

            rabbitMqEventBusOptions.Value.Returns(value);
            _rabbitMqEventBusOptionsValue = value;
            var queueName    = Guid.NewGuid().ToString();
            var exchangeName = Guid.NewGuid().ToString();

            value.QueueName.Returns(queueName);
            value.ExchangeName.Returns(exchangeName);
            _model = Substitute.For <IModel>();
            _rabbitMqPersistentConnection.CreateModel().Returns(_model);
            _subscription = new Subscription <Event>();
            _subscriptionManager.AddSubscription <Event>().Returns(_subscription);


            _sut = new RabbitMqEventSubscriber(_subscriptionManager, _rabbitMqPersistentConnection, _rabbitConsumerInitializer, rabbitMqEventBusOptions, Substitute.For <ILogger <RabbitMqEventSubscriber> >());

            _rabbitConsumerInitializer.Received(1).InitializeConsumersChannelsAsync();
        }
예제 #2
0
 public RabbitMqEventSubscriber(
     ISubscriptionManager subscriptionManager,
     IRabbitMqPersistentConnection persistentConnection,
     IRabbitConsumerInitializer rabbitConsumerInitializer,
     IOptions <RabbitMqEventBusOptions> rabbitMqEventBusOptons, ILogger <RabbitMqEventSubscriber> logger)
 {
     _subscriptionManager       = subscriptionManager;
     _persistentConnection      = persistentConnection;
     _rabbitConsumerInitializer = rabbitConsumerInitializer;
     _logger = logger;
     _rabbitMqEventBusOptions = rabbitMqEventBusOptons.Value;
 }