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; }
public void GetSegmentKeysTest() { // Arrange. var redisAdapterMock = new Mock <IRedisAdapter>(); var segmentCache = new RedisSegmentCache(redisAdapterMock.Object); var keys = new List <string> { "abcd", "1234" }; var segmentName = "test"; segmentCache.AddToSegment(segmentName, keys); redisAdapterMock .Setup(mock => mock.SMembers($"SPLITIO.segment.{segmentName}")) .Returns(new List <RedisValue> { "abcd", "1234" }.ToArray()); // Act & Assert. var result = segmentCache.GetSegmentKeys(segmentName); Assert.AreEqual(2, result.Count); Assert.IsTrue(result.Contains("abcd")); Assert.IsTrue(result.Contains("1234")); result = segmentCache.GetSegmentKeys("segmentName"); Assert.AreEqual(0, result.Count); }
public void AddToSegmentTest() { //Arrange var segmentName = "test"; var redisAdapterMock = new Mock <IRedisAdapter>(); redisAdapterMock.Setup(x => x.SAdd(It.IsAny <string>(), It.IsAny <RedisValue[]>())).Returns(1); var segmentCache = new RedisSegmentCache(redisAdapterMock.Object); //Act segmentCache.AddToSegment(segmentName, new List <string>() { "test" }); //Assert redisAdapterMock.Verify(mock => mock.SAdd(segmentKeyPrefix + segmentName, It.IsAny <RedisValue[]>())); }