offline-twitter/pkg/scraper/retweet_test.go
2024-12-21 09:15:02 -08:00

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())
}