Exemple #1
0
        public void ExecuteGetTreatmentOnRemovedUserFromSegmentShouldReturnOff()
        {
            //Arrange
            var client = new RedisClient(config);
            var cache  = new RedisSegmentCache(new RedisAdapter("localhost", "6379", ""));

            //Act
            var result = client.GetTreatment("c1321b21-0f70-449f-8979-b8faed67d210", "test_jw2", null);

            cache.RemoveFromSegment("payed", new List <string>()
            {
                "c1321b21-0f70-449f-8979-b8faed67d210"
            });
            var result2 = client.GetTreatment("c1321b21-0f70-449f-8979-b8faed67d210", "test_jw2", null);

            //Assert
            Assert.IsNotNull(result);
            Assert.AreEqual("on", result);
            Assert.IsNotNull(result2);
            Assert.AreEqual("off", result2);

            //Reset Status
            cache.AddToSegment("payed", new List <string>()
            {
                "c1321b21-0f70-449f-8979-b8faed67d210"
            });
            cache = null;
        }
Exemple #2
0
        public void RemoveKeyFromSegmentTest()
        {
            //Arrange
            var segmentName = "segment_test";
            var keys        = new List <string> {
                "abcd"
            };
            var redisAdapterMock = new Mock <IRedisAdapter>();

            redisAdapterMock.Setup(x => x.SRem(segmentKeyPrefix + segmentName, It.IsAny <RedisValue[]>())).Returns(1);
            redisAdapterMock.Setup(x => x.SIsMember(segmentKeyPrefix + segmentName, "abcd")).Returns(false);

            var segmentCache = new RedisSegmentCache(redisAdapterMock.Object);

            //Act
            segmentCache.RemoveFromSegment(segmentName, keys);
            var result = segmentCache.IsInSegment(segmentName, keys.First());

            //Assert
            Assert.IsFalse(result);
        }