Ejemplo n.º 1
0
        public async Task CreateMessage()
        {
            var now = DateTime.Now;
            await Task.Delay(100);

            Random rand = new Random();

            byte[] messageData   = System.IO.File.ReadAllBytes(@"Data\Recording.mp3");
            string transcription = $"Hello, this is a new message {rand.Next(100)}";
            string callerName    = $"Random Caller {rand.Next(100)}";

            YouMailMessageCreateEntry message = new YouMailMessageCreateEntry
            {
                Created       = now,
                Source        = service.Username,
                CallerName    = callerName,
                Destination   = service.Username,
                Transcription = transcription,
                MessageData   = Convert.ToBase64String(messageData)
            };

            var response = await service.CreateMessageEntryAsync(message);

            var query = new YouMailMessageQuery(QueryType.GetMessagesCreatedSince)
            {
                FolderId       = YouMailService.InboxFolder,
                UpdatedFrom    = now,
                IncludePreview = true
            };

            // Wait a bit for the message to be fully created
            await Task.Delay(1000);

            var messages = await service.GetMessagesFromQueryAsync(query);

            Assert.IsTrue(messages.Data.Length == 1, "We should have only gotten one new message");

            await service.DeleteMessageAsync(messages.Data[0].Id);

            Assert.AreEqual(transcription, messages.Data[0].Preview, "Message Transcriptions don't match");
        }