Example #1
0
        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);
        }
Example #2
0
 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);
 }
Example #3
0
        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);
 }
Example #5
0
        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);
 }
Example #7
0
        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;
        }
Example #8
0
        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);
        }
Example #9
0
        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);
     }
 }
Example #11
0
        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);
        }
Example #12
0
        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());
        }
Example #13
0
        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);
        }
Example #14
0
        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);
        }
Example #15
0
        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);
        }