public async Task CheckHealthAsync_HasImplementorWithDiagnosticInfo_ReturnsDiagnosticInfo() { // arrange var fakeResult = new DiagnosticInfo("test", "url"); var fakeImplementor = new Mock <IDiagnosticImplementor>(); fakeImplementor.Setup(x => x.Diagnose()) .ReturnsAsync(new[] { fakeResult }); IEnumerable <IDiagnosticImplementor> implementors = new[] { fakeImplementor.Object }; // act var service = new HealthCheckingService(implementors); var result = await service.CheckHealthAsync(); // assert Assert.That(result, Is.EquivalentTo(new[] { fakeResult })); }
public async Task CheckHealthAsync_HasImplementorWithNotOkDiagnosticInfo_InvokeDiagnosticFailedEvent() { // arrange var fakeResult = new DiagnosticInfo("test", "url", DiagnosticStatus.Fail); var fakeImplementor = new Mock <IDiagnosticImplementor>(); fakeImplementor.Setup(x => x.Diagnose()) .ReturnsAsync(new[] { fakeResult }); IEnumerable <IDiagnosticImplementor> implementors = new[] { fakeImplementor.Object }; var isEventInvoked = false; // act var service = new HealthCheckingService(implementors); service.DiagnosticFailedEvent += () => isEventInvoked = true; var result = await service.CheckHealthAsync(); // assert Assert.That(isEventInvoked, Is.True); }