diff options
Diffstat (limited to 'src/test/java/com/juick/tests/SerializationTests.java')
-rw-r--r-- | src/test/java/com/juick/tests/SerializationTests.java | 97 |
1 files changed, 0 insertions, 97 deletions
diff --git a/src/test/java/com/juick/tests/SerializationTests.java b/src/test/java/com/juick/tests/SerializationTests.java deleted file mode 100644 index 022a1bc7..00000000 --- a/src/test/java/com/juick/tests/SerializationTests.java +++ /dev/null @@ -1,97 +0,0 @@ -package com.juick.tests; - -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.juick.Message; -import com.juick.Tag; -import com.juick.User; -import com.juick.json.MessageSerializer; -import com.juick.xmpp.extensions.JuickMessage; -import org.json.JSONObject; -import org.junit.Test; -import org.w3c.dom.Document; -import org.xml.sax.InputSource; -import org.xml.sax.SAXException; - -import javax.xml.bind.JAXBContext; -import javax.xml.bind.JAXBException; -import javax.xml.bind.Marshaller; -import javax.xml.bind.Unmarshaller; -import javax.xml.parsers.DocumentBuilder; -import javax.xml.parsers.DocumentBuilderFactory; -import javax.xml.parsers.ParserConfigurationException; -import java.io.IOException; -import java.io.StringReader; -import java.io.StringWriter; -import java.text.ParseException; -import java.text.SimpleDateFormat; -import java.util.Date; -import java.util.TimeZone; - -import static org.junit.Assert.assertEquals; - -public class SerializationTests { - @Test - public void DateTest() { - Message msg = new Message(); - SimpleDateFormat df= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - df.setTimeZone(TimeZone.getTimeZone("UTC")); - try { - msg.setDate(df.parse("2015-01-01 05:02:10")); - MessageSerializer serializer = new MessageSerializer(); - String json = serializer.serialize(msg).toString(); - assertEquals("{\"timestamp\":\"2015-01-01 05:02:10\"}", json); - } catch (ParseException e) { - e.printStackTrace(); - } - } - @Test - public void serializersTest() throws IOException, JAXBException, ParserConfigurationException, SAXException { - User user = new User(); - user.setName("ugnich"); - user.setUid(1); - user.setFullName("Anton Ugnich"); - ObjectMapper mapper = new ObjectMapper(); - mapper.setSerializationInclusion(JsonInclude.Include.NON_EMPTY); - mapper.setSerializationInclusion(JsonInclude.Include.NON_NULL); - mapper.setSerializationInclusion(JsonInclude.Include.NON_DEFAULT); - Message msg = new Message(); - msg.setMid(1); - msg.setUser(user); - msg.setText("yo"); - msg.setDate(new Date()); - msg.getTags().add(new Tag("test")); - msg.getTags().add(new Tag("json")); - msg.setAttachmentType("png"); - MessageSerializer messageSerializer = new MessageSerializer(); - JSONObject handmadeJsonMessage = messageSerializer.serialize(msg); - Message jacksonMessage = mapper.readValue(handmadeJsonMessage.toString(), Message.class); - assertEquals("jackson should deserialize ugnich json", msg, jacksonMessage); - String jacksonStringMessage = mapper.writeValueAsString(jacksonMessage); - assertEquals("jackson message should have an attachment url", - "http://i.juick.com/photos-1024/1.png", jacksonMessage.getAttachmentURL()); - assertEquals("jackson message should have image previews", - "http://i.juick.com/photos-1024/1.png", jacksonMessage.getPhoto().getMedium()); - JSONObject jacksonJsonMessage = new JSONObject(jacksonStringMessage); - assertEquals("jackson should serialize as ugnich", handmadeJsonMessage.length(), jacksonJsonMessage.length()); - - JuickMessage jmsg = new JuickMessage(msg); - String handmadeXml = jmsg.toString(); - - JAXBContext messageContext = JAXBContext.newInstance(Message.class); - Unmarshaller unmarshaller = messageContext.createUnmarshaller(); - Message jaxbMessage = (Message) unmarshaller.unmarshal(new StringReader(handmadeXml)); - assertEquals("jaxb should unmarshal ugnich xml", msg, jaxbMessage); - StringWriter sw = new StringWriter(); - Marshaller messageMarshaller = messageContext.createMarshaller(); - messageMarshaller.setProperty(Marshaller.JAXB_FRAGMENT, Boolean.TRUE); - messageMarshaller.marshal(msg, sw); - String xmlString = sw.toString(); - DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance(); - DocumentBuilder dBuilder = dbFactory.newDocumentBuilder(); - Document doc = dBuilder.parse(new InputSource(new StringReader(xmlString))); - assertEquals("jaxb should marshal as ugnich", 4, doc.getDocumentElement().getChildNodes().getLength()); - assertEquals("jaxb should marshal as ugnich", 8, doc.getDocumentElement().getAttributes().getLength()); - assertEquals("xmpp message should have an attach attribute", "png", doc.getDocumentElement().getAttribute("attach")); - } -}
\ No newline at end of file |