]> git.aero2k.de Git - tmp/jakarta-migration.git/blob
d872ebf29816cffa775f2a7e0ce5eca7a56909be
[tmp/jakarta-migration.git] /
1 package org.collectionspace.services.common.xmljson.test;
2
3 import static org.testng.Assert.assertEquals;
4
5 import java.io.File;
6 import java.io.FileInputStream;
7 import java.io.IOException;
8 import java.io.InputStream;
9
10 import javax.xml.stream.XMLStreamException;
11
12 import org.apache.commons.io.output.ByteArrayOutputStream;
13 import org.codehaus.jackson.JsonFactory;
14 import org.codehaus.jackson.JsonNode;
15 import org.codehaus.jackson.JsonParseException;
16 import org.codehaus.jackson.map.ObjectMapper;
17 import org.collectionspace.services.common.xmljson.XmlToJsonStreamConverter;
18 import org.testng.annotations.Test;
19
20 public class XmlToJsonStreamConverterTest {
21     public final String FILE_PATH = "test-data/xmljson/";
22     
23     private ObjectMapper mapper = new ObjectMapper();
24     private JsonFactory jsonFactory = mapper.getJsonFactory();
25     
26     @Test
27     public void testConvert() throws XMLStreamException, JsonParseException, IOException {
28         testConvert("record.xml", "record.json");
29     }
30     
31     private void testConvert(String xmlFileName, String jsonFileName) throws XMLStreamException, JsonParseException, IOException {
32         ClassLoader classLoader = getClass().getClassLoader();
33         File xmlFile = new File(classLoader.getResource(FILE_PATH + xmlFileName).getFile());
34         File jsonFile = new File(classLoader.getResource(FILE_PATH + jsonFileName).getFile());
35         
36         FileInputStream in = new FileInputStream(xmlFile);
37         ByteArrayOutputStream out = new ByteArrayOutputStream();
38         
39         XmlToJsonStreamConverter converter = new XmlToJsonStreamConverter(in, out);
40         converter.convert();
41         
42         JsonNode actualJson = parseJsonStream(out.toInputStream());
43         JsonNode expectedJson = parseJsonStream(new FileInputStream(jsonFile));
44         
45         assertEquals(actualJson, expectedJson);
46     }
47     
48     private JsonNode parseJsonStream(InputStream in) throws JsonParseException, IOException {
49         return jsonFactory.createJsonParser(in).readValueAsTree();
50     }
51 }