summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorPeter Wu <peter@lekensteyn.nl>2014-05-09 10:21:09 +0200
committerPeter Wu <peter@lekensteyn.nl>2014-05-09 10:21:09 +0200
commit9f29e6f164c83eb00b434467bd2c4257ec827c36 (patch)
tree4739b2ce398f1c43411ea7afec4f95314bd9a9d6 /test
parenta197179a1b78850e1273943611487b331b546af4 (diff)
downloadDatafiller-9f29e6f164c83eb00b434467bd2c4257ec827c36.tar.gz
Add missing annotation for retweeted_status, more tests
Diffstat (limited to 'test')
-rw-r--r--test/data/ValidatingJsonDeserializerTest.java53
1 files changed, 53 insertions, 0 deletions
diff --git a/test/data/ValidatingJsonDeserializerTest.java b/test/data/ValidatingJsonDeserializerTest.java
index ef19cd3..19ec2f4 100644
--- a/test/data/ValidatingJsonDeserializerTest.java
+++ b/test/data/ValidatingJsonDeserializerTest.java
@@ -391,6 +391,14 @@ public class ValidatingJsonDeserializerTest {
checkTweetFail(tweet, "Missing field: " + prop);
}
+ private void checkImpairedUser(String... names) {
+ JsonObject user = buildMinimalUser();
+ removeProperty(user, names);
+ JsonObject tweet = buildMinimalTweet(user);
+ String prop = names[names.length - 1];
+ checkTweetFail(tweet, "Missing field: " + prop);
+ }
+
private void checkTweetFail(JsonObject tweet, String exp) {
Gson gson = new Gson();
System.out.println("Checking for failure: " + exp);
@@ -419,7 +427,16 @@ public class ValidatingJsonDeserializerTest {
@Test
public void testTweet() {
+ checkImpairedTweet("id");
+ checkImpairedTweet("lang");
+ checkImpairedTweet("in_reply_to_user_id");
+ checkImpairedTweet("created_at");
+ checkImpairedTweet("favorite_count");
+ checkImpairedTweet("place");
+ checkImpairedTweet("coordinates");
checkImpairedTweet("text");
+ checkImpairedTweet("retweet_count");
+ checkImpairedTweet("user");
}
@Test
@@ -430,9 +447,45 @@ public class ValidatingJsonDeserializerTest {
}
@Test
+ public void testUser() {
+ checkImpairedUser("id");
+ checkImpairedUser("name");
+ checkImpairedUser("time_zone");
+ checkImpairedUser("statuses_count");
+ checkImpairedUser("followers_count");
+ checkImpairedUser("friends_count");
+ checkImpairedUser("location");
+ checkImpairedUser("screen_name");
+ checkImpairedUser("created_at");
+ checkImpairedUser("lang");
+ }
+
+ @Test
public void testUserEntities() {
checkImpairedTweet("user", "entities");
checkImpairedTweet("user", "entities", "url");
checkImpairedTweet("user", "entities", "url", "urls");
}
+
+ @Test
+ public void testRetweetedStatus() {
+ JsonObject tweet = buildMinimalTweet(buildMinimalUser());
+ JsonObject rtUser = buildMinimalUser();
+ String screen_name = "Somebody";
+ rtUser.addProperty("screen_name", screen_name);
+ JsonObject retweet = buildMinimalTweet(rtUser);
+ tweet.add("retweeted_status", retweet);
+ Tweet parsedTweet = checkTweetPass(tweet);
+ assertNotNull(parsedTweet.retweeted_status);
+ assertEquals(screen_name, parsedTweet.retweeted_status.user.screen_name);
+ }
+
+ @Test
+ public void testRetweetedMissingText() {
+ JsonObject tweet = buildMinimalTweet(buildMinimalUser());
+ JsonObject retweet = buildMinimalTweet(buildMinimalUser());
+ removeProperty(retweet, "text");
+ tweet.add("retweeted_status", retweet);
+ checkTweetFail(tweet, "Missing field: text");
+ }
}