public async Task It_logs_error_when_file_access_fails_during_runtime() { var errorCallbackInvoked = false; var timer = new FakeTimer(ex => { errorCallbackInvoked = true; }); var fail = false; var fileAccess = new FakeFileAccess(() => { // ReSharper disable once AccessToModifiedClosure if (fail) { throw new Exception("Simulated"); } return XDocument.Parse(@"<endpoints><endpoint name=""A""><instance/></endpoint></endpoints>"); }); var monitor = new InstanceMappingFileMonitor("unused", TimeSpan.Zero, timer, fileAccess, new EndpointInstances()); await monitor.PerformStartup(null); fail = true; await timer.Trigger(); Assert.IsTrue(errorCallbackInvoked); }
public async Task It_logs_error_when_file_access_fails_during_runtime() { var errorCallbackInvoked = false; var timer = new FakeTimer(ex => { errorCallbackInvoked = true; }); var fail = false; var loader = new FakeLoader(() => { if (fail) { throw new Exception("Simulated"); } return(XDocument.Parse(@"<endpoints><endpoint name=""A""><instance/></endpoint></endpoints>")); }); var monitor = new InstanceMappingFileMonitor(TimeSpan.Zero, timer, loader, new EndpointInstances()); await monitor.Start(null); fail = true; await timer.Trigger(); Assert.IsTrue(errorCallbackInvoked); }
public async Task It_logs_error_when_file_access_fails_during_runtime() { var errorCallbackInvoked = false; var timer = new FakeTimer(ex => { errorCallbackInvoked = true; }); var fail = false; var fileAccess = new FakeFileAccess(() => { // ReSharper disable once AccessToModifiedClosure if (fail) { throw new Exception("Simulated"); } return(XDocument.Parse(@"<endpoints><endpoint name=""A""><instance/></endpoint></endpoints>")); }); var monitor = new InstanceMappingFileMonitor("unused", TimeSpan.Zero, timer, fileAccess, new EndpointInstances()); await monitor.PerformStartup(null); fail = true; await timer.Trigger(); Assert.IsTrue(errorCallbackInvoked); }