]> git.aero2k.de Git - tmp/jakarta-migration.git/blob
ee66e2fde7745d73fa41fd64315e61f7b0687606
[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.collectionspace.services.common.xmljson.XmlToJsonStreamConverter;
14 import org.testng.annotations.Test;
15
16 import com.fasterxml.jackson.core.JsonFactory;
17 import com.fasterxml.jackson.core.JsonParseException;
18 import com.fasterxml.jackson.databind.JsonNode;
19 import com.fasterxml.jackson.databind.ObjectMapper;
20
21 public class XmlToJsonStreamConverterTest {
22     public final String FILE_PATH = "test-data/xmljson/";
23     
24     private ObjectMapper mapper = new ObjectMapper();
25     private JsonFactory jsonFactory = mapper.getFactory();
26     
27     @Test
28     public void testConvert() throws XMLStreamException, JsonParseException, IOException {
29         testConvert("record");
30         testConvert("collectionobject");
31         testConvert("collectionobject-list");
32         testConvert("accountperms");
33         testConvert("permissions");
34         testConvert("vocabulary-items");
35     }
36     
37     private void testConvert(String fileName) throws XMLStreamException, JsonParseException, IOException {
38         System.out.println("-------------------------------------------");
39         System.out.println("Converting " + fileName);
40         System.out.println("-------------------------------------------");
41
42         ClassLoader classLoader = getClass().getClassLoader();
43         File xmlFile = new File(classLoader.getResource(FILE_PATH + fileName + ".xml").getFile());
44         File jsonFile = new File(classLoader.getResource(FILE_PATH + fileName + ".json").getFile());
45         
46         FileInputStream in = new FileInputStream(xmlFile);
47         ByteArrayOutputStream out = new ByteArrayOutputStream();
48         
49         XmlToJsonStreamConverter converter = new XmlToJsonStreamConverter(in, out);
50         converter.convert();
51         
52         JsonNode actualJson = parseJsonStream(out.toInputStream());
53         JsonNode expectedJson = parseJsonStream(new FileInputStream(jsonFile));
54         
55         System.out.println(actualJson.toString());
56         
57         assertEquals(actualJson, expectedJson);
58     }
59     
60     private JsonNode parseJsonStream(InputStream in) throws JsonParseException, IOException {
61         return jsonFactory.createParser(in).readValueAsTree();
62     }
63 }