Esempio n. 1
0
        [TestCase("user1", 1000)]//1秒経過
        public void LastLoginによる最終ログイン時間の取得(string user, int waitMsec)
        {
            //Ticksは100ナノ秒単位
            //10で1マイクロ秒
            //10000で1ミリ秒
            //10000000で1秒
            //setUp
            var ip  = new Ip("10.0.0.1");
            var now = DateTime.Now; //ログイン直前の時間計測

            sut.Login(user, ip);    //ログイン
            Thread.Sleep(waitMsec); //経過時間
            var expected = true;

            //exercise
            var dt     = sut.LastLogin(ip);                //ログイン後の時間計測
            var actual = (dt.Ticks - now.Ticks) < 1000000; //10ミリ秒以下の誤差

            //verify
            Assert.That(actual, Is.EqualTo(expected));
        }
Esempio n. 2
0
 //認証されているかどうかのチェック
 public bool Auth(Ip addr)
 {
     if (_usePopBeforeSmtp)
     {
         var span = DateTime.Now - _mailBox.LastLogin(addr); //最終ログイン時刻からの経過時間を取得
         //var sec = (int)span.TotalSeconds;//経過秒
         var sec = span.TotalSeconds;                        //経過秒
         if (0 < sec && sec < _timePopBeforeSmtp)
         {
             return(true);//認証されている
         }
     }
     return(false);
 }