Search in sources :

Example 1 with UploadSession

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

the class DefaultSerializerTests method testDeserializerWhenCasingRespondedByServiceIsWrong.

@Test
public void testDeserializerWhenCasingRespondedByServiceIsWrong() {
    final DefaultSerializer serializer = new DefaultSerializer(new DefaultLogger());
    final String source = "{\"@odata.context\": \"https://outlook.office.com/api/v2.0/$metadata#Users('e45f52f5-f2dd-4359-abc5-e74f2960b831')/Messages/AAMkAGQ0MjBmNWVkLTYxZjUtNDRmYi05Y2NiLTBlYjIwNzJjNmM1NgBGAAAAAAC6ff7latYeQqu_gLrhSAIhBwCF7iGjpaOmRqVwbZc-xXzwAAAAAAEMAACF7iGjpaOmRqVwbZc-xXzwAABQStA0AAABEgAQAFbGmeisbjtLnQdp7kC_9Fk=/AttachmentSessions/$entity\",\"ExpirationDateTime\": \"2020-10-06T14:23:42.1027521Z\",\"NextExpectedRanges\": [\"5242880\"]}";
    final UploadSession result = serializer.deserializeObject(source, UploadSession.class);
    assertNotNull(result);
    assertNotNull(result.nextExpectedRanges);
    assertTrue(result.nextExpectedRanges.size() > 0);
}
Also used : DefaultSerializer(com.microsoft.graph.serializer.DefaultSerializer) UploadSession(com.microsoft.graph.models.UploadSession) DefaultLogger(com.microsoft.graph.logger.DefaultLogger) Test(org.junit.jupiter.api.Test)

Example 2 with UploadSession

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

the class OneDriveTests method testLargeFileUpload.

/**
 * Test large file upload.
 * https://github.com/OneDrive/onedrive-sdk-csharp/blob/master/docs/chunked-uploads.md
 *
 * @throws IOException if the input file is not found
 * @throws InterruptedException if the chunked upload fails
 */
@Test
@Disabled
public void testLargeFileUpload() throws IOException, InterruptedException {
    setUp();
    // Get resource file from file system
    InputStream uploadFile = OneDriveTests.class.getClassLoader().getResourceAsStream("largefile10M.blob");
    long fileSize = (long) uploadFile.available();
    UploadSession uploadSession = testBase.graphClient.me().drive().root().itemWithPath("largefile10M.blob").createUploadSession(DriveItemCreateUploadSessionParameterSet.newBuilder().withItem(new DriveItemUploadableProperties()).build()).buildRequest().post();
    LargeFileUploadTask<DriveItem> chunkedUploadProvider = new LargeFileUploadTask<DriveItem>(uploadSession, testBase.graphClient, uploadFile, fileSize, DriveItem.class);
    final LargeFileUploadResult<DriveItem> result = chunkedUploadProvider.upload(0, null, callback);
    assertNotNull(result);
}
Also used : DriveItem(com.microsoft.graph.models.DriveItem) DriveItemUploadableProperties(com.microsoft.graph.models.DriveItemUploadableProperties) ByteArrayInputStream(java.io.ByteArrayInputStream) InputStream(java.io.InputStream) LargeFileUploadTask(com.microsoft.graph.tasks.LargeFileUploadTask) UploadSession(com.microsoft.graph.models.UploadSession) Test(org.junit.jupiter.api.Test) Disabled(org.junit.jupiter.api.Disabled)

Example 3 with UploadSession

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

the class DefaultSerializerTests method testDeserializerWhenCasingRespondedByServiceIsWrong.

@Test
public void testDeserializerWhenCasingRespondedByServiceIsWrong() {
    final DefaultSerializer serializer = new DefaultSerializer(new DefaultLogger());
    final String source = "{\"@odata.context\": \"https://outlook.office.com/api/v2.0/$metadata#Users('e45f52f5-f2dd-4359-abc5-e74f2960b831')/Messages/AAMkAGQ0MjBmNWVkLTYxZjUtNDRmYi05Y2NiLTBlYjIwNzJjNmM1NgBGAAAAAAC6ff7latYeQqu_gLrhSAIhBwCF7iGjpaOmRqVwbZc-xXzwAAAAAAEMAACF7iGjpaOmRqVwbZc-xXzwAABQStA0AAABEgAQAFbGmeisbjtLnQdp7kC_9Fk=/AttachmentSessions/$entity\",\"ExpirationDateTime\": \"2020-10-06T14:23:42.1027521Z\",\"NextExpectedRanges\": [\"5242880\"]}";
    final UploadSession result = serializer.deserializeObject(source, UploadSession.class);
    assertNotNull(result);
    assertNotNull(result.nextExpectedRanges);
    assertTrue(result.nextExpectedRanges.size() > 0);
}
Also used : DefaultSerializer(com.microsoft.graph.serializer.DefaultSerializer) UploadSession(com.microsoft.graph.models.UploadSession) DefaultLogger(com.microsoft.graph.logger.DefaultLogger) Test(org.junit.jupiter.api.Test)

Example 4 with UploadSession

use of com.microsoft.graph.models.UploadSession 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 5 with UploadSession

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

the class OneDriveTests method testLargeFileUpload.

/**
 * Test large file upload.
 * https://github.com/OneDrive/onedrive-sdk-csharp/blob/master/docs/chunked-uploads.md
 *
 * @throws IOException if the input file is not found
 * @throws InterruptedException if the chunked upload fails
 */
@Test
@Disabled
public void testLargeFileUpload() throws IOException, InterruptedException {
    setUp();
    // Get resource file from file system
    InputStream uploadFile = OneDriveTests.class.getClassLoader().getResourceAsStream("largefile10M.blob");
    long fileSize = (long) uploadFile.available();
    UploadSession uploadSession = testBase.graphClient.me().drive().root().itemWithPath("largefile10M.blob").createUploadSession(DriveItemCreateUploadSessionParameterSet.newBuilder().withItem(new DriveItemUploadableProperties()).build()).buildRequest().post();
    LargeFileUploadTask<DriveItem> chunkedUploadProvider = new LargeFileUploadTask<DriveItem>(uploadSession, testBase.graphClient, uploadFile, fileSize, DriveItem.class);
    final LargeFileUploadResult<DriveItem> result = chunkedUploadProvider.upload(0, null, callback);
    assertNotNull(result);
}
Also used : DriveItem(com.microsoft.graph.models.DriveItem) DriveItemUploadableProperties(com.microsoft.graph.models.DriveItemUploadableProperties) ByteArrayInputStream(java.io.ByteArrayInputStream) InputStream(java.io.InputStream) LargeFileUploadTask(com.microsoft.graph.tasks.LargeFileUploadTask) UploadSession(com.microsoft.graph.models.UploadSession) Test(org.junit.jupiter.api.Test) Disabled(org.junit.jupiter.api.Disabled)

Aggregations

UploadSession (com.microsoft.graph.models.UploadSession)8 Test (org.junit.jupiter.api.Test)8 LargeFileUploadTask (com.microsoft.graph.tasks.LargeFileUploadTask)6 InputStream (java.io.InputStream)6 DriveItem (com.microsoft.graph.models.DriveItem)4 DriveItemUploadableProperties (com.microsoft.graph.models.DriveItemUploadableProperties)4 ByteArrayInputStream (java.io.ByteArrayInputStream)4 Disabled (org.junit.jupiter.api.Disabled)4 JsonPrimitive (com.google.gson.JsonPrimitive)2 DefaultLogger (com.microsoft.graph.logger.DefaultLogger)2 AttachmentItem (com.microsoft.graph.models.AttachmentItem)2 Message (com.microsoft.graph.models.Message)2 DefaultSerializer (com.microsoft.graph.serializer.DefaultSerializer)2 File (java.io.File)2 FileInputStream (java.io.FileInputStream)2