public void BackgroundServiceBase_WhenException_ShouldFireEvent() { // arrange var backgroundService = new BackgroundServiceTest { ShouldFail = true }; var host = HostHelper.Build(backgroundService); List <TelemetryEvent> events = new List <TelemetryEvent>(); // act ApplicationEventSource.Log.Listen(listener => { var hostRun = host.RunAsync(); Task.Delay(100).GetAwaiter().GetResult(); events.AddRange(listener .OrderedEvents .Select(e => EventWrittenEventArgsExtensions.Map(e, "test")) .ToArray()); }); // assert Assert.NotNull(events .FirstOrDefault(e => e.Message == "Unhandled exception occurred.")); }
public async Task HostedServiceBase_WhenStartThrowsAndStopExecuted_ShouldPassAndFireEvent() { // arrange var hostedService = new HostedServiceTest { StartShouldFail = true }; var host = HostHelper.Build(hostedService); List <TelemetryEvent> events = new List <TelemetryEvent>(); // act ApplicationEventSource.Log.Listen(listener => { var hostStart = host.StartAsync(); Task.Delay(100).GetAwaiter().GetResult(); events.AddRange(listener .OrderedEvents .Select(e => EventWrittenEventArgsExtensions.Map(e, "test")) .ToArray()); }); var hostStop = host.StopAsync(); var stop = await hostedService.WaitStop; // assert Assert.NotNull(events .FirstOrDefault(e => e.Message == "Unhandled exception occurred.")); Assert.True(stop); }