public void save_async_ignores_any_null_tasks_returned_by_saved_callbacks() { var logger = new LoggerMock(MockBehavior.Loose); var loggerService = new LoggerServiceMock(MockBehavior.Loose); loggerService .When(x => x.GetLogger(typeof(StateService))) .Return(logger); var sut = new StateServiceBuilder() .WithLoggerService(loggerService) .Build(); var firstExecuted = false; var secondExecuted = false; sut .RegisterSaveCallback( _ => { firstExecuted = true; return(Observable.Return(Unit.Default)); }); sut.RegisterSaveCallback(_ => null); sut .RegisterSaveCallback( _ => { secondExecuted = true; return(Observable.Return(Unit.Default)); }); sut.SaveAsync(); Assert.True(firstExecuted); Assert.True(secondExecuted); loggerService .Verify(x => x.GetLogger(typeof(StateService))) .WasCalledExactlyOnce(); logger .Verify(x => x.Error(It.IsAny <string>())) .WasNotCalled(); logger .Verify(x => x.Error(It.IsAny <string>(), It.IsAny <object[]>())) .WasNotCalled(); logger .Verify(x => x.Error(It.IsAny <Exception>(), It.IsAny <string>(), It.IsAny <object[]>())) .WasNotCalled(); }
public async Task should_not_send_messages_between_participants() { SetupSendMessageTests(); // setup claims to return admin username var claims = new ClaimsPrincipalBuilder().WithUsername(RepresentativeUsername) .WithRole(AppRoles.RepresentativeRole) .Build(); UpdateUserIdentity(claims); var fromParticipantId = RepresentativeParticipantId.ToString(); var fromUsername = RepresentativeUsername; var toParticipantId = IndividualParticipantId.ToString(); var toUsername = IndividualUsername; const string message = "test message"; var messageUuid = Guid.NewGuid(); await Hub.SendMessage(Conference.Id, message, toUsername, messageUuid); AssertMessageNotSentToHub(fromParticipantId, toParticipantId, message, messageUuid, IndividualGroupChannel); AssertMessageNotSentToApi(fromUsername, toUsername, message); AdminGroupChannel.Verify(x => x.AdminAnsweredChat(Conference.Id, toUsername), Times.Never); LoggerMock.Verify( x => x.Log( LogLevel.Error, It.IsAny <EventId>(), It.IsAny <It.IsAnyType>(), It.IsAny <InvalidInstantMessageException>(), (Func <It.IsAnyType, Exception, string>)It.IsAny <object>()), Times.Once); }
public async Task ThrowException_WhenNoApprovalsShouldLogWarning() { // Arrange var cost = MockCost(); var approvas = new List <Approval>(); // Act await ApprovalService.SubmitApprovals(cost, CostUser, approvas, BuType.Pg); // Assert LoggerMock.Verify(l => l.Warning(It.IsAny <string>()), Times.Once); }
public async Task Should_log_critical_when_exception_on_disconnect() { var exception = new InconclusiveException("Some test"); await Hub.OnDisconnectedAsync(exception); LoggerMock.Verify( x => x.Log( LogLevel.Warning, It.IsAny <EventId>(), It.Is <It.IsAnyType>((o, t) => o.ToString().StartsWith("There was an error when disconnecting from chat hub server-side")), exception, (Func <It.IsAnyType, Exception, string>)It.IsAny <object>()), Times.Once); }
public async Task save_async_ignores_any_null_tasks_returned_by_saved_callbacks() { var logger = new LoggerMock(MockBehavior.Loose); var loggerService = new LoggerServiceMock(MockBehavior.Loose); loggerService.When(x => x.GetLogger(typeof(StateService))).Return(logger); var service = new StateService(new BlobCacheMock(), loggerService); var firstExecuted = false; var secondExecuted = false; service.RegisterSaveCallback(_ => Task.Run(() => firstExecuted = true)); service.RegisterSaveCallback(_ => null); service.RegisterSaveCallback(_ => Task.Run(() => secondExecuted = true)); await service.SaveAsync(); Assert.True(firstExecuted); Assert.True(secondExecuted); loggerService.Verify(x => x.GetLogger(typeof(StateService))).WasCalledExactlyOnce(); logger.Verify(x => x.Error(It.IsAny <string>())).WasNotCalled(); logger.Verify(x => x.Error(It.IsAny <string>(), It.IsAny <object[]>())).WasNotCalled(); logger.Verify(x => x.Error(It.IsAny <Exception>(), It.IsAny <string>(), It.IsAny <object[]>())).WasNotCalled(); }
public void save_logs_an_error_if_a_save_callback_fails() { var logger = new LoggerMock(MockBehavior.Loose); var loggerService = new LoggerServiceMock(MockBehavior.Loose); loggerService .When(x => x.GetLogger(typeof(StateService))) .Return(logger); var sut = new StateServiceBuilder() .WithLoggerService(loggerService) .Build(); sut.RegisterSaveCallback(_ => Observable.Throw <Unit>(new Exception("whatever"))); sut.Save().Subscribe(); logger .Verify(x => x.Log(LogLevel.Error, It.IsAny <string>())) .WasCalledExactlyOnce(); }
public void then_stats_logged_once_per_drop() { LoggerMock.Verify(l => l.Write(It.Is <string[]>(s => s.Any(_ => _.StartsWith("STATS")))), Times.Exactly(10)); }
public void then_drop_logged_once_per_drop() { LoggerMock.Verify(l => l.Write(It.Is <string[]>(s => s.Any(_ => _.StartsWith("DROPPING by RetryTimeout")))), Times.Exactly(10)); }
public void then_stats_are_logged_as_expected() { LoggerMock.Verify(l => l.Write(It.IsAny <Exception>(), It.Is <string[]>(s => s.Any(_ => _.StartsWith("STATS")))), Times.Once); }
public void then_unhandled_message_is_logged() { LoggerMock.Verify(l => l.Write(It.IsAny <Exception>(), It.Is <string[]>(s => s.Any(_ => _.StartsWith("UNHANDLED")))), Times.Once); }