Search in sources :

Example 6 with Attachment

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

the class CollectionPageSerializerTests method testAttachmentCollectionPageDeserialization.

@Test
public void testAttachmentCollectionPageDeserialization() throws Exception {
    String jsonString = "[{\"contentBytes\":\"ZGF0YQ==\",\"name\":\"document.pdf\",\"@odata.type\":\"#microsoft.graph.fileAttachment\",\"id\":\"54321\"},{\"@odata.type\":\"#microsoft.graph.itemAttachment\",\"name\":\"Holiday event\",\"id\":null,\"isInline\":null,\"size\":null,\"item\":{\"subject\":\"Test Event Subject\",\"start\":{\"dateTime\":\"2018-10-16T06:15:26.544Z\",\"timeZone\":\"UTC\"},\"end\":{\"dateTime\":\"2018-11-18T07:30:26.544Z\",\"timeZone\":\"UTC\"},\"@odata.type\":\"microsoft.graph.event\",\"id\":\"1234\"}},{\"@odata.type\":\"#microsoft.graph.itemAttachment\",\"name\":\"Attachment name\",\"id\":null,\"isInline\":null,\"size\":null,\"item\":{\"displayName\":\"displayname\",\"officeLocation\":\"Montreal\",\"@odata.type\":\"microsoft.graph.contact\"}}]";
    JsonElement jsonElement = JsonParser.parseString(jsonString);
    BaseCollectionPage<Attachment, ?> attachmentCollectionPage = CollectionPageSerializer.deserialize(jsonElement, AttachmentCollectionPage.class, logger);
    for (Attachment attachment : attachmentCollectionPage.getCurrentPage()) {
        if (attachment instanceof FileAttachment) {
            FileAttachment fileAttachment = (FileAttachment) attachment;
            assertEquals(fileAttachment.name, getFileAttachment().name);
            String actual = ByteArraySerializer.serialize(fileAttachment.contentBytes);
            String expected = ByteArraySerializer.serialize(getFileAttachment().contentBytes);
            assertEquals(expected, actual);
        } else if (attachment instanceof ItemAttachment) {
            ItemAttachment itemAttachment = (ItemAttachment) attachment;
            if (itemAttachment.item instanceof Event) {
                Event event = (Event) itemAttachment.item;
                assertEquals(getEvent().subject, event.subject);
            } else if (itemAttachment.item instanceof Contact) {
                Contact actual = (Contact) itemAttachment.item;
                Contact expected = (Contact) getItemAttachmentWithContact().item;
                assertEquals(expected.officeLocation, actual.officeLocation);
            }
        }
    }
}
Also used : JsonElement(com.google.gson.JsonElement) FileAttachment(com.microsoft.graph.models.FileAttachment) Event(com.microsoft.graph.models.Event) ItemAttachment(com.microsoft.graph.models.ItemAttachment) Attachment(com.microsoft.graph.models.Attachment) FileAttachment(com.microsoft.graph.models.FileAttachment) ItemAttachment(com.microsoft.graph.models.ItemAttachment) Contact(com.microsoft.graph.models.Contact) Test(org.junit.jupiter.api.Test)

Aggregations

Attachment (com.microsoft.graph.models.Attachment)6 FileAttachment (com.microsoft.graph.models.FileAttachment)6 Test (org.junit.jupiter.api.Test)6 ItemAttachment (com.microsoft.graph.models.ItemAttachment)4 JsonElement (com.google.gson.JsonElement)2 DefaultLogger (com.microsoft.graph.logger.DefaultLogger)2 Contact (com.microsoft.graph.models.Contact)2 Event (com.microsoft.graph.models.Event)2 AttachmentCollectionPage (com.microsoft.graph.requests.AttachmentCollectionPage)2 DefaultSerializer (com.microsoft.graph.serializer.DefaultSerializer)2