private void BuildEventLog(ConfigurationOptions config) { eventsCache = new InMemorySimpleCache <WrappedEvent>(new BlockingQueue <WrappedEvent>(EventLogSize)); eventLog = new SelfUpdatingEventLog(eventSdkApiClient, EventsFirstPushWindow, EventLogRefreshRate, eventsCache); eventListener = new AsynchronousListener <WrappedEvent>(LogManager.GetLogger("AsynchronousEventListener")); ((IAsynchronousListener <WrappedEvent>)eventListener).AddListener(eventLog); }
private void BuildEventLog(ConfigurationOptions config) { var eventLog = new RedisEventLog(eventsCache); eventListener = new AsynchronousListener <WrappedEvent>(LogManager.GetLogger("AsynchronousEventListener")); ((AsynchronousListener <WrappedEvent>)eventListener).AddListener(eventLog); }
private void BuildTreatmentLog(ConfigurationOptions config) { impressionsCache = new InMemorySimpleCache <KeyImpression>(new BlockingQueue <KeyImpression>(TreatmentLogSize)); treatmentLog = new SelfUpdatingTreatmentLog(treatmentSdkApiClient, TreatmentLogRefreshRate, impressionsCache); impressionListener = new AsynchronousListener <KeyImpression>(LogManager.GetLogger("AsynchronousImpressionListener")); ((AsynchronousListener <KeyImpression>)impressionListener).AddListener(treatmentLog); if (config.ImpressionListener != null) { ((AsynchronousListener <KeyImpression>)impressionListener).AddListener(config.ImpressionListener); } }
private void BuildTreatmentLog(ConfigurationOptions config) { var treatmentLog = new RedisTreatmentLog(impressionsCacheRedis); impressionListenerRedis = new AsynchronousListener <IList <KeyImpression> >(LogManager.GetLogger("AsynchronousImpressionListener")); ((AsynchronousListener <IList <KeyImpression> >)impressionListenerRedis).AddListener(treatmentLog); if (config.ImpressionListener != null) { impressionListener = new AsynchronousListener <KeyImpression>(LogManager.GetLogger("AsynchronousImpressionListener")); ((AsynchronousListener <KeyImpression>)impressionListener).AddListener(config.ImpressionListener); } }
public void AddTwoListenersAndPerformLogSuccessfully() { //Arrange var logger = new Mock <ILog>(); var asyncListener = new AsynchronousListener <KeyImpression>(logger.Object); var listener1 = new TestListener(); var listenerMock2 = new Mock <IListener <KeyImpression> >(); asyncListener.AddListener(listener1); asyncListener.AddListener(listenerMock2.Object); //Act asyncListener.Log(new KeyImpression() { feature = "test", changeNumber = 100, keyName = "date", label = "testdate", time = 10000000, treatment = "on", bucketingKey = "any" }); Thread.Sleep(1000); //Assert Assert.AreEqual(listener1.list.Count, 1); listenerMock2.Verify(x => x.Log(It.Is <KeyImpression>(p => p.keyName == "date" && p.feature == "test" && p.treatment == "on" && p.time == 10000000 && p.changeNumber == 100 && p.label == "testdate" && p.bucketingKey == "any")), Times.Once()); }
public void AddTwoListenersAndPerformLogSuccessfullyWithOneLongRunningTask() { //Arrange var logger = new Mock <ILog>(); var asyncListener = new AsynchronousListener <KeyImpression>(logger.Object); var listener1 = new TestListener2(); var listener2 = new TestListener(); asyncListener.AddListener(listener1); asyncListener.AddListener(listener2); //Act asyncListener.Log(new KeyImpression() { feature = "test", changeNumber = 100, keyName = "date", label = "testdate", time = 10000000, treatment = "on", bucketingKey = "any" }); Thread.Sleep(1000); //Assert Assert.AreEqual(listener2.list.Count, 1); Thread.Sleep(10000); Assert.AreEqual(listener1.list.Count, 1); }
public void Initialize() { _logger = new Mock <ILog>(); _asyncListener = new AsynchronousListener <Event>(_logger.Object); _listenerMock = new Mock <IListener <Event> >(); }
public void Initialize() { _logger = new Mock <ILog>(); _asyncListener = new AsynchronousListener <KeyImpression>(_logger.Object); _listenerMock = new Mock <IListener <KeyImpression> >(); }