Skip to content

Commit a989964

Browse files
committed
Adding JSON streaming parser tests
1 parent cbb1499 commit a989964

File tree

1 file changed

+110
-0
lines changed

1 file changed

+110
-0
lines changed
Lines changed: 110 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,110 @@
1+
/*
2+
* To change this license header, choose License Headers in Project Properties.
3+
* To change this template file, choose Tools | Templates
4+
* and open the template in the editor.
5+
*/
6+
package org.javaee7.json.streaming.parser;
7+
8+
import java.io.File;
9+
import java.io.StringReader;
10+
import javax.json.Json;
11+
import javax.json.JsonReader;
12+
import javax.json.stream.JsonParser;
13+
import org.jboss.arquillian.container.test.api.Deployment;
14+
import org.jboss.arquillian.junit.Arquillian;
15+
import org.jboss.shrinkwrap.api.Archive;
16+
import org.jboss.shrinkwrap.api.ShrinkWrap;
17+
import org.jboss.shrinkwrap.api.spec.WebArchive;
18+
import org.jboss.shrinkwrap.resolver.api.maven.Maven;
19+
import org.json.JSONException;
20+
import org.junit.Test;
21+
import static org.junit.Assert.*;
22+
import org.junit.runner.RunWith;
23+
24+
/**
25+
* @author Arun Gupta
26+
*/
27+
@RunWith(Arquillian.class)
28+
public class JsonParserFromStreamTest {
29+
30+
@Deployment
31+
public static Archive<?> deploy() {
32+
File[] requiredLibraries = Maven.resolver().loadPomFromFile("pom.xml")
33+
.resolve("org.json:json")
34+
.withTransitivity().asFile();
35+
36+
return ShrinkWrap.create(WebArchive.class)
37+
.addAsResource("1.json")
38+
.addAsResource("2.json")
39+
.addAsResource("3.json")
40+
.addAsResource("4.json")
41+
.addAsLibraries(requiredLibraries);
42+
}
43+
44+
@Test
45+
public void testEmptyObject() throws JSONException {
46+
JsonParser parser = Json.createParser(Thread
47+
.currentThread()
48+
.getContextClassLoader()
49+
.getResourceAsStream("/1.json"));
50+
51+
assertEquals(JsonParser.Event.START_OBJECT, parser.next());
52+
assertEquals(JsonParser.Event.END_OBJECT, parser.next());
53+
}
54+
55+
@Test
56+
public void testSimpleObject() throws JSONException {
57+
JsonParser parser = Json.createParser(Thread
58+
.currentThread()
59+
.getContextClassLoader()
60+
.getResourceAsStream("/2.json"));
61+
62+
assertEquals(JsonParser.Event.START_OBJECT, parser.next());
63+
assertEquals(JsonParser.Event.KEY_NAME, parser.next());
64+
assertEquals(JsonParser.Event.VALUE_STRING, parser.next());
65+
assertEquals(JsonParser.Event.KEY_NAME, parser.next());
66+
assertEquals(JsonParser.Event.VALUE_STRING, parser.next());
67+
assertEquals(JsonParser.Event.END_OBJECT, parser.next());
68+
}
69+
70+
@Test
71+
public void testArray() throws JSONException {
72+
JsonParser parser = Json.createParser(Thread
73+
.currentThread()
74+
.getContextClassLoader()
75+
.getResourceAsStream("/3.json"));
76+
77+
assertEquals(JsonParser.Event.START_ARRAY, parser.next());
78+
assertEquals(JsonParser.Event.START_OBJECT, parser.next());
79+
assertEquals(JsonParser.Event.KEY_NAME, parser.next());
80+
assertEquals(JsonParser.Event.VALUE_STRING, parser.next());
81+
assertEquals(JsonParser.Event.END_OBJECT, parser.next());
82+
assertEquals(JsonParser.Event.START_OBJECT, parser.next());
83+
assertEquals(JsonParser.Event.KEY_NAME, parser.next());
84+
assertEquals(JsonParser.Event.VALUE_STRING, parser.next());
85+
assertEquals(JsonParser.Event.END_OBJECT, parser.next());
86+
assertEquals(JsonParser.Event.END_ARRAY, parser.next());
87+
}
88+
89+
@Test
90+
public void testNestedStructure() throws JSONException {
91+
JsonParser parser = Json.createParser(Thread
92+
.currentThread()
93+
.getContextClassLoader()
94+
.getResourceAsStream("/4.json"));
95+
96+
assertEquals(JsonParser.Event.START_OBJECT, parser.next());
97+
assertEquals(JsonParser.Event.KEY_NAME, parser.next());
98+
assertEquals(JsonParser.Event.VALUE_STRING, parser.next());
99+
assertEquals(JsonParser.Event.KEY_NAME, parser.next());
100+
assertEquals(JsonParser.Event.VALUE_NUMBER, parser.next());
101+
assertEquals(JsonParser.Event.KEY_NAME, parser.next());
102+
assertEquals(JsonParser.Event.START_ARRAY, parser.next());
103+
assertEquals(JsonParser.Event.VALUE_STRING, parser.next());
104+
assertEquals(JsonParser.Event.VALUE_STRING, parser.next());
105+
assertEquals(JsonParser.Event.VALUE_STRING, parser.next());
106+
assertEquals(JsonParser.Event.END_ARRAY, parser.next());
107+
assertEquals(JsonParser.Event.END_OBJECT, parser.next());
108+
}
109+
110+
}

0 commit comments

Comments
 (0)