39 lines
957 B
Go
39 lines
957 B
Go
package scraper_test
|
|
|
|
import (
|
|
"encoding/json"
|
|
"os"
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
"github.com/stretchr/testify/require"
|
|
|
|
. "gitlab.com/offline-twitter/twitter_offline_engine/pkg/scraper"
|
|
)
|
|
|
|
func TestParseSingleRetweet(t *testing.T) {
|
|
assert := assert.New(t)
|
|
require := require.New(t)
|
|
data, err := os.ReadFile("test_responses/tweet_that_is_a_retweet.json")
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
var api_tweet APITweet
|
|
err = json.Unmarshal(data, &api_tweet)
|
|
require.NoError(err)
|
|
|
|
trove, err := api_tweet.ToTweetTrove()
|
|
require.NoError(err)
|
|
|
|
require.Len(trove.Tweets, 0)
|
|
require.Len(trove.Retweets, 1)
|
|
|
|
retweet, is_ok := trove.Retweets[TweetID(1404270043018448896)]
|
|
require.True(is_ok)
|
|
|
|
assert.Equal(TweetID(1404270043018448896), retweet.RetweetID)
|
|
assert.Equal(TweetID(1404269989646028804), retweet.TweetID)
|
|
assert.Equal(UserID(44067298), retweet.RetweetedByID)
|
|
assert.Equal(int64(1623639042), retweet.RetweetedAt.Unix())
|
|
}
|