public void CallQueueTrigger_IfArgumentIsIStorageQueueMessage_Binds() { // Arrange CloudQueueMessage expectedMessage = new CloudQueueMessage("ignore"); IStorageQueueMessage message = new FakeStorageQueueMessage(expectedMessage); // Act CloudQueueMessage result = CallQueueTrigger <CloudQueueMessage>(message, typeof(BindToCloudQueueMessageProgram), (s) => BindToCloudQueueMessageProgram.TaskSource = s); // Assert Assert.Same(expectedMessage, result); }
public void CallQueueTrigger_ProvidesPopReceiptBindingData() { // Arrange const string expectedPopReceipt = "abc"; FakeStorageQueueMessage message = new FakeStorageQueueMessage(new CloudQueueMessage("ignore")) { PopReceipt = expectedPopReceipt }; // Act string result = CallQueueTrigger <string>(message, typeof(BindToPopReceiptBindingDataProgram), (s) => BindToPopReceiptBindingDataProgram.TaskSource = s); // Assert Assert.Same(expectedPopReceipt, result); }
public void CallQueueTrigger_ProvidesDequeueCountBindingData() { // Arrange const int expectedDequeueCount = 123; FakeStorageQueueMessage message = new FakeStorageQueueMessage(new CloudQueueMessage("ignore")) { DequeueCount = expectedDequeueCount }; // Act int result = CallQueueTrigger <int>(message, typeof(BindToDequeueCountBindingDataProgram), (s) => BindToDequeueCountBindingDataProgram.TaskSource = s); // Assert Assert.Equal(expectedDequeueCount, result); }
public void Trigger_ViaIBinder_CannotBind() { // Arrange const string expectedContents = "abc"; IStorageAccount account = CreateFakeStorageAccount(); IStorageQueue queue = CreateQueue(account, QueueName); FakeStorageQueueMessage message = (FakeStorageQueueMessage)queue.CreateMessage(expectedContents); queue.AddMessage(message); // Act Exception exception = RunTriggerFailure <string>(account, typeof(BindToQueueTriggerViaIBinderProgram), (s) => BindToQueueTriggerViaIBinderProgram.TaskSource = s); // Assert Assert.Equal("No binding found for attribute 'Microsoft.Azure.WebJobs.QueueTriggerAttribute'.", exception.Message); }
public void CallQueueTrigger_IfNextVisibleTimeIsNull_ProvidesMaxValueNextVisibleTimeBindingData() { // Arrange DateTimeOffset expectedNextVisibleTime = DateTimeOffset.Now; FakeStorageQueueMessage message = new FakeStorageQueueMessage(new CloudQueueMessage("ignore")) { NextVisibleTime = null }; // Act DateTimeOffset result = CallQueueTrigger <DateTimeOffset>(message, typeof(BindToNextVisibleTimeBindingDataProgram), (s) => BindToNextVisibleTimeBindingDataProgram.TaskSource = s); // Assert Assert.Equal(DateTimeOffset.MaxValue, result); }
public void CallQueueTrigger_ProvidesInsertionTimeBindingData() { // Arrange DateTimeOffset expectedInsertionTime = DateTimeOffset.Now; FakeStorageQueueMessage message = new FakeStorageQueueMessage(new CloudQueueMessage("ignore")) { InsertionTime = expectedInsertionTime }; // Act DateTimeOffset result = CallQueueTrigger <DateTimeOffset>(message, typeof(BindToInsertionTimeBindingDataProgram), (s) => BindToInsertionTimeBindingDataProgram.TaskSource = s); // Assert Assert.Equal(expectedInsertionTime, result); }
public void CallQueueTrigger_IfInsertionTimeIsNull_ProvidesUtcNowInsertionTimeBindingData() { // Arrange DateTimeOffset expectedInsertionTime = DateTimeOffset.Now; FakeStorageQueueMessage message = new FakeStorageQueueMessage(new CloudQueueMessage("ignore")) { InsertionTime = null }; // Act DateTimeOffset result = CallQueueTrigger <DateTimeOffset>(message, typeof(BindToInsertionTimeBindingDataProgram), (s) => BindToInsertionTimeBindingDataProgram.TaskSource = s); // Assert Assert.Equal(0, (int)DateTimeOffset.Now.Subtract(result).TotalMinutes); Assert.Equal(TimeSpan.Zero, result.Offset); }