public void ProcessingPublicMessageRequest_WhenAnyUser_ShouldSendMessageToEveryoneElse() { // Arrange var senderUser = new ChatUser("Sender"); var message = new PublicMessageRequest("Hello!"); var users = new ChatUser[] { senderUser, new ChatUser("User01"), new ChatUser("User02"), new ChatUser("User03"), }; var userService = Substitute.For <IUserService>(); userService.GetConnectedUsers().Returns(users); userService.TryGetUserByName(Arg.Is(senderUser.Username), out Arg.Any <ChatUser>()) .Returns(args => { args[1] = senderUser; return(true); }); var messageSenderService = Substitute.For <IMessageSenderService>(); var processor = new PublicMessageRequestProcessor(userService, messageSenderService); // Act processor.HandleMessage(senderUser.Username, message); // Assert messageSenderService.Received(1).SendMessageToEveryoneElse(senderUser.Username, Arg.Any <PublicMessageResponse>()); }
public void PublicMessageRequest_WhenSerializedAndDeserialized_ShouldBeEqual() { // Arrange Message message = new PublicMessageRequest("Lorem ipsum"); // Act / Assert this.SerializeDeserializeAndCompare(message); }
/// <summary> /// Gửi request lên server với kiểu request là PublicMessage /// </summary> /// <param name="message">Message của PublicMessage gửi lên</param> public void DoRequestPublicMessage(string message) { PublicMessageRequest request = new PublicMessageRequest(); request.ZoneId = GameManager.Instance.currentRoom.zoneId; request.RoomId = GameManager.Instance.currentRoom.roomId; request.Message = message; DoRequest(request); }
public void ProcessMessage_WhenProcessorExists_ShouldRaiseProcessorNotFoundException() { // Arrange var username = "******"; Message message = new PublicMessageRequest("Hello"); var logger = Substitute.For <ILogger <MessageProcessorService> >(); var serviceProvider = Substitute.For <IServiceProvider>(); var mockProcessor = Substitute.For <IMessageProcessor <PublicMessageRequest> >(); serviceProvider.GetService(Arg.Any <Type>()).Returns(null); MessageProcessorService messageProcessorService = new MessageProcessorService(logger, serviceProvider); // Act / Assert Assert.Throws <ProcessorNotFoundException>(() => messageProcessorService.ProcessMessage(username, message)); }
public void ProcessMessage_WhenProcessorExists_ShouldProcessMessage() { // Arrange var username = "******"; Message message = new PublicMessageRequest("Hello"); var logger = Substitute.For <ILogger <MessageProcessorService> >(); var serviceProvider = Substitute.For <IServiceProvider>(); var mockProcessor = Substitute.For <IMessageProcessor <PublicMessageRequest> >(); serviceProvider.GetService(Arg.Is(typeof(IMessageProcessor <PublicMessageRequest>))).Returns(mockProcessor); MessageProcessorService messageProcessorService = new MessageProcessorService(logger, serviceProvider); // Act messageProcessorService.ProcessMessage(username, message); // Assert mockProcessor.Received(1).HandleMessage(username, message); }
/// <summary> /// NOTE: we don't need an app-level ack for this method :-) /// </summary> public void PublicMessage(ISession session, PublicMessageRequest msgRequest) { if (session.User.IsDevoiced) { session.Send(new YouAreDevoicedNotification()); return; } PublicMessage message = null; using (var uow = UnitOfWorkFactory.Create()) { uow.Attach(session.User); message = new PublicMessage(session.User, msgRequest.Body); uow.PublicMessageRepository.Add(message); uow.Commit(); } var dto = message.ProjectedAs <PublicMessageDto>(); dto.Role = (UserRoleEnum)(int)session.User.Role; _sessionManager.SendToEachChatSessions(dto); }
public void PublicMessage(PublicMessageRequest request) { ConnectionManager.SendRequest(request); }
public void SendPublicMessage(string message) { PublicMessageRequest request = new PublicMessageRequest(); request.Message = message; request.RoomId = room.Id; request.ZoneId = room.ZoneId; _es.Engine.Send(request); }
public static void Send(PublicMessageRequest req) { Debug.Log("sending message"); sfs.Send(req); }