コード例 #1
0
        /// <summary>
        /// 测试页面
        /// </summary>
        /// <returns></returns>
        public ActionResult Index()
        {
            ViewBag.CacheData = CacheHelper.Get <string>(ConstValues.CacheKey_HistoryLottery);
            var siteInfo = new SiteInfoEntity();// _siteInfo.Get(0);
            var siteName = _siteInfo.GetName();

            return(View(siteInfo));
        }
コード例 #2
0
        public void Ctor_Should_CreateEntity_WithUnknownStatus()
        {
            //Arrange
            var siteId      = Guid.NewGuid();
            var siteUri     = new Uri($"http://{siteId}");
            var refreshTime = RefreshPeriod.FromSeconds(4);

            //Act
            var entity = new SiteInfoEntity(siteId, siteUri, refreshTime);

            //Assert
            Assert.Equal(SiteStatus.Unknown, entity.Status);
        }
コード例 #3
0
        public Task UpdateSiteInfo(Guid id, Uri uri, RefreshPeriod refreshPeriod)
        {
            lock (_lockObject)
            {
                if (!_siteData.ContainsKey(id))
                {
                    throw new EntityNotExistException();
                }

                var siteInfo = new SiteInfoEntity(id, uri, refreshPeriod);
                _siteData[id] = siteInfo;

                return(Task.CompletedTask);
            }
        }
コード例 #4
0
        public void Ctor_ShouldSavePassedParams()
        {
            //Arrange
            var siteId      = Guid.NewGuid();
            var siteUri     = new Uri($"http://{siteId}");
            var refreshTime = RefreshPeriod.FromSeconds(4);

            //Act
            var entity = new SiteInfoEntity(siteId, siteUri, refreshTime);

            //Assert
            Assert.Equal(siteId, entity.Id);
            Assert.Equal(siteUri, entity.Uri);
            Assert.Equal(refreshTime, entity.RefreshTimeInSeconds);
        }
コード例 #5
0
        public void SetStatus_Should_ChangeStatus()
        {
            //Arrange
            var siteId      = Guid.NewGuid();
            var siteUri     = new Uri($"http://{siteId}");
            var refreshTime = RefreshPeriod.FromSeconds(4);
            var entity      = new SiteInfoEntity(siteId, siteUri, refreshTime);
            var oldStatus   = entity.Status;
            var newStatus   = SiteStatus.Offline;

            //Act
            entity.SetStatus(newStatus);

            //Assert
            Assert.NotEqual(oldStatus, newStatus);
            Assert.Equal(entity.Status, newStatus);
        }
コード例 #6
0
        public async Task Execute_ShouldNot_NotifyClients_If_StatusNotChanged()
        {
            //Arrange
            var siteId   = Guid.NewGuid();
            var siteUri  = new Uri($"http://{siteId}");
            var siteInfo = new SiteInfoEntity(siteId, siteUri, RefreshPeriod.FromSeconds(3));

            siteInfo.SetStatus(SiteStatus.Online);

            _siteStorageMock.Setup(x => x.GetSiteInfo(siteId)).ReturnsAsync(siteInfo);
            _siteStatusCheckerMock.Setup(x => x.GetStatus(siteUri)).ReturnsAsync(StatusCheckResult.Success);

            //Act
            await _target.Execute(siteId, siteUri);

            //Assert
            _clientNotifierMock.Verify(x => x.UpdateSitesInfo(), Times.Never);
        }