コード例 #1
0
        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 }));
        }
コード例 #2
0
        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);
        }