public async Task ShouldRegisterAndUnregisterPeer() { var subscription1 = Subscription.Matching <DatabaseStatus>(status => status.DatacenterName == "Paris" && status.Status == "Ko"); var subscription2 = Subscription.Any <DoSomething>(); var bytes = _container.GetInstance <IMessageSerializer>().Serialize(subscription1); var json = Encoding.UTF8.GetString(bytes); var obj = _container.GetInstance <IMessageSerializer>().Deserialize(bytes, typeof(Subscription)); var command = new DoSomething(); Assert.AreEqual(0, GlobalTestContext.Get()); _bus.Start(); await _bus.Subscribe(new SubscriptionRequest(subscription1)); var peers = _directoryRepository.GetPeers(true); Assert.AreEqual(1, peers.Count()); Assert.AreEqual(5, peers.First().Subscriptions.Count()); await _bus.Subscribe(new SubscriptionRequest(subscription2)); peers = _directoryRepository.GetPeers(true); Assert.AreEqual(1, peers.Count()); Assert.AreEqual(6, peers.First().Subscriptions.Count()); await _bus.Send(command); await Task.Delay(50); Assert.AreEqual(1, GlobalTestContext.Get()); }
public void SetUp() { GlobalTestContext.Reset(); }