public void AddImpressionWithFullQueue() { //Arrange var queue = new BlockingQueue <KeyImpression>(1); var cache = new InMemorySimpleCache <KeyImpression>(queue); var impression = new KeyImpression { feature = "test", changeNumber = 100, keyName = "date", label = "testdate", time = 10000000 }; var impression2 = new KeyImpression { feature = "test2", changeNumber = 100, keyName = "date", label = "testdate", time = 10000000 }; //Act cache.AddItems(new List <KeyImpression> { impression }); cache.AddItems(new List <KeyImpression> { impression2 }); var element = queue.Dequeue(); var element2 = queue.Dequeue(); //Assert Assert.IsNotNull(element); Assert.IsNull(element2); }
public void Initialize() { _queue = new BlockingQueue <WrappedEvent>(10); _eventsCache = new InMemorySimpleCache <WrappedEvent>(_queue); _apiClientMock = new Mock <IEventSdkApiClient>(); _eventLog = new SelfUpdatingEventLog(_apiClientMock.Object, 1, 1, _eventsCache, 10); }
public void FetchAllAndClearSuccessfully() { //Arrange var queue = new BlockingQueue <KeyImpression>(2); var cache = new InMemorySimpleCache <KeyImpression>(queue); var impression = new KeyImpression { feature = "test", changeNumber = 100, keyName = "date", label = "testdate", time = 10000000 }; var impression2 = new KeyImpression { feature = "test2", changeNumber = 100, keyName = "date", label = "testdate", time = 10000000 }; cache.AddItems(new List <KeyImpression> { impression }); cache.AddItems(new List <KeyImpression> { impression2 }); //Act var result = cache.FetchAllAndClear(); var element = queue.Dequeue(); //Assert Assert.IsNotNull(result); Assert.AreEqual(2, result.Count); Assert.IsNull(element); }
public void Initialize() { _apiClientMock = new Mock <ITreatmentSdkApiClient>(); _queue = new BlockingQueue <KeyImpression>(10); _impressionsCache = new InMemorySimpleCache <KeyImpression>(_queue); _treatmentLog = new SelfUpdatingTreatmentLog(_apiClientMock.Object, 1, _impressionsCache, 10); }
public void HasReachedMaxSizeWithNullQueue() { //Arrange var queue = new BlockingQueue <KeyImpression>(3); var cache = new InMemorySimpleCache <KeyImpression>(queue); var impression = new KeyImpression { feature = "test", changeNumber = 100, keyName = "date", label = "testdate", time = 10000000 }; var impression2 = new KeyImpression { feature = "test2", changeNumber = 100, keyName = "date", label = "testdate", time = 10000000 }; cache.AddItems(new List <KeyImpression> { impression }); cache.AddItems(new List <KeyImpression> { impression2 }); //Act var result = cache.HasReachedMaxSize(); //Assert Assert.IsFalse(result); }
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 BuildTreatmentLog(ConfigurationOptions config) { var impressionsCache = new InMemorySimpleCache <KeyImpression>(new BlockingQueue <KeyImpression>(_config.TreatmentLogSize)); _impressionsLog = new ImpressionsLog(_impressionsSdkApiClient, _config.TreatmentLogRefreshRate, impressionsCache, _tasksManager); _customerImpressionListener = config.ImpressionListener; }
public void Initialize() { _apiClientMock = new Mock <IImpressionsSdkApiClient>(); _queue = new BlockingQueue <KeyImpression>(10); _impressionsCache = new InMemorySimpleCache <KeyImpression>(_queue); _impressionsLog = new ImpressionsLog(_apiClientMock.Object, 1, _impressionsCache, new TasksManager(wrapperAdapter), 10); }
public void Initialize() { _queue = new BlockingQueue <WrappedEvent>(10); _eventsCache = new InMemorySimpleCache <WrappedEvent>(_queue); _apiClientMock = new Mock <IEventSdkApiClient>(); _telemetryRuntimeProducer = new Mock <ITelemetryRuntimeProducer>(); _eventLog = new EventsLog(_apiClientMock.Object, 1, 1, _eventsCache, _telemetryRuntimeProducer.Object, new TasksManager(wrapperAdapter), 10); }
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); } }
public void AddImpressionSuccessfully() { //Arrange var queue = new BlockingQueue <KeyImpression>(2); var cache = new InMemorySimpleCache <KeyImpression>(queue); //Act cache.AddItem(new KeyImpression() { feature = "test", changeNumber = 100, keyName = "date", label = "testdate", time = 10000000 }); var element = queue.Dequeue(); var element2 = queue.Dequeue(); //Assert Assert.IsNotNull(element); Assert.IsNull(element2); }
public void ExecuteGetTreatmentWithDependencyMatcherImpressionOnChild() { //Arrange var queue = new BlockingQueue <KeyImpression>(10); var impressionsCache = new InMemorySimpleCache <KeyImpression>(queue); var client = new JSONFileClient("splits_staging_6.json", "", _logMock.Object, null, null, new SelfUpdatingTreatmentLog(null, 1000, impressionsCache)); //Act var result = client.GetTreatment("test", "test_dependency_segment", null); //Assert Assert.IsNotNull(result); Assert.AreEqual("V1", result); var item = queue.Dequeue(); Assert.AreEqual(item.feature, "test_dependency_segment"); Assert.IsNull(queue.Dequeue()); }
public void FetchAllAndClearWithNullQueue() { //Arrange var cache = new InMemorySimpleCache <KeyImpression>(null); cache.AddItem(new KeyImpression() { feature = "test", changeNumber = 100, keyName = "date", label = "testdate", time = 10000000 }); cache.AddItem(new KeyImpression() { feature = "test2", changeNumber = 100, keyName = "date", label = "testdate", time = 10000000 }); //Act var result = cache.FetchAllAndClear(); //Assert Assert.IsNull(result); }
public void HasReachedMaxSizeSuccessfully() { //Arrange var queue = new BlockingQueue <KeyImpression>(1); var cache = new InMemorySimpleCache <KeyImpression>(queue); //Act cache.AddItem(new KeyImpression() { feature = "test", changeNumber = 100, keyName = "date", label = "testdate", time = 10000000 }); cache.AddItem(new KeyImpression() { feature = "test2", changeNumber = 100, keyName = "date", label = "testdate", time = 10000000 }); var result = cache.HasReachedMaxSize(); //Assert Assert.IsTrue(result); }
private void BuildEventLog(ConfigurationOptions config) { var eventsCache = new InMemorySimpleCache <WrappedEvent>(new BlockingQueue <WrappedEvent>(_config.EventLogSize)); _eventsLog = new EventsLog(_eventSdkApiClient, _config.EventsFirstPushWindow, _config.EventLogRefreshRate, eventsCache, _telemetryRuntimeProducer, _tasksManager); }