Example #1
0
        public void NullPublishPatternAlwaysCallsPublishOk(string topic)
        {
            var message   = CreateTestMessage(topic);
            var messaging = Substitute.For <IMessagingInfrastructure>();

            var routing = new MessageRouting(messaging);

            routing.Publish(message);

            messaging.Received().Publish(Arg.Is(message));
        }
Example #2
0
        public void MatchingPublishPatternCallsPublishOk(string routingPattern, string topic)
        {
            var message   = CreateTestMessage(topic);
            var messaging = Substitute.For <IMessagingInfrastructure>();

            var routing = new MessageRouting(messaging)
            {
                PublishPatterns = new [] { routingPattern }
            };

            routing.Publish(message);

            messaging.Received().Publish(Arg.Is(message));
        }
 public ViewerCircuit(
     UDPCircuitsManager server,
     UInt32 circuitcode,
     UUID sessionID,
     UUID agentID,
     EndPoint remoteEndPoint)
     : base(server, circuitcode)
 {
     RegionData     = new RegionHandshakeData();
     RemoteEndPoint = remoteEndPoint;
     SessionID      = sessionID;
     AgentID        = agentID;
     MessageRouting.Add(MessageType.UpdateCreateInventoryItem, (m) => OnUpdateCreateInventoryItem?.Invoke(m));
     MessageRouting.Add(MessageType.BulkUpdateInventory, (m) => OnBulkUpdateInventory?.Invoke(m));
 }
Example #4
0
        public void NullSubscriptionPatternAlwaysCallsSubscribeOk(string pattern)
        {
            void TestHandler(Message msg)
            {
            }

            var subId = new object();

            var messaging = Substitute.For <IMessagingInfrastructure>();

            messaging.Subscribe(Arg.Is(pattern), Arg.Is((Action <Message>)TestHandler)).Returns(subId);

            var routing = new MessageRouting(messaging);

            var sub = routing.Subscribe(pattern, TestHandler);

            messaging.Received().Subscribe(Arg.Is(pattern), Arg.Is((Action <Message>)TestHandler));

            sub.Dispose();
            messaging.Received().Unsubscribe(subId);
        }
 /// <summary>
 /// Initializes a new instance of the RoutingStrategyAttribute class.
 /// </summary>
 /// <param name="routing">The routing scheme for the message.</param>
 public RoutingStrategyAttribute(MessageRouting routing)
 {
     this.Routing = routing;
 }