public void CreateBindingData_ReturnsExpectedValue()
        {
            Message message = new Message(Encoding.UTF8.GetBytes("Test Message"));

            message.ReplyTo       = "test-queue";
            message.To            = "test";
            message.ContentType   = "application/json";
            message.Label         = "test label";
            message.CorrelationId = Guid.NewGuid().ToString();
            IReadOnlyDictionary <string, object> valueBindingData = null;
            var bindingData = ServiceBusTriggerBinding.CreateBindingData(message, valueBindingData);

            Assert.Equal(7, bindingData.Count);
            Assert.Equal(message.ReplyTo, bindingData["ReplyTo"]);
            Assert.Equal(message.To, bindingData["To"]);
            Assert.Equal(message.MessageId, bindingData["MessageId"]);
            Assert.Equal(message.ContentType, bindingData["ContentType"]);
            Assert.Equal(message.Label, bindingData["Label"]);
            Assert.Equal(message.CorrelationId, bindingData["CorrelationId"]);
            Assert.Same(message.UserProperties, bindingData["UserProperties"]);

            // verify that value binding data overrides built ins
            valueBindingData = new Dictionary <string, object>
            {
                { "ReplyTo", "override" },
                { "NewProperty", 123 }
            };
            bindingData = ServiceBusTriggerBinding.CreateBindingData(message, valueBindingData);
            Assert.Equal(8, bindingData.Count);
            Assert.Equal("override", bindingData["ReplyTo"]);
            Assert.Equal(123, bindingData["NewProperty"]);
        }
Exemplo n.º 2
0
        public void CreateBindingData_ReturnsExpectedValue(string contentType)
        {
            Message message = new Message(Encoding.UTF8.GetBytes("Test Message"))
            {
                ReplyTo       = "test-queue",
                To            = "test",
                ContentType   = contentType,
                Label         = "test label",
                CorrelationId = Guid.NewGuid().ToString(),
            };

            IReadOnlyDictionary <string, object> valueBindingData = null;

            var config = new ServiceBusOptions
            {
                ConnectionString = "Endpoint=sb://test.servicebus.windows.net/;SharedAccessKeyName=TestKey;SharedAccessKey=00000000000000000"
            };

            var messageReceiver = new MessageReceiver(config.ConnectionString, "test");
            var clientEntity    = new QueueClient(config.ConnectionString, "test");
            Mock <IMessageSession> messageSession = new Mock <IMessageSession>();
            var bindingData = ServiceBusTriggerBinding.CreateBindingData(message, messageReceiver, messageSession.Object, valueBindingData);

            Assert.Equal(10, bindingData.Count);
            Assert.Equal(message.ReplyTo, bindingData["ReplyTo"]);
            Assert.Equal(string.Empty, bindingData["lockToken"]);
            Assert.Equal(message.To, bindingData["To"]);
            Assert.Equal(message.MessageId, bindingData["MessageId"]);
            Assert.Equal(message.ContentType, bindingData["ContentType"]);
            Assert.Equal(message.Label, bindingData["Label"]);
            Assert.Equal(message.CorrelationId, bindingData["CorrelationId"]);
            Assert.Same(message.UserProperties, bindingData["UserProperties"]);
            Assert.Same(messageReceiver, bindingData["MessageReceiver"]);
            Assert.Same(messageSession.Object, bindingData["MessageSession"]);

            // verify that value binding data overrides built ins
            valueBindingData = new Dictionary <string, object>
            {
                { "ReplyTo", "override" },
                { "NewProperty", 123 }
            };
            bindingData = ServiceBusTriggerBinding.CreateBindingData(message, messageReceiver, messageSession.Object, valueBindingData);
            Assert.Equal(11, bindingData.Count);
            Assert.Equal("override", bindingData["ReplyTo"]);
            Assert.Equal(123, bindingData["NewProperty"]);
        }
Exemplo n.º 3
0
        public void CreateBindingData_ReturnsExpectedValue()
        {
            Message message = new Message(Encoding.UTF8.GetBytes("Test Message"))
            {
                ReplyTo       = "test-queue",
                To            = "test",
                ContentType   = "application/json",
                Label         = "test label",
                CorrelationId = Guid.NewGuid().ToString(),
            };

            IReadOnlyDictionary <string, object> valueBindingData = null;
            var config          = new ServiceBusConfiguration();
            var messageReceiver = new MessageReceiver(config.ConnectionString, "test");
            var bindingData     = ServiceBusTriggerBinding.CreateBindingData(message, messageReceiver, valueBindingData);

            Assert.Equal(9, bindingData.Count);
            Assert.Equal(message.ReplyTo, bindingData["ReplyTo"]);
            Assert.Equal(string.Empty, bindingData["lockToken"]);
            Assert.Equal(message.To, bindingData["To"]);
            Assert.Equal(message.MessageId, bindingData["MessageId"]);
            Assert.Equal(message.ContentType, bindingData["ContentType"]);
            Assert.Equal(message.Label, bindingData["Label"]);
            Assert.Equal(message.CorrelationId, bindingData["CorrelationId"]);
            Assert.Same(message.UserProperties, bindingData["UserProperties"]);
            Assert.Same(messageReceiver, bindingData["MessageReceiver"]);

            // verify that value binding data overrides built ins
            valueBindingData = new Dictionary <string, object>
            {
                { "ReplyTo", "override" },
                { "NewProperty", 123 }
            };
            bindingData = ServiceBusTriggerBinding.CreateBindingData(message, messageReceiver, valueBindingData);
            Assert.Equal(10, bindingData.Count);
            Assert.Equal("override", bindingData["ReplyTo"]);
            Assert.Equal(123, bindingData["NewProperty"]);
        }