Search in sources :

Example 6 with Message

use of com.microsoft.graph.models.Message in project msgraph-sdk-java by microsoftgraph.

the class OutlookTests method testSendDraftWithLargeAttachements.

@Test
public void testSendDraftWithLargeAttachements() throws FileNotFoundException, IOException {
    TestBase testBase = new TestBase();
    // Attempt to identify the sent message via randomly generated subject
    String draftSubject = "Draft Test Message " + Double.toString(Math.random() * 1000);
    Message newMessage = createDraftMessage(testBase, draftSubject);
    File file = new File("src/test/resources/largefile10M.blob");
    AttachmentItem attachmentItem = new AttachmentItem();
    attachmentItem.attachmentType = AttachmentType.FILE;
    attachmentItem.name = file.getName();
    attachmentItem.size = file.length();
    attachmentItem.contentType = "application/octet-stream";
    InputStream fileStream = OutlookTests.class.getClassLoader().getResourceAsStream("largefile10M.blob");
    long streamSize = attachmentItem.size;
    UploadSession uploadSession = testBase.graphClient.me().messages(newMessage.id).attachments().createUploadSession(AttachmentCreateUploadSessionParameterSet.newBuilder().withAttachmentItem(attachmentItem).build()).buildRequest().post();
    LargeFileUploadTask<AttachmentItem> chunkedUploadProvider = new LargeFileUploadTask<>(uploadSession, testBase.graphClient, fileStream, streamSize, AttachmentItem.class);
    // Do the upload
    final LargeFileUploadResult<AttachmentItem> result = chunkedUploadProvider.upload(0, null, callback);
    assertNotNull(result);
    // Send the drafted message
    testBase.graphClient.me().mailFolders("Drafts").messages(newMessage.id).send().buildRequest().post();
}
Also used : Message(com.microsoft.graph.models.Message) FileInputStream(java.io.FileInputStream) InputStream(java.io.InputStream) LargeFileUploadTask(com.microsoft.graph.tasks.LargeFileUploadTask) UploadSession(com.microsoft.graph.models.UploadSession) File(java.io.File) AttachmentItem(com.microsoft.graph.models.AttachmentItem) Test(org.junit.jupiter.api.Test)

Example 7 with Message

use of com.microsoft.graph.models.Message in project msgraph-sdk-java by microsoftgraph.

the class OutlookTests method sendEmailWithAttachment.

@Test
public void sendEmailWithAttachment() throws Exception {
    TestBase testBase = new TestBase();
    Message message = getMessage();
    message.hasAttachments = true;
    AttachmentCollectionResponse response = new AttachmentCollectionResponse();
    response.value = Arrays.asList(getFileAttachment(), getItemAttachmentWithEvent(), getItemAttachmentWithContact());
    message.attachments = new AttachmentCollectionPage(response, null);
    testBase.graphClient.me().sendMail(UserSendMailParameterSet.newBuilder().withMessage(message).withSaveToSentItems(true).build()).buildRequest().post();
}
Also used : AttachmentCollectionPage(com.microsoft.graph.requests.AttachmentCollectionPage) Message(com.microsoft.graph.models.Message) AttachmentCollectionResponse(com.microsoft.graph.requests.AttachmentCollectionResponse) Test(org.junit.jupiter.api.Test)

Example 8 with Message

use of com.microsoft.graph.models.Message in project msgraph-sdk-java by microsoftgraph.

the class OutlookTests method testSendDraft.

@Test
public void testSendDraft() {
    TestBase testBase = new TestBase();
    // Attempt to identify the sent message via randomly generated subject
    String draftSubject = "Draft Test Message " + Double.toString(Math.random() * 1000);
    Message newMessage = createDraftMessage(testBase, draftSubject);
    // Send the drafted message
    testBase.graphClient.me().mailFolders("Drafts").messages(newMessage.id).send().buildRequest().post();
    // Check that the sent message exists on the server
    MessageCollectionPage mcp = testBase.graphClient.me().messages().buildRequest().filter("subject eq '" + draftSubject + "'").get();
    assertFalse(mcp.getCurrentPage().isEmpty());
}
Also used : Message(com.microsoft.graph.models.Message) MessageCollectionPage(com.microsoft.graph.requests.MessageCollectionPage) Test(org.junit.jupiter.api.Test)

Example 9 with Message

use of com.microsoft.graph.models.Message in project msgraph-sdk-java by microsoftgraph.

the class OutlookTests method getMessage.

public Message getMessage() {
    Message message = new Message();
    java.util.List<String> emails = Arrays.asList("test_email@test_domain.com");
    java.util.List<Recipient> listReceipient = new ArrayList<>();
    for (String email : emails) {
        EmailAddress emailAddress = new EmailAddress();
        emailAddress.address = email;
        Recipient recipient = new Recipient();
        recipient.emailAddress = emailAddress;
        listReceipient.add(recipient);
    }
    message.body = getItemBody();
    message.toRecipients = listReceipient;
    message.subject = "Test Message";
    message.id = "1234";
    return message;
}
Also used : Message(com.microsoft.graph.models.Message) ArrayList(java.util.ArrayList) Recipient(com.microsoft.graph.models.Recipient) EmailAddress(com.microsoft.graph.models.EmailAddress)

Example 10 with Message

use of com.microsoft.graph.models.Message in project msgraph-sdk-java by microsoftgraph.

the class OutlookTests method createDraftMessage.

private Message createDraftMessage(TestBase testBase, String draftSubject) {
    User me = testBase.graphClient.me().buildRequest().get();
    Recipient r = new Recipient();
    EmailAddress address = new EmailAddress();
    address.address = me.mail;
    r.emailAddress = address;
    Message message = new Message();
    message.subject = draftSubject;
    ArrayList<Recipient> recipients = new ArrayList<Recipient>();
    recipients.add(r);
    message.toRecipients = recipients;
    message.isDraft = true;
    // Save the message as a draft
    return testBase.graphClient.me().messages().buildRequest().post(message);
}
Also used : User(com.microsoft.graph.models.User) Message(com.microsoft.graph.models.Message) ArrayList(java.util.ArrayList) Recipient(com.microsoft.graph.models.Recipient) EmailAddress(com.microsoft.graph.models.EmailAddress)

Aggregations

Message (com.microsoft.graph.models.Message)15 Test (org.junit.jupiter.api.Test)10 EmailAddress (com.microsoft.graph.models.EmailAddress)6 Recipient (com.microsoft.graph.models.Recipient)6 ArrayList (java.util.ArrayList)6 User (com.microsoft.graph.models.User)4 AttachmentItem (com.microsoft.graph.models.AttachmentItem)2 UploadSession (com.microsoft.graph.models.UploadSession)2 AttachmentCollectionPage (com.microsoft.graph.requests.AttachmentCollectionPage)2 AttachmentCollectionResponse (com.microsoft.graph.requests.AttachmentCollectionResponse)2 MessageCollectionPage (com.microsoft.graph.requests.MessageCollectionPage)2 LargeFileUploadTask (com.microsoft.graph.tasks.LargeFileUploadTask)2 File (java.io.File)2 FileInputStream (java.io.FileInputStream)2 InputStream (java.io.InputStream)2 ItemBody (com.microsoft.graph.models.ItemBody)1