Example #1
0
        public void ShouldProcessMessagesAccordingToFilter()
        {
            const string typeName = "SomeTypeName";

            var consumer = A.Fake <IMessageConsumer>();

            A.CallTo(() => _session.CreateConsumer(_destination, null, false)).Returns(consumer);

            IBytesMessage            bytesMessage = A.Fake <IBytesMessage>();
            ITestMessage             message      = A.Fake <ITestMessage>();
            Func <IDictionary, bool> filter       = properties => (int?)properties["Id"] == 123;

            const string serializedFixtureString = "<xml>Some fixture XML</xml>";
            var          bytes = Encoding.UTF8.GetBytes(serializedFixtureString);

            var messageProperties = new PrimitiveMap();

            messageProperties.SetString(MessagePropertyNames.TypeName, typeName);
            messageProperties.SetInt("Id", 123);

            A.CallTo(() => bytesMessage.Content).Returns(bytes);
            A.CallTo(() => bytesMessage.Properties).Returns(messageProperties);
            A.CallTo(() => _deserializer.Deserialize(A <Stream> ._)).Returns(message);
            A.CallTo(() => _deserializer.GetTypeName()).Returns(typeName);

            _source = new MessageSource <ITestMessage>(_lazyConnection, new[] { _deserializer }, _destination,
                                                       _acknowledgementMode, null, filter, false);

            _source.Messages.Subscribe(_observer);
            consumer.Listener += Raise.FreeForm.With((Apache.NMS.IMessage)bytesMessage);

            A.CallTo(() => _deserializer.Deserialize(A <Stream> ._)).MustHaveHappened();
            A.CallTo(() => _observer.OnNext(message)).MustHaveHappened();
        }
        public void ShouldDeserializeAndPublishMessageOfRightTypeName()
        {
            var consumer = A.Fake <IMessageConsumer>();

            A.CallTo(() => _session.CreateConsumer(_destination)).Returns(consumer);

            IBytesMessage bytesMessage = A.Fake <IBytesMessage>();
            ITestMessage  message      = A.Fake <ITestMessage>();

            const string serializedFixtureString = "<xml>Some fixture XML</xml>";
            var          bytes = Encoding.UTF8.GetBytes(serializedFixtureString);

            A.CallTo(() => bytesMessage.Content).Returns(bytes);
            A.CallTo(() => bytesMessage.Properties.Contains(MessagePropertyNames.TypeName)).Returns(true);
            A.CallTo(() => bytesMessage.Properties.GetString(MessagePropertyNames.TypeName)).Returns("SomeTypeName");
            A.CallTo(() => _deserializer.Deserialize(A <Stream> ._)).Returns(message);
            A.CallTo(() => _deserializer.GetTypeName()).Returns("SomeTypeName");

            _source = new MessageSource <ITestMessage>(_lazyConnection, new[] { _deserializer }, _destination,
                                                       _acknowledgementMode);

            _source.Messages.Subscribe(_observer);
            consumer.Listener += Raise.FreeForm.With((Apache.NMS.IMessage)bytesMessage);

            A.CallTo(() => _observer.OnNext(message)).MustHaveHappened();
        }
Example #3
0
 public static TestMessageSurrogate ToSurrogate(ITestMessage msg)
 {
     return(new TestMessageSurrogate()
     {
         S = msg.Data
     });
 }
 public void ReceiveITestMessage(ITestMessage testMessage)
 {
     Assert.IsNotNull(testMessage);
     Assert.AreEqual(testContent, testMessage.Content);
     _messageWasReceived = true;
     _messageWasReceivedInITestMessage = true;
 }
 public void ReceiveITestMessage(ITestMessage testMessage)
 {
     Assert.IsNotNull(testMessage);
     Assert.AreEqual(TestContent, testMessage.Content);
     _messageWasReceived = true;
     _messageWasReceivedInITestMessage = true;
 }
Example #6
0
        /// <inheritdoc/>
        public virtual bool OnMessage(ITestMessage message)
        {
            if (callback != null)
                callback(message);

            return innerSink.OnMessage(message);
        }
Example #7
0
        public void ShouldProcessMessagesWithoutTypeNameIfOnlyOneDeserializerSupplied()
        {
            var consumer = A.Fake <IMessageConsumer>();

            A.CallTo(() => _session.CreateConsumer(_destination, null, false)).Returns(consumer);

            IBytesMessage bytesMessage = A.Fake <IBytesMessage>();
            ITestMessage  message      = A.Fake <ITestMessage>();

            const string serializedFixtureString = "<xml>Some fixture XML</xml>";
            var          bytes = Encoding.UTF8.GetBytes(serializedFixtureString);

            A.CallTo(() => bytesMessage.Content).Returns(bytes);
            A.CallTo(() => bytesMessage.Properties).Returns(new PrimitiveMap());
            A.CallTo(() => _deserializer.Deserialize(A <Stream> ._)).Returns(message);
            A.CallTo(() => _deserializer.GetTypeName()).Returns("");

            _source = new MessageSource <ITestMessage>(_lazyConnection, new[] { _deserializer }, _destination, _acknowledgementMode);

            _source.Messages.Subscribe(_observer);
            consumer.Listener += Raise.FreeForm.With((Apache.NMS.IMessage)bytesMessage);

            A.CallTo(() => _deserializer.Deserialize(A <Stream> ._)).MustHaveHappened();
            A.CallTo(() => _observer.OnNext(message)).MustHaveHappened();
        }
Example #8
0
        public void ShouldDeserializeAndPublishMessageWhenReceived()
        {
            Mock <IMessageConsumer> mockConsumer            = MockConsumerExtensions.Create(_session, _destination);
            ITextMessage            textMessage             = A.Fake <ITextMessage>();
            ITestMessage            message                 = A.Fake <ITestMessage>();
            const string            serializedFixtureString = "<xml>Some fixture XML</xml>";

            A.CallTo(() => textMessage.Text).Returns(serializedFixtureString);
            A.CallTo(() => _deserializer.Deserialize(serializedFixtureString)).Returns(message);

            _source.Messages.Subscribe(_observer);
            mockConsumer.RaiseFakeMessage(textMessage);

            A.CallTo(() => _observer.OnNext(message)).MustHaveHappened();
        }
Example #9
0
        public void ShouldDeserializeByteMessagesAndPublishMessageWhenReceived()
        {
            Mock <IMessageConsumer> mockConsumer = MockConsumerExtensions.Create(_session, _destination);
            IBytesMessage           bytesMessage = A.Fake <IBytesMessage>();
            ITestMessage            message      = A.Fake <ITestMessage>();

            byte[] bytes = new byte[0];
            A.CallTo(() => bytesMessage.Content).Returns(bytes);
            A.CallTo(() => _deserializer.Deserialize(bytes)).Returns(message);

            _source.Messages.Subscribe(_observer);
            mockConsumer.RaiseFakeMessage(bytesMessage);

            A.CallTo(() => _observer.OnNext(message)).MustHaveHappened();
        }
Example #10
0
        public void ShouldDeserializeByteMessagesAndPublishMessageWhenReceived()
        {
            var consumer = A.Fake <IMessageConsumer>();

            A.CallTo(() => _session.CreateConsumer(_destination, null, false)).Returns(consumer);

            IBytesMessage bytesMessage = A.Fake <IBytesMessage>();
            ITestMessage  message      = A.Fake <ITestMessage>();

            byte[] bytes = new byte[0];
            A.CallTo(() => bytesMessage.Content).Returns(bytes);
            A.CallTo(() => _deserializer.Deserialize(A <Stream> ._)).Returns(message);

            _source.Messages.Subscribe(_observer);
            consumer.Listener += Raise.FreeForm.With((Apache.NMS.IMessage)bytesMessage);

            A.CallTo(() => _observer.OnNext(message)).MustHaveHappened();
        }
Example #11
0
        public RemoteTaskWrapper GetRemoteTask(ITestMessage test)
        {
            lock (lockObject)
            {
                // It's safe to look up by test instance, as it doesn't change during execution
                RemoteTaskWrapper task;
                if (tasksByTestInstance.TryGetValue(test.Test, out task))
                {
                    return(task);
                }

                ITestMethod testMethod = test.TestMethod;
                task = IsTheory(test.Test) ? GetNextTheoryTask(test.TestMethod, test.Test.DisplayName) : GetNextMethodTask(testMethod);
                tasksByTestInstance.Add(test.Test, task);

                return(task);
            }
        }
Example #12
0
        public void ShouldDeserializeAndPublishMessageWhenReceived()
        {
            var consumer = A.Fake <IMessageConsumer>();

            A.CallTo(() => _session.CreateConsumer(_destination, null, false)).Returns(consumer);

            IBytesMessage bytesMessage = A.Fake <IBytesMessage>();
            ITestMessage  message      = A.Fake <ITestMessage>();

            const string serializedFixtureString = "<xml>Some fixture XML</xml>";
            var          bytes = Encoding.UTF8.GetBytes(serializedFixtureString);

            A.CallTo(() => bytesMessage.Content).Returns(bytes);
            A.CallTo(() => _deserializer.Deserialize(A <Stream> ._)).Returns(message);

            _source.Messages.Subscribe(_observer);
            consumer.Listener += Raise.FreeForm.With((Apache.NMS.IMessage)bytesMessage);

            A.CallTo(() => _observer.OnNext(message)).MustHaveHappened();
        }
Example #13
0
        public void ShouldDeserializeAndPublishMessageOfRightTypeName()
        {
            Mock <IMessageConsumer> mockConsumer            = MockConsumerExtensions.Create(_session, _destination);
            ITextMessage            textMessage             = A.Fake <ITextMessage>();
            ITestMessage            message                 = A.Fake <ITestMessage>();
            const string            serializedFixtureString = "<xml>Some fixture XML</xml>";

            A.CallTo(() => textMessage.Text).Returns(serializedFixtureString);
            A.CallTo(() => textMessage.Properties.Contains(MessagePropertyNames.TypeName)).Returns(true);
            A.CallTo(() => textMessage.Properties.GetString(MessagePropertyNames.TypeName)).Returns("SomeTypeName");
            A.CallTo(() => _deserializer.Deserialize(serializedFixtureString)).Returns(message);
            A.CallTo(() => _deserializer.GetTypeName()).Returns("SomeTypeName");

            _source = new MessageSource <ITestMessage>(_lazyConnection, new[] { _deserializer }, _destination,
                                                       _acknowledgementMode);

            _source.Messages.Subscribe(_observer);
            mockConsumer.RaiseFakeMessage(textMessage);

            A.CallTo(() => _observer.OnNext(message)).MustHaveHappened();
        }
 public void OnMessageReceived(ITestMessage message) => ReceivedMessagesCount++;
Example #15
0
 private void OnTestMessageReceived4(ITestMessage message)
 {
     ReceivedCallsCount++;
 }
Example #16
0
 public void OnTestMessageReceived3(ITestMessage message)
 {
     ReceivedCallsCount++;
 }
Example #17
0
        public RemoteTaskWrapper GetRemoteTask(ITestMessage test)
        {
            lock (lockObject)
            {
                // It's safe to look up by test instance, as it doesn't change during execution
                RemoteTaskWrapper task;
                if (tasksByTestInstance.TryGetValue(test.Test, out task))
                    return task;

                ITestMethod testMethod = test.TestMethod;
                task = IsTheory(test.Test) ? GetNextTheoryTask(test.TestMethod, test.Test.DisplayName) : GetNextMethodTask(testMethod);
                tasksByTestInstance.Add(test.Test, task);

                return task;
            }
        }
Example #18
0
 /// <summary/>
 public void QueueMessage(ITestMessage message)
 {
     reporterQueue.Enqueue(message);
     reporterWorkEvent.Set();
 }
 private static string GetIdentifier(ITestMessage message)
 {
     return(message == null ? null : string.Format("test: «{0}» - {1}", message.Test.DisplayName, message.TestCase.Format()));
 }
Example #20
0
        private async Task OnTestMessageReceived4(ITestMessage message)
        {
            await Task.Delay(1);

            ReceivedCallsCount++;
        }
Example #21
0
        public async Task OnTestMessageReceivedAsync(ITestMessage message)
        {
            await Task.Delay(1);

            ReceivedMessagesCount++;
        }
 private static string GetIdentifier(ITestMessage message)
 {
     return message == null ? null : string.Format("test: «{0}» - {1}", message.Test.DisplayName, message.TestCase.Format());
 }