public async Task TestValidMessageCanBeParsedCorrectly() { Assert.Inconclusive("TODO: Encryption Stub"); var messenger = new InMemoryMessenger(); var sendMessageInteractor = new SendMessageInteractor(messenger, new EncryptionStub(), new EncryptionStub()); await sendMessageInteractor.ExecuteAsync( new SendMessageRequest { ChatAddress = new Address(Hash.Empty.Value), ChatKeyPair = InMemoryContactRepository.NtruKeyPair, Message = "Hallo", UserPublicKeyAddress = new Address(Hash.Empty.Value) }); var interactor = new GetMessagesInteractor(messenger, new EncryptionStub(), new EncryptionStub()); var result = await interactor.ExecuteAsync( new GetMessagesRequest { ChatAddress = new Address(Hash.Empty.Value), ChatKeyPair = InMemoryContactRepository.NtruKeyPair }); Assert.AreEqual(ResponseCode.Success, result.Code); Assert.AreEqual(1, result.Messages.Count); Assert.AreEqual("Hallo", result.Messages[0].Message); }
public async Task TestMessageIsTooLongShouldReturnErrorCode() { var interactor = new SendMessageInteractor(new InMemoryMessenger()); var response = await interactor.ExecuteAsync( new SendMessageRequest { Message = new string(Enumerable.Repeat('a', Constants.MessageCharacterLimit + 1).ToArray()) }); Assert.AreEqual(ResponseCode.MessageTooLong, response.Code); }
public async Task TestMessengerThrowsExceptionShouldReturnErrorCode() { var interactor = new SendMessageInteractor(new ExceptionMessenger(), new EncryptionStub(), new EncryptionStub()); var response = await interactor.ExecuteAsync( new SendMessageRequest { Message = new string(Enumerable.Repeat('a', Constants.MessageCharacterLimit).ToArray()), ChatAddress = new Address(Hash.Empty.Value), ChatKeyPair = InMemoryContactRepository.NtruKeyPair, UserPublicKeyAddress = new Address(Hash.Empty.Value) }); Assert.AreEqual(ResponseCode.MessengerException, response.Code); }