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; }
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); } }