public async Task InvalidMessage() { var receiver = new FakeReceiver("fake"); MessagingConfigurationProvider provider = typeof(MessagingConfigurationProvider).New(receiver, null); var reloaded = false; ChangeToken.OnChange(provider.GetReloadToken, () => reloaded = true); var newSettings = "This is {not] a [valid} JSON string: \""; var message = new FakeReceiverMessage(newSettings); var dataBefore = GetData(provider); // Simulate the FakeReceiver receiving a message. await receiver.MessageHandler.OnMessageReceivedAsync(receiver, message); // The protected Data property should not have been replaced. GetData(provider).Should().BeSameAs(dataBefore); // It should report that it has been reloaded. reloaded.Should().BeFalse(); // The received message should have been handled by acknowledging it. message.Handled.Should().BeTrue(); message.HandledBy.Should().Be(nameof(message.RejectAsync)); }
public async Task HappyPathNewSetting() { var receiver = new FakeReceiver("fake"); MessagingConfigurationProvider provider = typeof(MessagingConfigurationProvider).New(receiver, null); var newSettings = @"{ ""foo"": ""abc"" }"; var message = new FakeReceiverMessage(newSettings); var reloaded = false; ChangeToken.OnChange(provider.GetReloadToken, () => reloaded = true); var dataBefore = GetData(provider); // Simulate the FakeReceiver receiving a message. await receiver.MessageHandler.OnMessageReceivedAsync(receiver, message); // The protected Data property should have been replaced. GetData(provider).Should().NotBeSameAs(dataBefore); // Data should contain the new settings. GetData(provider).Should().ContainKey("foo"); GetData(provider)["foo"].Should().Be("abc"); // It should report that it has been reloaded. reloaded.Should().BeTrue(); // The received message should have been handled by acknowledging it. message.Handled.Should().BeTrue(); message.HandledBy.Should().Be(nameof(message.AcknowledgeAsync)); }
public void ConstructorLeavesDataEmpty() { var receiver = new FakeReceiver("fake"); MessagingConfigurationProvider provider = typeof(MessagingConfigurationProvider).New(receiver, null); GetData(provider).Should().BeEmpty(); }
public void ConstructorSetsReceiverProperty() { var receiver = new FakeReceiver("fake"); MessagingConfigurationProvider provider = typeof(MessagingConfigurationProvider).New(receiver, null); provider.Receiver.Should().BeSameAs(receiver); }
public void ConstructorSetsSettingFilterProperty() { var receiver = new FakeReceiver("fake"); var filter = new FakeSettingFilter(); MessagingConfigurationProvider provider = typeof(MessagingConfigurationProvider).New(receiver, filter); provider.SettingFilter.Should().BeSameAs(filter); }
public void ConstructorStartsTheReceiver() { var receiver = new FakeReceiver("fake"); receiver.MessageHandler.Should().BeNull(); MessagingConfigurationProvider provider = typeof(MessagingConfigurationProvider).New(receiver, null); receiver.MessageHandler.Should().NotBeNull(); }
private static IDictionary <string, string> GetData(MessagingConfigurationProvider provider) => provider.Unlock().Data;