public UserInteractUIServiceTest() { realRedisService = new RedisService(); userInteractUIService = new UserInteractUIService(realRedisService); EntityMapping.Config(); realRedisService.FlushAll(); configID = realRedisService.Add<PushConfig>(new PushConfig { AllowedPeriodFrom = DateTime.Now, AllowedPeriodTo = DateTime.Now.AddSeconds(10000), DelaySeconds = 123, ExecuteTimes = 2, FailGotoActionId = 1, SuccessGotoActionId =1, IntervalSeconds = 60 }); configID2 = realRedisService.Add<PushConfig>(new PushConfig { AllowedPeriodFrom = DateTime.Now, AllowedPeriodTo = DateTime.Now.AddSeconds(1000), DelaySeconds = 321, ExecuteTimes = 20, FailGotoActionId = 10, SuccessGotoActionId = 10, IntervalSeconds = 600 }); }
public static void Start(bool shouldFlush) { if (!_hasBeenIntialized) { if (shouldFlush) { // clear data var svc = new RedisService(); svc.FlushAll(); } _hasBeenIntialized = true; } }
public void get_sequence_num_should_work_in_concurrent_situation() { using (var redis = new RedisService()) { const string key = "SEQ_key"; Action<object> action = (object id) => { Console.WriteLine(redis.GetNextSequenceNum(key)); }; Task t1 = Task.Factory.StartNew(action, "1"); Task t2 = Task.Factory.StartNew(action, "2"); Task t3 = Task.Factory.StartNew(action, "3"); Task t4 = Task.Factory.StartNew(action, "4"); Task t5 = Task.Factory.StartNew(action, "5"); Task t6 = Task.Factory.StartNew(action, "6"); Task t7 = Task.Factory.StartNew(action, "7"); Task t8 = Task.Factory.StartNew(action, "8"); Task t9 = Task.Factory.StartNew(action, "9"); Task t0 = Task.Factory.StartNew(action, "10"); t1.Wait(); t2.Wait(); t3.Wait(); t4.Wait(); t5.Wait(); t6.Wait(); t7.Wait(); t8.Wait(); t9.Wait(); t0.Wait(); long result = redis.GetNextSequenceNum(key); Assert.Equal(11, result); redis.FlushAll(); } }
public void integration_test_for_user_upload_info() { var namevalues = new NameValueCollection(); namevalues[MobileParam.Key_IMSI] = TEST_IMSI; _requestRepoMock.Setup<NameValueCollection>(m => m.Header).Returns(namevalues); MobileParam mobileParam = new MobileParam(requestRepo); var realRedisService = new RedisService(); var realRedisLogger = new RedisLogger(); realRedisService.FlushAll(); realRedisLogger.Flush(); UserInteractService userInteractService = new UserInteractService(realRedisLogger, realRedisService, new UserInteractUIService(realRedisService)); //first time , add UserUploadInfo userUploadInfo = new UserUploadInfo { ActivityInfos = GetAndroidUserAppActivityInfos(), AppInfos = GetAppInfos(), AppTrafficInfos = GetAppTrafficInfos() }; userInteractService.SaveUserUploadInfos(mobileParam, userUploadInfo); //second time , update namevalues = new NameValueCollection(); namevalues[MobileParam.Key_IMSI] = TEST_IMSI; namevalues[MobileParam.Key_IsTouch] = "1"; _requestRepoMock.Setup<NameValueCollection>(m => m.Header).Returns(namevalues); mobileParam = new MobileParam(requestRepo); userInteractService.SaveUserUploadInfos(mobileParam, userUploadInfo); Assert.NotNull(realRedisService.GetValueFromHash<string>("U:9460002850533220", "com.packagename.app1")); using (var redis = RedisClientManager.GetReadOnlyClient()) { Assert.Equal(2, redis.GetListCount("Queue:AndroidUserUploadInfo:Logger")); var secondAndroidUserUploadInfo = JsonConvert.DeserializeObject<LogModel>(redis.GetItemFromList("Queue:AndroidUserUploadInfo:Logger", 1)); Assert.Equal(LogOperationType.Update, secondAndroidUserUploadInfo.Operation); Assert.Equal(6, redis.GetListCount("Queue:AndroidUserAppInfo:Logger")); Assert.Equal(4, redis.GetListCount("Queue:AndroidUserAppTrafficInfo:AndroidUserAppTrafficInfoLogger")); Assert.Equal(4, redis.GetListCount("Queue:AndroidUserAppActivityInfo:AndroidUserAppActivityInfoLogger")); } }
public RedisMapperTests() { redis = new RedisService(); redis.FlushAll(); }