Ejemplo n.º 1
0
        public TestProtocolServer(LogProvider logProvider, TimeoutStrategy timeoutStrategy, ProtocolServerFactory factory, URI serverUri, InstanceId instanceId, AcceptorInstanceStore acceptorInstanceStore, ElectionCredentialsProvider electionCredentialsProvider)
        {
            this._serverUri = serverUri;
            this.Receiver   = new TestMessageSource(this);
            this.Sender     = new TestMessageSender(this);

            _stateMachineExecutor = new DelayedDirectExecutor(logProvider);

            Config config = mock(typeof(Config));

            when(config.Get(ClusterSettings.MaxAcceptors)).thenReturn(10);
            when(config.Get(ClusterSettings.StrictInitialHosts)).thenReturn(false);

            ServerConflict = factory.NewProtocolServer(instanceId, timeoutStrategy, Receiver, Sender, acceptorInstanceStore, electionCredentialsProvider, _stateMachineExecutor, new ObjectStreamFactory(), new ObjectStreamFactory(), config);

            ServerConflict.listeningAt(serverUri);
        }
Ejemplo n.º 2
0
        public void IsTopicMatchTest()
        {
            Assert.IsTrue(TestMessageSender.IsTopicMatch("Minor.Nijn.BerichtVerstuurd", "Minor.Nijn.BerichtVerstuurd"));
            Assert.IsTrue(TestMessageSender.IsTopicMatch("Minor.Nijn.*", "Minor.Nijn.BerichtVerstuurd"));
            Assert.IsTrue(TestMessageSender.IsTopicMatch("Minor.*.*", "Minor.Nijn.BerichtVerstuurd"));
            Assert.IsTrue(TestMessageSender.IsTopicMatch("*.*.*", "Minor.Nijn.BerichtVerstuurd"));
            Assert.IsTrue(TestMessageSender.IsTopicMatch("Minor.Nijn.#", "Minor.Nijn.BerichtVerstuurd"));
            Assert.IsTrue(TestMessageSender.IsTopicMatch("Minor.#", "Minor.Nijn.BerichtVerstuurd"));
            Assert.IsTrue(TestMessageSender.IsTopicMatch("#", "Minor.Nijn.BerichtVerstuurd"));
            Assert.IsTrue(TestMessageSender.IsTopicMatch("#.BerichtVerstuurd", "Minor.Nijn.BerichtVerstuurd"));
            Assert.IsTrue(TestMessageSender.IsTopicMatch("Minor.*.BerichtVerstuurd", "Minor.Nijn.BerichtVerstuurd"));

            Assert.IsFalse(TestMessageSender.IsTopicMatch("Minor.Nijn.BerichtVerstuurd.2", "Minor.Nijn.BerichtVerstuurd"));
            Assert.IsFalse(TestMessageSender.IsTopicMatch("Minor.Nijn", "Minor.Nijn.BerichtVerstuurd"));
            Assert.IsFalse(TestMessageSender.IsTopicMatch("Minor", "Minor.Nijn.BerichtVerstuurd"));
            Assert.IsFalse(TestMessageSender.IsTopicMatch("Mva.Minor.Nijn.BerichtVerstuurd", "Minor.Nijn.BerichtVerstuurd"));
        }
        public void SendMessageDoesNothingOnEmptyDictionary()
        {
            // Arrange
            Mock <TestBusContext> context = new Mock <TestBusContext>(MockBehavior.Strict);
            var dictionary = new Dictionary <TestBusKey, TestBusQueueWrapper <EventMessage> >();

            context.SetupGet(e => e.DataQueues)
            .Returns(dictionary);

            var sender = new TestMessageSender(context.Object);

            var message = new EventMessage {
                Topic = "UnknownTopic"
            };

            // Act
            sender.SendMessage(message);

            // Assert
            Assert.AreEqual(0, dictionary.Count);
        }
        public void SendMessageDoesNothingWithoutAvailableQueue(string topic)
        {
            Mock <TestBusContext> context = new Mock <TestBusContext>(MockBehavior.Strict);
            var dictionary = new Dictionary <TestBusKey, TestBusQueueWrapper <EventMessage> >();

            context.SetupGet(e => e.DataQueues)
            .Returns(dictionary);

            var sender = new TestMessageSender(context.Object);

            var message = new EventMessage {
                Topic = "UnknownTopic"
            };

            // Act
            sender.SendMessage(message);

            // Assert
            var key = new TestBusKey("testQueue", topic);

            Assert.IsFalse(dictionary.ContainsKey(key));
        }
        public void TopicsAreSelectedByRegex(string regexTopic, string topic)
        {
            Mock <TestBusContext> context = new Mock <TestBusContext>(MockBehavior.Strict);
            var dictionary = new Dictionary <TestBusKey, TestBusQueueWrapper <EventMessage> >();
            var key        = new TestBusKey("testQueue", topic);

            dictionary[key] = new TestBusQueueWrapper <EventMessage>();

            context.SetupGet(e => e.DataQueues)
            .Returns(dictionary);

            var sender  = new TestMessageSender(context.Object);
            var message = new EventMessage {
                Topic = topic
            };

            // Act
            sender.SendMessage(message);

            // Assert
            Assert.IsTrue(dictionary.ContainsKey(key));
        }
        public void SendMessageAddsMessageToQueueIfQueueExists(string topic)
        {
            Mock <TestBusContext> context = new Mock <TestBusContext>(MockBehavior.Strict);
            var dictionary = new Dictionary <TestBusKey, TestBusQueueWrapper <EventMessage> >();
            var key        = new TestBusKey("testQueue", topic);

            dictionary[key] = new TestBusQueueWrapper <EventMessage>();

            context.SetupGet(e => e.DataQueues)
            .Returns(dictionary);

            var sender = new TestMessageSender(context.Object);

            var message = new EventMessage {
                Topic = topic
            };

            // Act
            sender.SendMessage(message);

            // Assert
            Assert.IsTrue(dictionary.ContainsKey(key));
            Assert.AreEqual(1, dictionary[key].Queue.Count);
        }