public void Post_ReturnsActionResult_With200Status_For_Valid_Message_Valid_Phone() { // assign Mock <ITwilioService> twilioServiceMock = new Mock <ITwilioService>(); twilioServiceMock .Setup(x => x.SendMessage("hello world", "12345")) .Returns(new SendMessageResponse()); var smsController = new SmsController(twilioServiceMock.Object); SendMessageRequest smsMessageRequest = new SendMessageRequest { Message = "hello world", MobileNo = "12345" }; // act var result = smsController.Post(smsMessageRequest); // assert var viewResult = Assert.IsType <OkObjectResult>(result); Assert.Equal(200, viewResult.StatusCode); }
public Resources() { LogHelper = new Mock <ILogHelper>(); SmsGateway = new Mock <ISmsGateway>(); EventBus = new Mock <IEventBus>(); Controller = new SmsController(LogHelper.Object, SmsGateway.Object, EventBus.Object); }
public IActionResult func_bindassociationmobile([FromQuery] string email, [FromQuery] string mobile, [FromQuery] string smskey, [FromQuery] string smscode) { if (email.IsNullOrEmpty() || !email.Contains("@") || !email.EndsWith(".com")) { return(this.FuncResult(new APIReturn(10000, $"参数错误({email})"))); } if (mobile.IsNullOrEmpty() || mobile.Length < 7) { return(this.FuncResult(new APIReturn(10000, $"参数错误({mobile})"))); } if (!IFConfigReader.IsProg) { if (string.IsNullOrEmpty(smskey)) { return(this.FuncResult(new APIReturn(10005, "短信验证KEY不能为空"))); } if (string.IsNullOrEmpty(smscode)) { return(this.FuncResult(new APIReturn(10004, "短信验证码不能为空"))); } var smsCheckRet = SmsController.CheckSMS(smskey, smscode); if (smsCheckRet.Code != 0) { return(this.FuncResult(smsCheckRet)); } } var dicParams = this.DicParams; dicParams.Add("email", email); dicParams.Add("mobile", mobile); return(this.FuncResult(DC2Invoker.InvokeHttp("bindassociationmobile", HttpMethod.Get, dicParams))); }
public void SmsController_IfRecordExists_ShouldReturnMessage() { // Arrange var repository = new MockSmsRepository(); var guid = Guid.NewGuid(); var to = Guid.NewGuid().ToString(); var model = new SmsMessage { Created = DateTime.UtcNow, From = Guid.NewGuid().ToString(), Guid = guid, Message = Guid.NewGuid().ToString(), To = to }; repository.Insert(model); var controller = new SmsController(repository); // Act var result1 = controller.Get(guid); var result2 = controller.Get(to, guid); // Assert Assert.IsTrue(result1 is OkNegotiatedContentResult <SmsMessage>); Assert.IsTrue(result2 is OkNegotiatedContentResult <SmsMessage>); var content1 = (result1 as OkNegotiatedContentResult <SmsMessage>).Content; var content2 = (result2 as OkNegotiatedContentResult <SmsMessage>).Content; Assert.IsTrue(content1.Guid == guid); Assert.IsTrue(content2.Guid == guid); }
public void Login() { SmsController sms = new SmsController(); InputSendSms input = new InputSendSms() { phone = "13101200141", type = EnumSms.itype.RegLogin }; smsClear.ClearSms(input.phone); accountClear.ClearUser(input.phone); accountClear.AddUser(input.phone); var v1 = sms.GetValidate(input).Data as YJYSoft.YL.Common.AjaxResult; Assert.IsTrue(v1.code == 0); var v2 = sms.CheckValidate(input.phone, input.type, "123456", "").Data as YJYSoft.YL.Common.AjaxResult; Assert.IsTrue(v2.code == 0); var v = Newtonsoft.Json.JsonConvert.SerializeObject(v2.data); Newtonsoft.Json.JsonConvert.SerializeObject(v2.data); JObject data = Newtonsoft.Json.JsonConvert.DeserializeObject(v) as JObject; Assert.IsTrue(data["uid"] != null); accountClear.ClearUser(input.phone); }
public void Get_ReturnsActionResult_With_200_Status_With_Messges_For_Valid_Date_Range() { // assign Mock <ITwilioService> twilioServiceMock = new Mock <ITwilioService>(); DateTime fromDate = new DateTime(2019, 02, 10, 10, 0, 0); DateTime toDate = new DateTime(2019, 02, 11, 10, 0, 0); twilioServiceMock .Setup(x => x.GetMessages(fromDate, toDate)) .Returns(new GetMessagesResponse { SmsMessages = new List <SmsMessage> { new SmsMessage { DateSent = new DateTime(2019, 02, 10, 10, 0, 0), MessageBody = "Tet Message" } } } ); var smsController = new SmsController(twilioServiceMock.Object); // act var result = smsController.Get("10/02/2019 10:00:00", "11/02/2019 10:00:00"); // assert var viewResult = Assert.IsType <OkObjectResult>(result); var model = Assert.IsAssignableFrom <GetMessagesResponse>(viewResult.Value); Assert.True(model.IsSuccess); Assert.Equal(1, model.SmsMessages.Count); }
public void BingPhoneExistBing() { AccountController account = new AccountController(); ThreeLoginInfo three = new ThreeLoginInfo() { openid = "13101200146", //类型 1 wx,2 qq,3 wb type = 1, nickname = "unittest", }; string token = JWTManager.Encode(three); SmsController sms = new SmsController(); InputSendSms input = new InputSendSms() { phone = "13101200146", type = EnumSms.itype.BingPhone, bingtoken = token, }; smsClear.ClearSms(input.phone); accountClear.ClearUser(input.phone); accountClear.AddBing(input.phone, three); var v1 = sms.GetValidate(input).Data as YJYSoft.YL.Common.AjaxResult; Assert.IsTrue(v1.code == 0); var v2 = sms.CheckValidate(input.phone, input.type, "123456", token).Data as YJYSoft.YL.Common.AjaxResult; Assert.IsTrue(v2.code == 1010203, "已经绑定手机验证失败"); accountClear.ClearUser(input.phone); }
public int Register(string phone) { AccountController account = new AccountController(); SmsController sms = new SmsController(); InputSendSms input = new InputSendSms() { phone = phone, type = EnumSms.itype.RegLogin }; smsClear.ClearSms(input.phone); accountClear.ClearUser(input.phone); var v1 = sms.GetValidate(input).Data as YJYSoft.YL.Common.AjaxResult; Assert.IsTrue(v1.code == 0, "发送短信失败{0}", v1.msg); var v2 = sms.CheckValidate(input.phone, input.type, "123456", "").Data as YJYSoft.YL.Common.AjaxResult; Assert.IsTrue(v2.code == 0, "验证短信失败{0}", v1.msg); var v = Newtonsoft.Json.JsonConvert.SerializeObject(v2.data); JObject data = Newtonsoft.Json.JsonConvert.DeserializeObject(v) as JObject; Assert.IsTrue(data["isExit"].Value <string>() == "1" && data["uid"] == null); var v3 = account.SetPwd(data["temptoken"].Value <string>(), input.phone, YJYSoft.YL.Common.Encrypt.MD5Encrypt("123456"), "0", "").Data as YJYSoft.YL.Common.AjaxResult; Assert.IsTrue(v3.code == 0, "注册用户失败{0}", v3.msg); return(v3.data.uid); }
public void SendBingPhoneExist() { ThreeLoginInfo three = new ThreeLoginInfo() { openid = "1", //类型 1 wx,2 qq,3 wb type = 1 }; string token = JWTManager.Encode(three); SmsController sms = new SmsController(); InputSendSms input = new InputSendSms() { phone = "13101200134", type = EnumSms.itype.BingPhone, bingtoken = token }; //添加用户 smsClear.ClearBingTestUser(input.phone); smsClear.AddBingTestUser(input.phone, three.type); var v1 = sms.GetValidate(input).Data as YJYSoft.YL.Common.AjaxResult; Assert.IsTrue(v1.code == 1010102); //清除用户 smsClear.ClearBingTestUser(input.phone); }
public IActionResult func_getAcctByMobile(string mobile, string smscode, string smskey, int isvalid) { bool validatecode = isvalid == 0;//是否检查短信验证码 //int number = (Math.Abs(mobile.GetHashCode()) > 20000000 ? Math.Abs(mobile.GetHashCode()) : 200000000 + Math.Abs(mobile.GetHashCode())); if (mobile.IsNullOrEmpty() || mobile.Length < 7) { return(this.FuncResult(new APIReturn(10205, "手机号格式错误"))); } if (!IFConfigReader.IsProg || validatecode) { if (string.IsNullOrEmpty(smskey)) { return(this.FuncResult(new APIReturn(10005, "短信验证KEY不能为空"))); } if (string.IsNullOrEmpty(smscode)) { return(this.FuncResult(new APIReturn(10004, "短信验证码不能为空"))); } var smsCheckRet = SmsController.CheckSMS(smskey, smscode); if (smsCheckRet.Code != 0) { return(this.FuncResult(smsCheckRet)); } } var dicParams = this.DicParams; dicParams.Add("mobile", mobile); return(this.FuncResult(DC2Invoker.InvokeHttp("get_acct_by_mobile", HttpMethod.Get, dicParams))); }
public void TestInitialize() { _mockBus = new Mock <IMediator>(MockBehavior.Strict); _controller = new SmsController(_mockBus.Object) { Request = new HttpRequestMessage() }; _controller.Request.SetConfiguration(new HttpConfiguration()); }
public void Get_ReturnsActionResult_WithCollectionOfStrings_ByDate() { var smsController = new SmsController(); var result = smsController.Get(string.Empty); // Assert var viewResult = Assert.IsType <OkObjectResult>(result); Assert.Equal(200, viewResult.StatusCode); }
public void Post_ReturnsActionResult_With200Status() { var smsController = new SmsController(); var result = smsController.Post(""); // Assert var viewResult = Assert.IsType <OkResult>(result); Assert.Equal(200, viewResult.StatusCode); }
public IActionResult SendRemindersFromHome(int eventId) { string userId = User.FindFirst(ClaimTypes.NameIdentifier).Value; UserInfo userInfo = _context.UserInfo.Where(x => x.UserId == userId).First(); EventTable foundEvent = _context.EventTable.Where(x => x.EventId == eventId).First(); Groups group = _context.Groups.Where(x => x.GroupId == foundEvent.GroupId).First(); List <GroupMembers> members = _context.GroupMembers.Where(x => x.Groups == group.GroupId).ToList(); TimeZoneInfo myTimeZone = TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard Time"); DateTime currentDateTime = TimeZoneInfo.ConvertTimeFromUtc(DateTime.UtcNow, myTimeZone); TimeSpan timeRemainingForEvent = foundEvent.DateAndTime.Subtract(currentDateTime); string timeLeft; if (timeRemainingForEvent.TotalDays < 1) { if (timeRemainingForEvent.Hours > 1) { timeLeft = timeRemainingForEvent.Hours.ToString(); timeLeft = timeLeft + " hours"; } else { timeLeft = timeRemainingForEvent.Hours.ToString(); timeLeft = timeLeft + " hour"; } } else { if (timeRemainingForEvent.Days > 1) { timeLeft = timeRemainingForEvent.Days.ToString(); timeLeft = timeLeft + " days"; } else { timeLeft = timeRemainingForEvent.Days.ToString(); timeLeft = timeLeft + " day"; } } foreach (var m in members) { SmsController.SendTextInHome(TwilioAccountSid, TwilioAuthToken, $"Hey, {m.MemberName}! Just a reminder from {userInfo.FirstName} You have {timeLeft} until {foundEvent.EventName}. Are you still coming? You can still RSVP by texting back with 'yes {foundEvent.EventId}' or 'no {foundEvent.EventId}'", m.PhoneNumber); } return(RedirectToAction("Events")); }
public IActionResult func_getPwdByMobile(string account, string mobile, string smskey, string smscode, string newpass, string country) { if (string.IsNullOrEmpty(account)) { return(this.FuncResult(new APIReturn(10001, "缺少账号参数"))); } if (!Utilities.IsValidEmail(account)) { return(this.FuncResult(new APIReturn(10302, "不合法的邮箱帐号格式"))); } if (mobile.Length < 5) { return(this.FuncResult(new APIReturn(10205, "不合法的手机号长度"))); } if (string.IsNullOrEmpty(newpass) || newpass.Length != 32) { return(this.FuncResult(new APIReturn(10305, "不合法的密码长度"))); } if (!IFConfigReader.IsProg) { if (string.IsNullOrEmpty(smskey)) { return(this.FuncResult(new APIReturn(10005, "短信验证KEY不能为空"))); } if (string.IsNullOrEmpty(smscode)) { return(this.FuncResult(new APIReturn(10004, "短信验证码不能为空"))); } var smsCheckRet = SmsController.CheckSMS(smskey, smscode); if (smsCheckRet.Code != 0) { return(this.FuncResult(smsCheckRet)); } } string[] accountext = account.Split("@".ToCharArray(), StringSplitOptions.RemoveEmptyEntries); string maildomain = accountext[1]; if (maildomain.ToLower() == "2980.com") { return(this.FuncResult(new APIReturn(10350, "2980帐号请到2980邮箱重设密码"))); } var dicParams = this.DicParams; dicParams.Add("account", account); dicParams.Add("mobile", mobile); //dicParams.Add("smscode", smscode); dicParams.Add("newpass", newpass); dicParams.Add("country", country); return(this.FuncResult(DC2Invoker.InvokeHttp("get_pwd_by_mobile", HttpMethod.Get, dicParams))); }
public async Task TestDeleteById() { Mock <ISmsRepository> mock = new Mock <ISmsRepository>(); SmsController controller = new SmsController(mock.Object); mock.Setup(t => t.Delete(It.IsAny <int>())).Verifiable(); await controller.DeleteSMSByID(1); mock.VerifyAll(); }
public string EnviaSMS(SmsController sms) { var seuNum = string.Format("A{0}B{1}C{2}", sms.TB012_id, sms.TB009_id, sms.TB039_id); var celular = string.Concat("55", sms.TB009_Contato.Replace("-", "").Replace("(", "").Replace(")", "").Replace(" ", "")); var ws = new WSReluzCap.ReluzCapWebService(); var retorno = ws.EnviaSMS(numUsu, senha, seuNum, celular, sms.TB039_Mensagem); //Retorna uma string com um dos valores abaixo: + OK – Mensagem aceita para transmissão + NOK – Mensagem não aceita para transmissão ou pendências financeiras + Erro + NA (não disponível) – Sistema não disponível return(retorno); }
public async Task TestGetById() { Mock <ISmsRepository> mock = new Mock <ISmsRepository>(); SmsController controller = new SmsController(mock.Object); mock.Setup(mock => mock.GetById(It.IsAny <Guid>())).ReturnsAsync(new SMS()); SMS sms = await controller.GetById(Guid.NewGuid()); Assert.IsNotNull(sms); }
public async Task TestDeleteSmsNull() { Mock <ISmsRepository> mock = new Mock <ISmsRepository>(); SmsController controller = new SmsController(mock.Object); SMS sms = null; ArgumentNullException exception = await Assert.ThrowsExceptionAsync <ArgumentNullException>(() => controller.DeleteSms(sms)); Assert.AreEqual(exception.ParamName, nameof(sms)); }
public void SmsController_EmptyPostMessage_ShouldReturnBadRequest() { // Arrange var repository = new MockSmsRepository(); var controller = new SmsController(repository); // Act var actionResult = controller.Post(null); // Assert Assert.IsTrue(actionResult is BadRequestErrorMessageResult); }
public void TestTypeError() { SmsController sms = new SmsController(); InputSendSms input = new InputSendSms() { phone = "13101200132", type = 0 }; var v1 = sms.GetValidate(input).Data as YJYSoft.YL.Common.AjaxResult; Assert.IsTrue(v1.code == 1010101); }
public void Get_ReturnsActionResult_WithCollectionOfStrings() { var smsController = new SmsController(); var result = smsController.Get(); // Assert var viewResult = Assert.IsType <OkObjectResult>(result); var model = Assert.IsAssignableFrom <IEnumerable <string> >( viewResult.Value); Assert.Equal(2, model.Count()); }
public void Post_ReturnsActionResult_With200Status() { var smsController = new SmsController(); var result = smsController.Post(new Models.SmsRequest { Number = "+380976579827", Content = "Test" }); // Assert var viewResult = Assert.IsType <OkObjectResult>(result); Assert.Equal(200, viewResult.StatusCode); }
public IActionResult func_reg2980(Reg2980Model model) { if (string.IsNullOrEmpty(model.mobile)) { return(this.FuncResult(new APIReturn(10008, "手机号码不能为空"))); } if (string.IsNullOrEmpty(model.password)) { return(this.FuncResult(new APIReturn(10002, "密码不能为空"))); } if (model.account == null) { } else if (model.account.EndsWith("@2980.com") || model.account.Length < 6 || model.account.Length > 16) { return(this.FuncResult(new APIReturn(10302, "帐号格式错误"))); } //if (string.IsNullOrEmpty(model.account)) //{ // return this.FuncResult(new APIReturn(10001, "帐号不能为空")); //} if (!IFConfigReader.IsProg) { if (string.IsNullOrEmpty(model.smskey)) { return(this.FuncResult(new APIReturn(10005, "短信验证KEY不能为空"))); } if (string.IsNullOrEmpty(model.smscode)) { return(this.FuncResult(new APIReturn(10004, "短信验证码不能为空"))); } var smsCheckRet = SmsController.CheckSMS(model.smskey, model.smscode); if (smsCheckRet.Code != 0) { return(this.FuncResult(smsCheckRet)); } } var dicParams = this.DicParams; dicParams.Add("mobile", model.mobile); dicParams.Add("password", model.password); dicParams.Add("account", model.account ?? string.Empty); dicParams.Add("name", model.name ?? string.Empty); dicParams.Add("idnumber", model.idnumber ?? string.Empty); return(this.FuncResult(DC2Invoker.InvokeHttp("reg2980", HttpMethod.Post, dicParams))); }
private static SmsController GetController() { var modems_rep = new Mock<ModemsRepository>(); modems_rep.Setup(m => m.GetModemByGateway(It.IsAny<string>())).Returns<string>(p => GetTestModem(p)); var accs_rep = new Mock<AccountsRepository>(); //Account account = null; accs_rep.Setup(m => m.GetAccountBySms(It.IsAny<string>(), It.IsAny<int?>(), It.IsAny<int?>())).Returns<string, int?, int?>((p1, p2, p3)=> GetTestAccountBySms(p1, p2, p3)); var trans_rep = new Mock<TransactionsRepository>(); var currency_rep = new Mock<CurrenciesRepository>(); currency_rep.Setup(m => m.GetCurrencyByShortName(It.IsAny<string>())).Returns<string>(p => GetTestCurrencyByShortName(p)); var cats_rep = new Mock<CategoriesRepository>(); var controller = new SmsController(modems_rep.Object, trans_rep.Object, accs_rep.Object, currency_rep.Object, cats_rep.Object); return controller; }
public void TestMethod1() { SmsController sc = new SmsController(); AccountController ac = new AccountController(); InputSendSms input = new InputSendSms() { phone = "13179960679", type = EnumSms.itype.RegLogin, bingtoken = "133" }; sc.GetValidate(input); sc.CheckValidate("13179960679", EnumSms.itype.RegLogin, "123456", "1"); ac.UpdatePwd("111111", "123456"); }
public void SmsController_ValidPostMessage_ShouldReturnCreated() { // Arrange var repository = new MockSmsRepository(); var controller = new SmsController(repository); var model = new SendSmsBindingModel { To = Guid.NewGuid().ToString(), Message = Guid.NewGuid().ToString() }; // Act var actionResult = controller.Post(model); // Assert Assert.IsTrue(actionResult is CreatedNegotiatedContentResult <SmsMessage>); }
public void SendRegLogin() { SmsController sms = new SmsController(); InputSendSms input = new InputSendSms() { phone = "13101200133", type = EnumSms.itype.RegLogin }; smsClear.ClearSms(input.phone); var v1 = sms.GetValidate(input).Data as YJYSoft.YL.Common.AjaxResult; Assert.IsTrue(v1.code == 0); smsClear.ClearSms(input.phone); }
public async Task TestDeleteSms() { Mock <ISmsRepository> mock = new Mock <ISmsRepository>(); SmsController controller = new SmsController(mock.Object); SMS sms = new SMS() { Id = new Guid() }; mock.Setup(t => t.Delete(It.IsAny <SMS>())).Verifiable(); await controller.DeleteSms(sms); mock.VerifyAll(); }
public void Get_ReturnsActionResult_With_400_Status_With_Invalid_Valid_To_Date() { // assign Mock <ITwilioService> twilioServiceMock = new Mock <ITwilioService>(); var smsController = new SmsController(twilioServiceMock.Object); // act var result = smsController.Get("22/02/2019 10:00:00", "30/15/2019 10:00:00"); // assert var viewResult = Assert.IsType <BadRequestObjectResult>(result); var model = Assert.IsAssignableFrom <GetMessagesResponse>(viewResult.Value); Assert.False(model.IsSuccess); Assert.Equal(1, model.ErrorMessages.Count); }
public void SmsController_ValidPostMessage_ShouldSaveToTableAndQueue() { // Arrange var repository = new MockSmsRepository(); var controller = new SmsController(repository); var model = new SendSmsBindingModel { To = Guid.NewGuid().ToString(), Message = Guid.NewGuid().ToString() }; // Act var actionResult = controller.Post(model); // Assert Assert.AreEqual(1, repository.QueueLength, "failed to save to queue"); Assert.AreEqual(1, repository.TableSize, "failed to save to table"); }
public void RecieveMessageTest() { // arrange var target = new SmsController(); const string key = "givemeaccesstotoyou"; const string gateway = "GETWAY1"; const string @from = "BelSwissBank"; var to = string.Empty; const string message = @"4..3855 ATM Uspeshno 2011-10-15 13:38:09 Summa: 200000 BYR Ostatok: 333887 BYR Na vremya: 13:38:16 BLR/MINSK/ATMMMB HO19 CUM MINSK"; // act var actual = target.RecieveMessage(key, gateway, from, to, message); // assert Assert.AreEqual("ok", actual); }