Ejemplo n.º 1
0
 public Broadcast(RequestDelegate next, WebPagesMonitor monitor, IHubContext <UpdateStatusHub> hub)
 {
     this.next             = next;
     this.hub              = hub;
     this.pages            = new ConcurrentDictionary <int, WebPage>();
     this.monitor          = monitor;
     this.monitor.Updated += BroadcastHandler;
 }
Ejemplo n.º 2
0
        public void MonitorPagesTest()
        {
            using (var monitor = new WebPagesMonitor())
            {
                var originalPages = GetPages();
                monitor.Start(originalPages, TimeSpan.FromSeconds(5));
                var isRaised = false;
                monitor.Updated += (pages) =>
                {
                    isRaised = true;
                    var vk = pages.First();
                    Assert.Equal(vk.Status, HttpStatusCode.OK.ToString());

                    var test = pages.Last();
                    Assert.True(test.Status == null);
                };
                Thread.Sleep(6000);
                Assert.True(isRaised);
            }
        }