Inheritance: TwilioController
コード例 #1
0
ファイル: Post_Should.cs プロジェクト: bobcoull/VueSms
        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);
        }
コード例 #2
0
 public Resources()
 {
     LogHelper  = new Mock <ILogHelper>();
     SmsGateway = new Mock <ISmsGateway>();
     EventBus   = new Mock <IEventBus>();
     Controller = new SmsController(LogHelper.Object, SmsGateway.Object, EventBus.Object);
 }
コード例 #3
0
ファイル: UrsController.cs プロジェクト: P79N6A/projects
        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)));
        }
コード例 #4
0
        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);
        }
コード例 #5
0
        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);
        }
コード例 #6
0
        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);
        }
コード例 #7
0
        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);
        }
コード例 #8
0
        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);
        }
コード例 #9
0
        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);
        }
コード例 #10
0
ファイル: UrsController.cs プロジェクト: P79N6A/projects
        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)));
        }
コード例 #11
0
 public void TestInitialize()
 {
     _mockBus    = new Mock <IMediator>(MockBehavior.Strict);
     _controller = new SmsController(_mockBus.Object)
     {
         Request = new HttpRequestMessage()
     };
     _controller.Request.SetConfiguration(new HttpConfiguration());
 }
コード例 #12
0
        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);
        }
コード例 #13
0
        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);
        }
コード例 #14
0
        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"));
        }
コード例 #15
0
ファイル: UrsController.cs プロジェクト: P79N6A/projects
        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)));
        }
コード例 #16
0
        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();
        }
コード例 #17
0
ファイル: SMS.asmx.cs プロジェクト: clubeconteza/ClubeConteza
        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);
        }
コード例 #18
0
        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);
        }
コード例 #19
0
        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));
        }
コード例 #20
0
        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);
        }
コード例 #21
0
        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);
        }
コード例 #22
0
        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());
        }
コード例 #23
0
        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);
        }
コード例 #24
0
ファイル: UrsController.cs プロジェクト: P79N6A/projects
        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)));
        }
コード例 #25
0
        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;
        }
コード例 #26
0
        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");
        }
コード例 #27
0
        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>);
        }
コード例 #28
0
        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);
        }
コード例 #29
0
        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();
        }
コード例 #30
0
        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);
        }
コード例 #31
0
        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");
        }
コード例 #32
0
        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);
        }