Search in sources :

Example 1 with AttachmentItem

use of com.microsoft.graph.models.AttachmentItem in project msgraph-beta-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 2 with AttachmentItem

use of com.microsoft.graph.models.AttachmentItem 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)

Aggregations

AttachmentItem (com.microsoft.graph.models.AttachmentItem)2 Message (com.microsoft.graph.models.Message)2 UploadSession (com.microsoft.graph.models.UploadSession)2 LargeFileUploadTask (com.microsoft.graph.tasks.LargeFileUploadTask)2 File (java.io.File)2 FileInputStream (java.io.FileInputStream)2 InputStream (java.io.InputStream)2 Test (org.junit.jupiter.api.Test)2