Beispiel #1
0
        public void TestCancelLogUpdateMessageStatusError()
        {
            Guid           id  = Guid.NewGuid();
            ResultCodeEnum res = HistoryLogger.UpdateMessageStatus("TRAIN1", id, MessageStatusType.InstantMessageDistributionReceived);

            Assert.AreNotEqual(ResultCodeEnum.RequestAccepted, res);
        }
Beispiel #2
0
        public void TestMethodMarkPendingMessagesAsCanceledByStartup_BehaveAsExpected_WhenDatabaseContainOneRecordInProgressState()
        {
            Expect(CountRecordInTable(MessageContextTableName), Is.EqualTo(0), "Expect that table MessageContext is empty");
            Expect(CountRecordInTable(MessageRequestTableName), Is.EqualTo(0), "Expect that table MessageRequest is empty");
            Expect(CountRecordInTable(MessageStatusTableName), Is.EqualTo(0), "Expect that table MessageStatus is empty");

            string   messageText = "This is a scheduledMessage in progress";
            Guid     requestId   = Guid.NewGuid();
            string   trainId     = "TRAIN-1";
            DateTime startDate   = DateTime.UtcNow;
            DateTime endDate     = startDate + new TimeSpan(1, 0, 0, 0);

            ResultCodeEnum result = HistoryLogger.WriteLog(messageText, requestId, CommandType.SendScheduledMessage, trainId, MessageStatusType.InstantMessageDistributionProcessing, startDate, endDate);

            Expect(result, Is.EqualTo(ResultCodeEnum.RequestAccepted), "Failed to insert schedule message into the history log");

            Expect(CountRecordInTable(MessageContextTableName), Is.EqualTo(1), "Table MessageContext wasn't updated as expected by method HistoryLogger.WriteLog");
            Expect(CountRecordInTable(MessageRequestTableName), Is.EqualTo(1), "Table MessageRequest wasn't updated as expected by method HistoryLogger.WriteLog");
            Expect(CountRecordInTable(MessageStatusTableName), Is.EqualTo(1), "Table MessageStatus wasn't updated as expected by method HistoryLogger.WriteLog");

            TestDelegate method = () => HistoryLogger.MarkPendingMessagesAsCanceledByStartup();

            Assert.That <TestDelegate>(ref method, Throws.Nothing, "Method MarkPendingMessagesAsCanceledByStartup failed while expecting not");

            Expect(CountRecordInTable(MessageContextTableName), Is.EqualTo(1), "Table MessageContext has been updated by method MarkPendingMessagesAsCanceledByStartup while expecting not");
            Expect(CountRecordInTable(MessageRequestTableName), Is.EqualTo(1), "Table MessageRequest has been updated by method MarkPendingMessagesAsCanceledByStartup while expecting not");
            Expect(CountRecordInTable(MessageStatusTableName), Is.EqualTo(2), "Table MessageStatus wasn't updated as expected by method MarkPendingMessagesAsCanceledByStartup");
        }
Beispiel #3
0
        public void TestCancelLogTrainError()
        {
            Guid           id  = Guid.NewGuid();
            ResultCodeEnum res = HistoryLogger.CancelLog(id, CommandType.CancelScheduledMessage, "", MessageStatusType.InstantMessageDistributionProcessing);

            Assert.AreNotEqual(ResultCodeEnum.RequestAccepted, res);
        }
Beispiel #4
0
 public Result(ResultCodeEnum resultCode, string description = null)
     : this()
 {
     this.IsSuccessfull = resultCode.GetSuccess();
     this.ResultCode = resultCode.ToString();
     this.ResultDescription = description;
 }
        public void statusReportGenerator()
        {
            string         response;
            ResultCodeEnum result = StatusReportGenerator.GenerateStatusResponse(trainsStatuses, out response);

            Assert.AreEqual(ResultCodeEnum.RequestAccepted, result, "Result code of GenerateStatusResponse");

            XmlDocument sourceDoc  = new XmlDocument();
            XmlDocument changedDoc = new XmlDocument();

            try
            {
                sourceDoc.LoadXml(expectedResponse);
                changedDoc.LoadXml(response);
            }
            catch (XmlException)
            {
                Assert.Fail("Response of GenerateStatusResponse");
            }

            XmlDiff xmldiff = new XmlDiff(XmlDiffOptions.IgnoreChildOrder |
                                          XmlDiffOptions.IgnoreNamespaces | XmlDiffOptions.IgnorePrefixes);

            Assert.AreEqual(true, xmldiff.Compare(sourceDoc, changedDoc), "Response of GenerateStatusResponse");
        }
Beispiel #6
0
 static void Main(string[] args)
 {
     try
     {
         ParseArguments(args);
         if (!request.Validate(true))
         {
             Environment.Exit(ResultCodeEnum.ERROR_INPUT.Value());
             return;
         }
         IDistributor distributor = GetDistributor(request);
         if (distributor == null)
         {
             Environment.Exit(ResultCodeEnum.ERROR_UNEXPECTED.Value());
             return;
         }
         UpdateBuilder  updateBuilder = new UpdateBuilder(distributor);
         ResultCodeEnum resultCode    = updateBuilder.ReleaseNewVersion(request);
         Environment.Exit(resultCode.Value());
     }
     catch (Exception ex)
     {
         ex.Message.WriteErrorToConsole();
         Environment.Exit(ResultCodeEnum.ERROR_UNEXPECTED.Value());
     }
 }
Beispiel #7
0
 protected Result(bool success, object root, string message, ResultCodeEnum resultCodeEnum)
 {
     this.Success        = success;
     this.Root           = root;
     this.Message        = message;
     this.ResultCodeEnum = resultCodeEnum;
 }
Beispiel #8
0
 /// <summary>
 /// Initializes a new instance of the <see cref="Result"/> class.
 /// </summary>
 /// <param name="resultCode">The result code.</param>
 /// <param name="description">The description.</param>
 public Result(ResultCodeEnum resultCode, string description = null)
     : this()
 {
     this.IsSuccessfull     = resultCode.GetSuccess();
     this.ResultCode        = resultCode.ToDescription();
     this.ResultDescription = description;
 }
        /// <summary>
        /// 完成权限删除
        /// </summary>
        /// <returns></returns>
        public ActionResult ClearUserAction()
        {
            string         result         = null;
            ResultCodeEnum resultCodeEnum = ResultCodeEnum.Failure;
            int            actionId       = int.Parse(Request["actionId"]);
            int            userId         = int.Parse(Request["userId"]);
            var            roleInfo_userInfo_actionInfo = UserInfo_ActionInfoService.LoadEntities(r => r.ActionInfoId == actionId && r.UserInfoId == userId).FirstOrDefault();

            if (roleInfo_userInfo_actionInfo != null)
            {
                if (UserInfo_ActionInfoService.DeleteEntity(roleInfo_userInfo_actionInfo))
                {
                    resultCodeEnum = ResultCodeEnum.Success;
                    result         = "删除成功!!";
                }
                else
                {
                    result = "删除失败!!";
                }
            }
            else
            {
                result = "数据不存在!!";
            }
            ResultModel <string> resultModel = new ResultModel <string>(resultCodeEnum, result);

            return(Json(resultModel));
        }
Beispiel #10
0
        public void TestGetOldestLogError()
        {
            List <CommandType> lst = new List <CommandType>();
            string             str;
            ResultCodeEnum     res = HistoryLogger.GetOldestLog(lst, out str);

            Assert.AreNotEqual(ResultCodeEnum.InvalidCommandType, res);
        }
Beispiel #11
0
        public void TestClearAllError()
        {
            Guid id = Guid.NewGuid();
            List <CommandType> lst = new List <CommandType>();
            ResultCodeEnum     res = HistoryLogger.CleanLog(lst);

            Assert.AreNotEqual(ResultCodeEnum.RequestAccepted, res);
        }
Beispiel #12
0
        public void TestGetAllLogDateError()
        {
            List <CommandType> lst = new List <CommandType>();
            string             str;
            ResultCodeEnum     res = HistoryLogger.GetAllLog(lst, DateTime.UtcNow, DateTime.UtcNow, 0, out str);

            Assert.AreNotEqual(ResultCodeEnum.InvalidCommandType, res);
        }
Beispiel #13
0
 /// <summary> 返回一个操作失败结果 </summary>
 public static new QueryResultModel <T> Failed(string msg, ResultCodeEnum code)
 {
     return(new QueryResultModel <T>
     {
         Succeed = false,
         Msg = msg,
         ResultCode = code
     });
 }
        /// <summary>
        /// 完成用户数据的更新
        /// </summary>
        /// <param name="userInfo"></param>
        /// <returns></returns>
        public ActionResult EditUserInfo(UserInfo userInfo)
        {
            userInfo.LastModifyTime = DateTime.Now;
            bool                 isOK           = UserInfoService.EditEntity(userInfo);
            ResultCodeEnum       resultCodeEnum = isOK ? ResultCodeEnum.Success : ResultCodeEnum.Failure;
            ResultModel <string> resultModel    = new ResultModel <string>(resultCodeEnum);

            return(Json(resultModel));
        }
        public static string GetMessageContent(ResultCodeEnum resultCode)
        {
            switch (resultCode)
            {
            case ResultCodeEnum.Success: return("執行成功");

            default: throw new NotImplementedException(string.Format("尚未定義APIResultCode.{0}的回傳訊息", resultCode.ToString()));
            }
        }
Beispiel #16
0
 /// <summary> 返回一个操作失败结果 </summary>
 public static ResultModel Failed(string msg, ResultCodeEnum code)
 {
     return(new ResultModel
     {
         Succeed = false,
         Msg = msg,
         ResultCode = code
     });
 }
Beispiel #17
0
        public void TestClearAll()
        {
            Guid id = Guid.NewGuid();
            List <CommandType> lst = new List <CommandType>();

            lst.Add(CommandType.CancelScheduledMessage);
            ResultCodeEnum res = HistoryLogger.CleanLog(lst);

            Assert.AreEqual(ResultCodeEnum.RequestAccepted, res);
        }
Beispiel #18
0
        public void TestGetAllLog()
        {
            List <CommandType> lst = new List <CommandType>();

            lst.Add(CommandType.SendScheduledMessage);
            string         str;
            ResultCodeEnum res = HistoryLogger.GetAllLog(lst, DateTime.Now, DateTime.Now, 0, out str);

            Assert.AreEqual(ResultCodeEnum.RequestAccepted, res);
        }
Beispiel #19
0
        public static bool GetSuccess(this ResultCodeEnum original)
        {
            switch (original)
            {
            case ResultCodeEnum.Success:
                return(true);

            default: return(false);
            }
        }
 internal LdapResult(
     ResultCodeEnum resultCode,
     string?matchedDn,
     string?errorMessage
     )
 {
     ResultCode   = resultCode;
     MatchedDN    = matchedDn;
     ErrorMessage = errorMessage;
 }
Beispiel #21
0
        public void TestWriteLogMuiltiTrainUpateEmptyError()
        {
            Guid id = Guid.NewGuid();

            HistoryLogger.WriteLog("TestWritelog", id, CommandType.SendScheduledMessage, "TRAIN1", MessageStatusType.InstantMessageDistributionProcessing, DateTime.Now, DateTime.Now);

            ResultCodeEnum res = HistoryLogger.UpdateMessageStatus("", id, MessageStatusType.InstantMessageDistributionWaitingToSend);

            Assert.AreNotEqual(ResultCodeEnum.RequestAccepted, res);
        }
Beispiel #22
0
        public void TestGetOldestLog()
        {
            Guid id = Guid.NewGuid();
            List <CommandType> lst = new List <CommandType>();

            lst.Add(CommandType.SendScheduledMessage);
            string         str;
            ResultCodeEnum res = HistoryLogger.GetOldestLog(lst, out str);

            Assert.AreEqual(ResultCodeEnum.RequestAccepted, res);
        }
Beispiel #23
0
        /// <summary>
        /// Clean the Baseline progress status
        /// </summary>
        /// <param name="trainId">train id.</param>
        /// <returns>Error code if any</returns>
        public static ResultCodeEnum CleanTrainBaselineStatus(string trainId)
        {
            ResultCodeEnum resultCode = ResultCodeEnum.RequestAccepted;

            if (HistoryLoggerConfiguration.Used)
            {
                resultCode = HistoryLogger.CleanTrainBaselineStatus(trainId);
            }

            return(resultCode);
        }
        /// <summary>
        /// 完成用户权限的分配
        /// </summary>
        /// <returns></returns>
        public ActionResult SetUserAction()
        {
            int                  actionId       = int.Parse(Request["actionId"]);
            int                  userId         = int.Parse(Request["userId"]);
            bool                 isPass         = Request["isPass"] == "true" ? true : false;
            bool                 isOK           = UserInfoService.SetUserActionInfo(actionId, userId, isPass);
            ResultCodeEnum       resultCodeEnum = isOK ? ResultCodeEnum.Success : ResultCodeEnum.Failure;
            ResultModel <string> resultModel    = new ResultModel <string>(resultCodeEnum);

            return(Json(resultModel));
        }
Beispiel #25
0
        public void TestGetAllLogMultiCommand()
        {
            Guid id = Guid.NewGuid();
            List <CommandType> lst = new List <CommandType>();

            lst.Add(CommandType.SendScheduledMessage);
            lst.Add(CommandType.CancelScheduledMessage);
            string         str;
            ResultCodeEnum res = HistoryLogger.GetAllLog(lst, DateTime.Parse("2012-06-26"), DateTime.Parse("2012-06-28"), 0, out str);

            Assert.AreEqual(ResultCodeEnum.RequestAccepted, res);
        }
        /// <summary>
        /// 添加用户数据
        /// </summary>
        /// <returns></returns>
        public ActionResult AddUserInfo(UserInfo userInfo)
        {
            userInfo.StateFlag  = 0;
            userInfo.CreateTime = DateTime.Now;
            userInfo.CreaterId  = 1;
            userInfo.Account    = userInfo.UserName;
            bool                 isOK           = UserInfoService.AddEntity(userInfo);
            ResultCodeEnum       resultCodeEnum = isOK ? ResultCodeEnum.Success : ResultCodeEnum.Failure;
            ResultModel <string> resultModel    = new ResultModel <string>(resultCodeEnum);

            return(Json(resultModel));
        }
Beispiel #27
0
        public void TestCancelLog()
        {
            Guid id = Guid.NewGuid();

            HistoryLogger.WriteLog("TestWritelog", id, CommandType.SendScheduledMessage, "TRAIN1", MessageStatusType.InstantMessageDistributionProcessing, DateTime.Now, DateTime.Now);
            HistoryLogger.WriteLog("TestWritelog", id, CommandType.SendScheduledMessage, "TRAIN2", MessageStatusType.InstantMessageDistributionProcessing, DateTime.Now, DateTime.Now);
            HistoryLogger.WriteLog("TestWritelog", id, CommandType.SendScheduledMessage, "TRAIN3", MessageStatusType.InstantMessageDistributionProcessing, DateTime.Now, DateTime.Now);
            HistoryLogger.WriteLog("TestWritelog", id, CommandType.SendScheduledMessage, "TRAIN4", MessageStatusType.InstantMessageDistributionProcessing, DateTime.Now, DateTime.Now);

            ResultCodeEnum res = HistoryLogger.CancelLog(id, CommandType.CancelScheduledMessage, "TRAIN1", MessageStatusType.InstantMessageDistributionProcessing);

            Assert.AreEqual(ResultCodeEnum.RequestAccepted, res);
        }
Beispiel #28
0
        /// <summary>
        /// Method used to get all the status of the baselines
        /// </summary>
        /// <param name="dictionaryResponse">output dictionary response</param>
        /// <returns>Error code if any</returns>
        public static ResultCodeEnum GetTrainBaselineStatus(out Dictionary <string, TrainBaselineStatusData> dictionaryResponse)
        {
            ResultCodeEnum resultCode = ResultCodeEnum.RequestAccepted;

            dictionaryResponse = null;

            if (HistoryLoggerConfiguration.Used)
            {
                resultCode = HistoryLogger.GetTrainBaselineStatus(out dictionaryResponse);
            }

            return(resultCode);
        }
Beispiel #29
0
        public void TestMaxCountTest()
        {
            for (int i = 0; i < 100; i++)
            {
                Guid id = Guid.NewGuid();
                HistoryLogger.WriteLog("TestWritelog", id, CommandType.SendScheduledMessage, "TRAIN" + i.ToString(), MessageStatusType.InstantMessageDistributionProcessing, DateTime.Now, DateTime.Now);
            }
            List <CommandType> lst = new List <CommandType>();

            lst.Add(CommandType.CancelScheduledMessage);
            lst.Add(CommandType.SendScheduledMessage);
            string         str;
            ResultCodeEnum res = HistoryLogger.GetAllLog(lst, DateTime.Parse("2012-06-26"), DateTime.Parse("2012-06-29"), 0, out str);

            Assert.AreEqual(ResultCodeEnum.OutputLimitExceed, res);
        }
Beispiel #30
0
        /// <summary>
        /// 完成用户登录
        /// </summary>
        /// <returns></returns>
        public ActionResult UserLogin()
        {
            ResultCodeEnum resultCodeEnum = ResultCodeEnum.Failure;
            string         message        = string.Empty;
            var            sessionCode    = Session["validateCode"];
            string         validateCode   = sessionCode != null?sessionCode.ToString() : string.Empty;

            if (string.IsNullOrEmpty(validateCode))
            {
                message = "验证码错误";
            }
            else
            {
                Session["validateCode"] = null;
                string txtCode = Request["vCode"];
                if (!validateCode.Equals(txtCode, StringComparison.InvariantCultureIgnoreCase))
                {
                    message = "验证码错误";
                }
                else
                {
                    string account  = Request["LoginCode"];
                    string userPwd  = Request["LoginPwd"];
                    var    userInfo = UserInfoService.LoadEntities(o => o.Account == account && o.UserPassword == userPwd).FirstOrDefault();
                    if (userInfo != null)
                    {
                        // Session["userInfo"] = userInfo;
                        //产生一个GUID值作为Memache的键.
                        //  System.Web.Script.Serialization.JavaScriptSerializer
                        string sessionId = Guid.NewGuid().ToString();
                        //将登录用户信息存储到Memcache中。
                        MemcacheHelper.Set(sessionId, SerializeHelper.SerializeToString(userInfo), DateTime.Now.AddMinutes(20));
                        //将Memcache的key以Cookie的形式返回给浏览器。
                        Response.Cookies["sessionId"].Value = sessionId;
                        resultCodeEnum = ResultCodeEnum.Success;
                        message        = "登录成功";
                    }
                    else
                    {
                        message = "登录失败";
                    }
                }
            }
            ResultModel <string> resultModel = new ResultModel <string>(resultCodeEnum, message);

            return(Json(resultModel, JsonRequestBehavior.AllowGet));
        }
        /// <summary>
        /// 删除用户列表数据
        /// </summary>
        /// <returns></returns>
        public ActionResult DeleteUserInfo()
        {
            string strId = Request["strId"];

            string[]   strIds = strId.Split(',');
            List <int> list   = new List <int>();

            foreach (string id in strIds)
            {
                list.Add(Convert.ToInt32(id));
            }
            //将list集合存储要删除的记录编号发送到服务端
            bool                 isOK           = UserInfoService.DeleteEntities(list);
            ResultCodeEnum       resultCodeEnum = isOK ? ResultCodeEnum.Success : ResultCodeEnum.Failure;
            ResultModel <string> resultModel    = new ResultModel <string>(resultCodeEnum);

            return(Json(resultModel));
        }