Skip to content

Commit

Permalink
Fixed tests
Browse files Browse the repository at this point in the history
  • Loading branch information
MirolimMajidov committed Dec 27, 2024
1 parent 76157a4 commit e6bd606
Showing 1 changed file with 24 additions and 59 deletions.
83 changes: 24 additions & 59 deletions tests/UnitTests/Subscribers/EventSubscriberManagerTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -33,17 +33,9 @@ public void AddSubscriber_CallingWithGenericAndWithOption_ShouldAdded()
{
var options = new Action<EventSubscriberOptions>(x => { x.QueueName = "TestQueue"; });

// Act
_subscriberManager.AddSubscriber<SimpleSubscribeEvent, SimpleEventSubscriberHandler>(options);

// Assert
var field = _subscriberManager.GetType()
.GetField("_subscribers", BindingFlags.NonPublic | BindingFlags.Instance);
field.Should().NotBeNull();
var subscribers =
(Dictionary<string, (Type eventType, Type eventHandlerType, EventSubscriberOptions eventSettings)>)
field?.GetValue(_subscriberManager)!;

var subscribers = GetSubscribers();
subscribers.Should().ContainKey(nameof(SimpleSubscribeEvent));
subscribers!.First().Value.eventSettings.QueueName.Should().Be("TestQueue");
}
Expand All @@ -53,21 +45,13 @@ public void AddSubscriber_AddingExistingEventWithNewOptions_ShouldUpdateEventOpt
{
var options = new Action<EventSubscriberOptions>(x => { x.QueueName = "TestQueue"; });

// Act
_subscriberManager.AddSubscriber<SimpleSubscribeEvent, SimpleEventSubscriberHandler>(options);
_subscriberManager.AddSubscriber<SimpleSubscribeEvent, SimpleEventSubscriberHandler>(x =>
{
x.QueueName = "TestQueueUpdated";
});

// Assert
var field = _subscriberManager.GetType()
.GetField("_subscribers", BindingFlags.NonPublic | BindingFlags.Instance);
field.Should().NotBeNull();
var subscribers =
(Dictionary<string, (Type eventType, Type eventHandlerType, EventSubscriberOptions eventSettings)>)
field?.GetValue(_subscriberManager)!;

var subscribers = GetSubscribers();
subscribers.Should().ContainKey(nameof(SimpleSubscribeEvent));
subscribers!.First().Value.eventSettings.QueueName.Should().Be("TestQueueUpdated");
}
Expand All @@ -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<string, (Type eventType, Type eventHandlerType, EventSubscriberOptions eventSettings)>)
field?.GetValue(_subscriberManager)!;

var subscribers = GetSubscribers();
subscribers.Should().ContainKey(nameof(SimpleSubscribeEvent));
subscribers!.First().Value.eventSettings.QueueName.Should().Be("TestQueue");
}
Expand All @@ -103,41 +79,25 @@ public void AddSubscriber_CallingWithTypesAddingExistingEventWithNewOptions_Shou
QueueName = "TestQueue",
};

// Act
_subscriberManager.AddSubscriber(typeof(SimpleSubscribeEvent), typeof(SimpleEventSubscriberHandler), options);
_subscriberManager.AddSubscriber(typeof(SimpleSubscribeEvent), typeof(SimpleEventSubscriberHandler),
new EventSubscriberOptions
{
QueueName = "TestQueueUpdated"
});

// Assert
var field = _subscriberManager.GetType()
.GetField("_subscribers", BindingFlags.NonPublic | BindingFlags.Instance);
field.Should().NotBeNull();
var subscribers =
(Dictionary<string, (Type eventType, Type eventHandlerType, EventSubscriberOptions eventSettings)>)
field?.GetValue(_subscriberManager)!;

var subscribers = GetSubscribers();
subscribers.Should().ContainKey(nameof(SimpleSubscribeEvent));
subscribers!.First().Value.eventSettings.QueueName.Should().Be("TestQueueUpdated");
}

[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<string, (Type eventType, Type eventHandlerType, EventSubscriberOptions eventSettings)>)
field?.GetValue(_subscriberManager)!;


var subscribers = GetSubscribers();
subscribers.Should().ContainKey(nameof(SimpleSubscribeEvent));
subscribers!.First().Value.eventSettings.QueueName.Should().BeNull();
}
Expand All @@ -161,20 +121,11 @@ public void SetVirtualHostAndOwnSettingsOfSubscribers_WithVirtualHostSettings_Sh
};

var options = new Action<EventSubscriberOptions>(x => { x.VirtualHostKey = "TestVirtualHostKey"; });

_subscriberManager.AddSubscriber<SimpleSubscribeEvent, SimpleEventSubscriberHandler>(options);

// Act
_subscriberManager.SetVirtualHostAndOwnSettingsOfSubscribers(virtualHostsSettings);

// Assert
var field = _subscriberManager.GetType()
.GetField("_subscribers", BindingFlags.NonPublic | BindingFlags.Instance);
field.Should().NotBeNull();
var subscribers =
(Dictionary<string, (Type eventType, Type eventHandlerType, EventSubscriberOptions eventSettings)>)
field?.GetValue(_subscriberManager)!;

var subscribers = GetSubscribers();
subscribers.Should().ContainKey(nameof(SimpleSubscribeEvent));
subscribers!.First().Value.eventSettings.VirtualHostSettings.VirtualHost.Should().Be("TestVirtualHost");
}
Expand All @@ -186,7 +137,6 @@ public void SetVirtualHostAndOwnSettingsOfSubscribers_WithVirtualHostSettings_Sh
[Test]
public void CreateConsumerForEachQueueAndStartReceivingEvents_WithSubscribers_ShouldCreateConsumer()
{
// Arrange
var options = new Action<EventSubscriberOptions>(x =>
{
x.VirtualHostKey = "TestVirtualHostKey";
Expand Down Expand Up @@ -218,10 +168,8 @@ public void CreateConsumerForEachQueueAndStartReceivingEvents_WithSubscribers_Sh
_subscriberManager.AddSubscriber<SimpleSubscribeEvent, SimpleEventSubscriberHandler>(options);
_subscriberManager.SetVirtualHostAndOwnSettingsOfSubscribers(virtualHostsSettings);

// Act
_subscriberManager.CreateConsumerForEachQueueAndStartReceivingEvents();

// Assert
var field = _subscriberManager.GetType()
.GetField("_eventConsumers", BindingFlags.NonPublic | BindingFlags.Instance);
field.Should().NotBeNull();
Expand All @@ -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<string, (Type eventType, Type eventHandlerType, EventSubscriberOptions eventSettings)> GetSubscribers()
{
var eventSubscriberManager = typeof(EventSubscriberManager);
var subscribers =
(Dictionary<string, (Type eventType, Type eventHandlerType, EventSubscriberOptions eventSettings)>)
SubscribersProperty?.GetValue(eventSubscriberManager)!;

return subscribers;
}

#endregion
}

0 comments on commit e6bd606

Please sign in to comment.