From e6bd6061825b780d5f265cc1c14e0cd6e8822c36 Mon Sep 17 00:00:00 2001 From: Mirolim Majidov Date: Fri, 27 Dec 2024 13:07:17 +0500 Subject: [PATCH] Fixed tests --- .../EventSubscriberManagerTests.cs | 83 ++++++------------- 1 file changed, 24 insertions(+), 59 deletions(-) diff --git a/tests/UnitTests/Subscribers/EventSubscriberManagerTests.cs b/tests/UnitTests/Subscribers/EventSubscriberManagerTests.cs index eb23211..8fe5559 100644 --- a/tests/UnitTests/Subscribers/EventSubscriberManagerTests.cs +++ b/tests/UnitTests/Subscribers/EventSubscriberManagerTests.cs @@ -33,17 +33,9 @@ public void AddSubscriber_CallingWithGenericAndWithOption_ShouldAdded() { var options = new Action(x => { x.QueueName = "TestQueue"; }); - // Act _subscriberManager.AddSubscriber(options); - // Assert - var field = _subscriberManager.GetType() - .GetField("_subscribers", BindingFlags.NonPublic | BindingFlags.Instance); - field.Should().NotBeNull(); - var subscribers = - (Dictionary) - field?.GetValue(_subscriberManager)!; - + var subscribers = GetSubscribers(); subscribers.Should().ContainKey(nameof(SimpleSubscribeEvent)); subscribers!.First().Value.eventSettings.QueueName.Should().Be("TestQueue"); } @@ -53,21 +45,13 @@ public void AddSubscriber_AddingExistingEventWithNewOptions_ShouldUpdateEventOpt { var options = new Action(x => { x.QueueName = "TestQueue"; }); - // Act _subscriberManager.AddSubscriber(options); _subscriberManager.AddSubscriber(x => { x.QueueName = "TestQueueUpdated"; }); - // Assert - var field = _subscriberManager.GetType() - .GetField("_subscribers", BindingFlags.NonPublic | BindingFlags.Instance); - field.Should().NotBeNull(); - var subscribers = - (Dictionary) - field?.GetValue(_subscriberManager)!; - + var subscribers = GetSubscribers(); subscribers.Should().ContainKey(nameof(SimpleSubscribeEvent)); subscribers!.First().Value.eventSettings.QueueName.Should().Be("TestQueueUpdated"); } @@ -80,17 +64,9 @@ public void AddSubscriber_CallingWithTypesOfEventAndTypeOfHandlerAndWithOptions_ QueueName = "TestQueue", }; - // Act _subscriberManager.AddSubscriber(typeof(SimpleSubscribeEvent), typeof(SimpleEventSubscriberHandler), options); - // Assert - var field = _subscriberManager.GetType() - .GetField("_subscribers", BindingFlags.NonPublic | BindingFlags.Instance); - field.Should().NotBeNull(); - var subscribers = - (Dictionary) - field?.GetValue(_subscriberManager)!; - + var subscribers = GetSubscribers(); subscribers.Should().ContainKey(nameof(SimpleSubscribeEvent)); subscribers!.First().Value.eventSettings.QueueName.Should().Be("TestQueue"); } @@ -103,7 +79,6 @@ public void AddSubscriber_CallingWithTypesAddingExistingEventWithNewOptions_Shou QueueName = "TestQueue", }; - // Act _subscriberManager.AddSubscriber(typeof(SimpleSubscribeEvent), typeof(SimpleEventSubscriberHandler), options); _subscriberManager.AddSubscriber(typeof(SimpleSubscribeEvent), typeof(SimpleEventSubscriberHandler), new EventSubscriberOptions @@ -111,14 +86,7 @@ public void AddSubscriber_CallingWithTypesAddingExistingEventWithNewOptions_Shou QueueName = "TestQueueUpdated" }); - // Assert - var field = _subscriberManager.GetType() - .GetField("_subscribers", BindingFlags.NonPublic | BindingFlags.Instance); - field.Should().NotBeNull(); - var subscribers = - (Dictionary) - field?.GetValue(_subscriberManager)!; - + var subscribers = GetSubscribers(); subscribers.Should().ContainKey(nameof(SimpleSubscribeEvent)); subscribers!.First().Value.eventSettings.QueueName.Should().Be("TestQueueUpdated"); } @@ -126,18 +94,10 @@ public void AddSubscriber_CallingWithTypesAddingExistingEventWithNewOptions_Shou [Test] public void AddSubscriber_CallingWithTypesAndWithDefaultSettings_ShouldAdded() { - // Act _subscriberManager.AddSubscriber(typeof(SimpleSubscribeEvent), typeof(SimpleEventSubscriberHandler), new EventSubscriberOptions()); - - // Assert - var field = _subscriberManager.GetType() - .GetField("_subscribers", BindingFlags.NonPublic | BindingFlags.Instance); - field.Should().NotBeNull(); - var subscribers = - (Dictionary) - field?.GetValue(_subscriberManager)!; - + + var subscribers = GetSubscribers(); subscribers.Should().ContainKey(nameof(SimpleSubscribeEvent)); subscribers!.First().Value.eventSettings.QueueName.Should().BeNull(); } @@ -161,20 +121,11 @@ public void SetVirtualHostAndOwnSettingsOfSubscribers_WithVirtualHostSettings_Sh }; var options = new Action(x => { x.VirtualHostKey = "TestVirtualHostKey"; }); - _subscriberManager.AddSubscriber(options); - // Act _subscriberManager.SetVirtualHostAndOwnSettingsOfSubscribers(virtualHostsSettings); - // Assert - var field = _subscriberManager.GetType() - .GetField("_subscribers", BindingFlags.NonPublic | BindingFlags.Instance); - field.Should().NotBeNull(); - var subscribers = - (Dictionary) - field?.GetValue(_subscriberManager)!; - + var subscribers = GetSubscribers(); subscribers.Should().ContainKey(nameof(SimpleSubscribeEvent)); subscribers!.First().Value.eventSettings.VirtualHostSettings.VirtualHost.Should().Be("TestVirtualHost"); } @@ -186,7 +137,6 @@ public void SetVirtualHostAndOwnSettingsOfSubscribers_WithVirtualHostSettings_Sh [Test] public void CreateConsumerForEachQueueAndStartReceivingEvents_WithSubscribers_ShouldCreateConsumer() { - // Arrange var options = new Action(x => { x.VirtualHostKey = "TestVirtualHostKey"; @@ -218,10 +168,8 @@ public void CreateConsumerForEachQueueAndStartReceivingEvents_WithSubscribers_Sh _subscriberManager.AddSubscriber(options); _subscriberManager.SetVirtualHostAndOwnSettingsOfSubscribers(virtualHostsSettings); - // Act _subscriberManager.CreateConsumerForEachQueueAndStartReceivingEvents(); - // Assert var field = _subscriberManager.GetType() .GetField("_eventConsumers", BindingFlags.NonPublic | BindingFlags.Instance); field.Should().NotBeNull(); @@ -239,4 +187,21 @@ public void CreateConsumerForEachQueueAndStartReceivingEvents_WithSubscribers_Sh } #endregion + + #region Helper method + + private static readonly FieldInfo SubscribersProperty = typeof(EventSubscriberManager) + .GetField("Subscribers", BindingFlags.NonPublic | BindingFlags.Static); + + Dictionary GetSubscribers() + { + var eventSubscriberManager = typeof(EventSubscriberManager); + var subscribers = + (Dictionary) + SubscribersProperty?.GetValue(eventSubscriberManager)!; + + return subscribers; + } + + #endregion } \ No newline at end of file