Refactor tweet_test: make a tweet loader helper function
This commit is contained in:
parent
6aa14c32e2
commit
18722a6b1b
@ -8,21 +8,26 @@ import (
|
|||||||
"offline_twitter/scraper"
|
"offline_twitter/scraper"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
func load_tweet_from_file(filename string) scraper.Tweet{
|
||||||
func TestParseSingleTweet(t *testing.T) {
|
data, err := ioutil.ReadFile(filename)
|
||||||
data, err := ioutil.ReadFile("test_responses/single_tweets/tweet_with_unicode_chars.json")
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
panic(err)
|
panic(err)
|
||||||
}
|
}
|
||||||
var apitweet scraper.APITweet
|
var apitweet scraper.APITweet
|
||||||
err = json.Unmarshal(data, &apitweet)
|
err = json.Unmarshal(data, &apitweet)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Errorf(err.Error())
|
panic(err)
|
||||||
}
|
}
|
||||||
tweet, err := scraper.ParseSingleTweet(apitweet)
|
tweet, err := scraper.ParseSingleTweet(apitweet)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf(err.Error())
|
panic(err)
|
||||||
}
|
}
|
||||||
|
return tweet
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
func TestParseSingleTweet(t *testing.T) {
|
||||||
|
tweet := load_tweet_from_file("test_responses/single_tweets/tweet_with_unicode_chars.json")
|
||||||
|
|
||||||
expected_text := "The fact that @michaelmalice new book ‘The Anarchist Handbook’ is just absolutely destroying on the charts is the largest white pill I’ve swallowed in years."
|
expected_text := "The fact that @michaelmalice new book ‘The Anarchist Handbook’ is just absolutely destroying on the charts is the largest white pill I’ve swallowed in years."
|
||||||
actual_text := tweet.Text
|
actual_text := tweet.Text
|
||||||
@ -49,19 +54,7 @@ func TestParseSingleTweet(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestParseTweetWithImage(t *testing.T) {
|
func TestParseTweetWithImage(t *testing.T) {
|
||||||
data, err := ioutil.ReadFile("test_responses/single_tweets/tweet_with_image.json")
|
tweet := load_tweet_from_file("test_responses/single_tweets/tweet_with_image.json")
|
||||||
if err != nil {
|
|
||||||
panic(err)
|
|
||||||
}
|
|
||||||
var apitweet scraper.APITweet
|
|
||||||
err = json.Unmarshal(data, &apitweet)
|
|
||||||
if err != nil {
|
|
||||||
t.Errorf(err.Error())
|
|
||||||
}
|
|
||||||
tweet, err := scraper.ParseSingleTweet(apitweet)
|
|
||||||
if err != nil {
|
|
||||||
t.Fatalf(err.Error())
|
|
||||||
}
|
|
||||||
|
|
||||||
expected_text := "this saddens me every time"
|
expected_text := "this saddens me every time"
|
||||||
if tweet.Text != expected_text {
|
if tweet.Text != expected_text {
|
||||||
@ -73,19 +66,7 @@ func TestParseTweetWithImage(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestParseTweetWithQuotedTweetAsLink(t *testing.T) {
|
func TestParseTweetWithQuotedTweetAsLink(t *testing.T) {
|
||||||
data, err := ioutil.ReadFile("test_responses/single_tweets/tweet_with_quoted_tweet_as_link2.json")
|
tweet := load_tweet_from_file("test_responses/single_tweets/tweet_with_quoted_tweet_as_link2.json")
|
||||||
if err != nil {
|
|
||||||
panic(err)
|
|
||||||
}
|
|
||||||
var apitweet scraper.APITweet
|
|
||||||
err = json.Unmarshal(data, &apitweet)
|
|
||||||
if err != nil {
|
|
||||||
t.Errorf(err.Error())
|
|
||||||
}
|
|
||||||
tweet, err := scraper.ParseSingleTweet(apitweet)
|
|
||||||
if err != nil {
|
|
||||||
t.Errorf(err.Error())
|
|
||||||
}
|
|
||||||
|
|
||||||
expected_text := "sometimes they're too dimwitted to even get the wrong title right"
|
expected_text := "sometimes they're too dimwitted to even get the wrong title right"
|
||||||
if tweet.Text != expected_text {
|
if tweet.Text != expected_text {
|
||||||
@ -107,19 +88,8 @@ func TestParseTweetWithQuotedTweetAsLink(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestParseTweetWithVideo(t *testing.T) {
|
func TestParseTweetWithVideo(t *testing.T) {
|
||||||
data, err := ioutil.ReadFile("test_responses/single_tweets/tweet_with_video.json")
|
tweet := load_tweet_from_file("test_responses/single_tweets/tweet_with_video.json")
|
||||||
if err != nil {
|
|
||||||
panic(err)
|
|
||||||
}
|
|
||||||
var apitweet scraper.APITweet
|
|
||||||
err = json.Unmarshal(data, &apitweet)
|
|
||||||
if err != nil {
|
|
||||||
t.Errorf(err.Error())
|
|
||||||
}
|
|
||||||
tweet, err := scraper.ParseSingleTweet(apitweet)
|
|
||||||
if err != nil {
|
|
||||||
t.Errorf(err.Error())
|
|
||||||
}
|
|
||||||
expected_video := "https://video.twimg.com/ext_tw_video/1418951950020845568/pu/vid/720x1280/sm4iL9_f8Lclh0aa.mp4?tag=12"
|
expected_video := "https://video.twimg.com/ext_tw_video/1418951950020845568/pu/vid/720x1280/sm4iL9_f8Lclh0aa.mp4?tag=12"
|
||||||
if len(tweet.Videos) != 1 || tweet.Videos[0].RemoteURL != expected_video {
|
if len(tweet.Videos) != 1 || tweet.Videos[0].RemoteURL != expected_video {
|
||||||
t.Errorf("Expected video URL %q, but got %+v", expected_video, tweet.Videos)
|
t.Errorf("Expected video URL %q, but got %+v", expected_video, tweet.Videos)
|
||||||
@ -131,19 +101,7 @@ func TestParseTweetWithVideo(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestParseTweetWithUrl(t *testing.T) {
|
func TestParseTweetWithUrl(t *testing.T) {
|
||||||
data, err := ioutil.ReadFile("test_responses/single_tweets/tweet_with_url_card.json")
|
tweet := load_tweet_from_file("test_responses/single_tweets/tweet_with_url_card.json")
|
||||||
if err != nil {
|
|
||||||
panic(err)
|
|
||||||
}
|
|
||||||
var apitweet scraper.APITweet
|
|
||||||
err = json.Unmarshal(data, &apitweet)
|
|
||||||
if err != nil {
|
|
||||||
t.Errorf(err.Error())
|
|
||||||
}
|
|
||||||
tweet, err := scraper.ParseSingleTweet(apitweet)
|
|
||||||
if err != nil {
|
|
||||||
t.Errorf(err.Error())
|
|
||||||
}
|
|
||||||
|
|
||||||
if len(tweet.Urls) != 1 {
|
if len(tweet.Urls) != 1 {
|
||||||
t.Errorf("Expected %d urls, but got %d", 1, len(tweet.Urls))
|
t.Errorf("Expected %d urls, but got %d", 1, len(tweet.Urls))
|
||||||
@ -163,19 +121,7 @@ func TestParseTweetWithUrl(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestParseTweetWithUrlButNoCard(t *testing.T) {
|
func TestParseTweetWithUrlButNoCard(t *testing.T) {
|
||||||
data, err := ioutil.ReadFile("test_responses/single_tweets/tweet_with_url_but_no_card.json")
|
tweet := load_tweet_from_file("test_responses/single_tweets/tweet_with_url_but_no_card.json")
|
||||||
if err != nil {
|
|
||||||
panic(err)
|
|
||||||
}
|
|
||||||
var apitweet scraper.APITweet
|
|
||||||
err = json.Unmarshal(data, &apitweet)
|
|
||||||
if err != nil {
|
|
||||||
t.Errorf(err.Error())
|
|
||||||
}
|
|
||||||
tweet, err := scraper.ParseSingleTweet(apitweet)
|
|
||||||
if err != nil {
|
|
||||||
t.Errorf(err.Error())
|
|
||||||
}
|
|
||||||
|
|
||||||
if len(tweet.Urls) != 1 {
|
if len(tweet.Urls) != 1 {
|
||||||
t.Errorf("Expected %d urls, but got %d", 1, len(tweet.Urls))
|
t.Errorf("Expected %d urls, but got %d", 1, len(tweet.Urls))
|
||||||
@ -191,19 +137,7 @@ func TestParseTweetWithUrlButNoCard(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestParseTweetWithMultipleUrls(t *testing.T) {
|
func TestParseTweetWithMultipleUrls(t *testing.T) {
|
||||||
data, err := ioutil.ReadFile("test_responses/single_tweets/tweet_with_multiple_urls.json")
|
tweet := load_tweet_from_file("test_responses/single_tweets/tweet_with_multiple_urls.json")
|
||||||
if err != nil {
|
|
||||||
panic(err)
|
|
||||||
}
|
|
||||||
var apitweet scraper.APITweet
|
|
||||||
err = json.Unmarshal(data, &apitweet)
|
|
||||||
if err != nil {
|
|
||||||
t.Errorf(err.Error())
|
|
||||||
}
|
|
||||||
tweet, err := scraper.ParseSingleTweet(apitweet)
|
|
||||||
if err != nil {
|
|
||||||
t.Errorf(err.Error())
|
|
||||||
}
|
|
||||||
|
|
||||||
if len(tweet.Urls) != 3 {
|
if len(tweet.Urls) != 3 {
|
||||||
t.Errorf("Expected %d urls, got %d instead", 3, len(tweet.Urls))
|
t.Errorf("Expected %d urls, got %d instead", 3, len(tweet.Urls))
|
||||||
@ -224,19 +158,7 @@ func TestParseTweetWithMultipleUrls(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestTweetWithLotsOfReplyMentions(t *testing.T) {
|
func TestTweetWithLotsOfReplyMentions(t *testing.T) {
|
||||||
data, err := ioutil.ReadFile("test_responses/single_tweets/tweet_with_at_mentions_in_front.json")
|
tweet := load_tweet_from_file("test_responses/single_tweets/tweet_with_at_mentions_in_front.json")
|
||||||
if err != nil {
|
|
||||||
panic(err)
|
|
||||||
}
|
|
||||||
var apitweet scraper.APITweet
|
|
||||||
err = json.Unmarshal(data, &apitweet)
|
|
||||||
if err != nil {
|
|
||||||
t.Errorf(err.Error())
|
|
||||||
}
|
|
||||||
tweet, err := scraper.ParseSingleTweet(apitweet)
|
|
||||||
if err != nil {
|
|
||||||
t.Errorf(err.Error())
|
|
||||||
}
|
|
||||||
|
|
||||||
if len(tweet.ReplyMentions) != 4 {
|
if len(tweet.ReplyMentions) != 4 {
|
||||||
t.Errorf("Expected %d reply-mentions, got %d", 4, len(tweet.ReplyMentions))
|
t.Errorf("Expected %d reply-mentions, got %d", 4, len(tweet.ReplyMentions))
|
||||||
|
Loading…
x
Reference in New Issue
Block a user