/// <summary>
		/// Create a work item queue that will try to pull items from a named RabbitMQ endpoint
		/// </summary>
		/// <param name="endpoint">Destination endpoint to pull messages from</param>
		/// <param name="messagingBase">RabbitMQ connection provider</param>
		/// <param name="sleeper">Sleeper to rate limit polling</param>
		public RabbitMqPollingNode(IRoutingEndpoint endpoint,
			IMessagingBase messagingBase, ISleepWrapper sleeper)
		{
			_endpoint = endpoint.ToString();
			_messagingBase = messagingBase;
			_sleeper = sleeper;
			_boundMessageTypes = new ConcurrentSet<Type>();
		}
        public void When_setting_up_a_named_destination()
        {
            typeRouter    = Substitute.For <ITypeRouter>();
            messageRouter = Substitute.For <IMessageRouter>();
            serialiser    = Substitute.For <IMessageSerialiser>();

            messaging = new MessagingBase(typeRouter, messageRouter, serialiser, "test");
            messaging.ResetCaches();
        }
        public void When_setting_up_a_named_destination()
        {
            typeRouter = Substitute.For<ITypeRouter>();
            messageRouter = Substitute.For<IMessageRouter>();
            serialiser = Substitute.For<IMessageSerialiser>();

            messaging = new MessagingBase(typeRouter, messageRouter, serialiser);
            messaging.ResetCaches();
        }
        public void When_setting_up_a_named_destination()
        {
            typeRouter    = Substitute.For <ITypeRouter>();
            messageRouter = Substitute.For <IMessageRouter>();
            serialiser    = Substitute.For <IMessageSerialiser>();

            messaging = new MessagingBase(typeRouter, messageRouter, serialiser, "test");
            messaging.ResetCaches();
            messaging.CreateDestination <IMetadataFile>("MyServiceDestination", Expires.Never);
        }
		public void setup()
		{
			_endpoint = Substitute.For<IRoutingEndpoint>();
			_messagingBase = Substitute.For<IMessagingBase>();
			_sleepWrapper = Substitute.For<ISleepWrapper>();

			_endpoint.ToString().Returns(_destinationName);

			_subject = new RabbitMqPollingNode(_endpoint, _messagingBase, _sleepWrapper);
		}
        public void When_setting_up_a_named_destination()
        {
            typeRouter    = Substitute.For <ITypeRouter>();
            messageRouter = Substitute.For <IMessageRouter>();
            serialiser    = Substitute.For <IMessageSerialiser>();

            messaging = new MessagingBase(typeRouter, messageRouter, serialiser, "test-group");
            messaging.ResetCaches();
            messaging.GetMessage <IMetadataFile>("MyServiceDestination");
        }
        public void When_setting_up_a_named_destination()
        {
            typeRouter = Substitute.For<ITypeRouter>();
            messageRouter = Substitute.For<IMessageRouter>();
            serialiser = Substitute.For<IMessageSerialiser>();

            messaging = new MessagingBase(typeRouter, messageRouter, serialiser);
            messaging.ResetCaches();
            messaging.CreateDestination<IMetadataFile>("MyServiceDestination");
        }
        public void setup()
        {
            _config = new MessagingBaseConfiguration()
                      .WithDefaults()
                      //.UsesSecureConnections() // If you don't have HTTPS set up, comment out this line
                      .WithConnection(ConfigurationHelpers.RabbitMqConnectionWithConfigSettings());

            _messaging = _config.GetMessagingBase();

            _query = ConfigurationHelpers.RabbitMqQueryWithConfigSettings();
        }
Beispiel #9
0
        public void setup()
        {
            _config = new MessagingBaseConfiguration()
                      .WithDefaults()
                      .UsesSecureConnections()
                      .WithConnection(ConfigurationHelpers.RabbitMqConnectionWithConfigSettings());

            _messaging = _config.GetMessagingBase();

            _query = ConfigurationHelpers.RabbitMqQueryWithConfigSettings();
        }
        public void When_setting_up_a_named_destination()
        {
            metadataMessage = new SuperMetadata();

            badMessage    = new { Who = "What" };
            messageRouter = Substitute.For <IMessageRouter>();
            typeRouter    = Substitute.For <ITypeRouter>();
            serialiser    = Substitute.For <IMessageSerialiser>();
            serialiser.Serialise(metadataMessage, out _).Returns(m => { m[1] = "dummy"; return(serialisedObject); });

            messaging = new MessagingBase(typeRouter, messageRouter, serialiser, "test");
            messaging.ResetCaches();
            messaging.SendMessage(metadataMessage);
        }
        public void When_setting_up_a_named_destination()
        {
            metadataMessage = new SuperMetadata();

            badMessage = new {Who="What"};
            typeRouter = Substitute.For<ITypeRouter>();
            messageRouter = Substitute.For<IMessageRouter>();
            serialiser = Substitute.For<IMessageSerialiser>();
            serialiser.Serialise(metadataMessage).Returns(serialisedObject);

            messaging = new MessagingBase(typeRouter, messageRouter, serialiser);
            messaging.ResetCaches();
            messaging.SendMessage(metadataMessage);
        }
		public void setup()
		{
			MessagingSystem.Configure.WithDefaults().SetMessagingServer("reallyNotAServerAtAll").SetIntegrationTestMode();
			MessagingSystem.Events.ClearEventHooks();

			_failingMessagingBase = Substitute.For<IMessagingBase>();
			_failingMessagingBase.PrepareForSend(Arg.Any<object>())
				.Returns(new PreparedMessage("",""));
			_failingMessagingBase.When(m=>m.SendPrepared(Arg.Any<IPreparedMessage>()))
				.Do(c=> { throw new Exception("test exception"); });

			ObjectFactory.Configure(map => map.For<IMessagingBase>().Use(_failingMessagingBase));

			_subject = MessagingSystem.Sender();
		}
Beispiel #13
0
        public void A_configured_messaging_base()
        {
            new MessagingBaseConfiguration()
                .WithDefaults()
                .WithConnection(ConfigurationHelpers.RabbitMqConnectionWithConfigSettings());

            messaging = ObjectFactory.GetInstance<IMessagingBase>();

            testMessage = new SuperMetadata
            {
                CorrelationId = Guid.NewGuid(),
                Contents = "These are my ||\"\\' ' contents: ⰊⰄⰷἚ𐰕𐰑ꔘⶤعبػػ↴↳↲↰",
                FilePath = @"C:\temp\",
                HashValue = 893476,
                MetadataName = "KeyValuePair"
            };
        }
        public void A_configured_messaging_base()
        {
            messaging = new MessagingBaseConfiguration()
                        .WithDefaults()
                        //.WithContractRoot<...some type...>()  // by omitting this, we force the system to discover types itself.
                        .WithConnection(ConfigurationHelpers.RabbitMqConnectionWithConfigSettings())
                        .GetMessagingBase();

            testMessage = new SuperMetadata
            {
                CorrelationId = Guid.NewGuid(),
                Contents      = "These are my ||\"\\' ' contents: ⰊⰄⰷἚ𐰕𐰑ꔘⶤعبػػ↴↳↲↰",
                FilePath      = @"C:\temp\",
                HashValue     = 893476,
                MetadataName  = "KeyValuePair"
            };
        }
        public void A_configured_messaging_base()
        {
            messaging = new MessagingBaseConfiguration()
                        .WithDefaults()
                        .WithContractRoot <IMsg>()
                        .WithConnection(ConfigurationHelpers.RabbitMqConnectionWithConfigSettings())
                        .WithApplicationGroupName("app-group-name")
                        .GetMessagingBase();

            testMessage = new SuperMetadata
            {
                CorrelationId = Guid.NewGuid(),
                Contents      = "This is my message",
                FilePath      = @"C:\temp\",
                HashValue     = 893476,
                MetadataName  = "KeyValuePair"
            };
        }
		public void setup()
		{
			_messagingBase = Substitute.For<IMessagingBase>();
			_sleeper = Substitute.For<ISleepWrapper>();
			_dispatcher = Substitute.For<IDispatch<byte[]>>();
			_dispatcherFactory = Substitute.For<IDispatcherFactory>();
			_dispatcherFactory.Create(Arg.Any<IWorkQueue<byte[]>>(), Arg.Any<IWorkerPool<byte[]>>()).Returns(_dispatcher);

			_queueFactory = Substitute.For<IOutgoingQueueFactory>();

			_eventHook1 = Substitute.For<IEventHook>();
			_eventHook2 = Substitute.For<IEventHook>();
			ObjectFactory.Configure(map => {
				map.For<IEventHook>().Use(_eventHook1);
				map.For<IEventHook>().Use(_eventHook2);
			});

			_subject = new SenderNode(_messagingBase, _dispatcherFactory, _sleeper,_queueFactory);
		}
		/// <summary>
		/// Generate a polling node factory for RabbitMq
		/// </summary>
		public RabbitMqPollingNodeFactory(IMessagingBase messagingBase, ISleepWrapper sleeper)
		{
			_messagingBase = messagingBase;
			_sleeper = sleeper;
		}