Use global test scraper with auth
This commit is contained in:
parent
d34f982b0d
commit
5f380af184
3 changed files with 27 additions and 66 deletions
11
auth_test.go
11
auth_test.go
|
|
@ -1,6 +1,7 @@
|
||||||
package twitterscraper_test
|
package twitterscraper_test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"fmt"
|
||||||
"os"
|
"os"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
|
|
@ -11,8 +12,18 @@ var (
|
||||||
username = os.Getenv("TWITTER_USERNAME")
|
username = os.Getenv("TWITTER_USERNAME")
|
||||||
password = os.Getenv("TWITTER_PASSWORD")
|
password = os.Getenv("TWITTER_PASSWORD")
|
||||||
email = os.Getenv("TWITTER_EMAIL")
|
email = os.Getenv("TWITTER_EMAIL")
|
||||||
|
testScraper = twitterscraper.New()
|
||||||
)
|
)
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
if username != "" && password != "" {
|
||||||
|
err := testScraper.Login(username, password, email)
|
||||||
|
if err != nil {
|
||||||
|
panic(fmt.Sprintf("Login() error = %v", err))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func TestAuth(t *testing.T) {
|
func TestAuth(t *testing.T) {
|
||||||
if os.Getenv("SKIP_AUTH_TEST") != "" {
|
if os.Getenv("SKIP_AUTH_TEST") != "" {
|
||||||
t.Skip("Skipping test due to environment variable")
|
t.Skip("Skipping test due to environment variable")
|
||||||
|
|
|
||||||
|
|
@ -12,18 +12,12 @@ func TestFetchSearchCursor(t *testing.T) {
|
||||||
if os.Getenv("SKIP_AUTH_TEST") != "" {
|
if os.Getenv("SKIP_AUTH_TEST") != "" {
|
||||||
t.Skip("Skipping test due to environment variable")
|
t.Skip("Skipping test due to environment variable")
|
||||||
}
|
}
|
||||||
searchScraper := twitterscraper.New()
|
|
||||||
err := searchScraper.Login(username, password)
|
|
||||||
if err != nil {
|
|
||||||
t.Fatal(err)
|
|
||||||
}
|
|
||||||
defer searchScraper.Logout()
|
|
||||||
|
|
||||||
maxTweetsNbr := 150
|
maxTweetsNbr := 150
|
||||||
tweetsNbr := 0
|
tweetsNbr := 0
|
||||||
nextCursor := ""
|
nextCursor := ""
|
||||||
for tweetsNbr < maxTweetsNbr {
|
for tweetsNbr < maxTweetsNbr {
|
||||||
tweets, cursor, err := searchScraper.FetchSearchTweets("twitter", maxTweetsNbr, nextCursor)
|
tweets, cursor, err := testScraper.FetchSearchTweets("twitter", maxTweetsNbr, nextCursor)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
|
|
@ -42,15 +36,8 @@ func TestGetSearchProfiles(t *testing.T) {
|
||||||
count := 0
|
count := 0
|
||||||
maxProfilesNbr := 150
|
maxProfilesNbr := 150
|
||||||
dupcheck := make(map[string]bool)
|
dupcheck := make(map[string]bool)
|
||||||
searchScraper := twitterscraper.New()
|
testScraper.SetSearchMode(twitterscraper.SearchUsers)
|
||||||
err := searchScraper.Login(username, password)
|
for profile := range testScraper.SearchProfiles(context.Background(), "Twitter", maxProfilesNbr) {
|
||||||
if err != nil {
|
|
||||||
t.Fatal(err)
|
|
||||||
}
|
|
||||||
defer searchScraper.Logout()
|
|
||||||
|
|
||||||
searchScraper.SetSearchMode(twitterscraper.SearchUsers)
|
|
||||||
for profile := range searchScraper.SearchProfiles(context.Background(), "Twitter", maxProfilesNbr) {
|
|
||||||
if profile.Error != nil {
|
if profile.Error != nil {
|
||||||
t.Error(profile.Error)
|
t.Error(profile.Error)
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -78,15 +65,8 @@ func TestGetSearchTweets(t *testing.T) {
|
||||||
count := 0
|
count := 0
|
||||||
maxTweetsNbr := 150
|
maxTweetsNbr := 150
|
||||||
dupcheck := make(map[string]bool)
|
dupcheck := make(map[string]bool)
|
||||||
searchScraper := twitterscraper.New()
|
testScraper.SetSearchMode(twitterscraper.SearchLatest)
|
||||||
err := searchScraper.Login(username, password)
|
for tweet := range testScraper.SearchTweets(context.Background(), "twitter", maxTweetsNbr) {
|
||||||
if err != nil {
|
|
||||||
t.Fatal(err)
|
|
||||||
}
|
|
||||||
defer searchScraper.Logout()
|
|
||||||
|
|
||||||
searchScraper.SetSearchMode(twitterscraper.SearchLatest)
|
|
||||||
for tweet := range searchScraper.SearchTweets(context.Background(), "twitter", maxTweetsNbr) {
|
|
||||||
if tweet.Error != nil {
|
if tweet.Error != nil {
|
||||||
t.Error(tweet.Error)
|
t.Error(tweet.Error)
|
||||||
} else {
|
} else {
|
||||||
|
|
|
||||||
|
|
@ -77,12 +77,7 @@ func TestGetTweets(t *testing.T) {
|
||||||
}
|
}
|
||||||
|
|
||||||
func assertGetTweet(t *testing.T, expectedTweet *twitterscraper.Tweet) {
|
func assertGetTweet(t *testing.T, expectedTweet *twitterscraper.Tweet) {
|
||||||
scraper := twitterscraper.New()
|
actualTweet, err := testScraper.GetTweet(expectedTweet.ID)
|
||||||
err := scraper.LoginOpenAccount()
|
|
||||||
if err != nil {
|
|
||||||
t.Fatalf("LoginOpenAccount() error = %v", err)
|
|
||||||
}
|
|
||||||
actualTweet, err := scraper.GetTweet(expectedTweet.ID)
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Error(err)
|
t.Error(err)
|
||||||
} else if diff := cmp.Diff(expectedTweet, actualTweet, cmpOptions...); diff != "" {
|
} else if diff := cmp.Diff(expectedTweet, actualTweet, cmpOptions...); diff != "" {
|
||||||
|
|
@ -192,12 +187,7 @@ func TestTweetMentions(t *testing.T) {
|
||||||
Username: "davidmcraney",
|
Username: "davidmcraney",
|
||||||
Name: "David McRaney",
|
Name: "David McRaney",
|
||||||
}}
|
}}
|
||||||
scraper := twitterscraper.New()
|
tweet, err := testScraper.GetTweet("1554522888904101890")
|
||||||
err := scraper.LoginOpenAccount()
|
|
||||||
if err != nil {
|
|
||||||
t.Fatalf("LoginOpenAccount() error = %v", err)
|
|
||||||
}
|
|
||||||
tweet, err := scraper.GetTweet("1554522888904101890")
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Error(err)
|
t.Error(err)
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -228,12 +218,7 @@ func TestQuotedAndReply(t *testing.T) {
|
||||||
UserID: "978944851",
|
UserID: "978944851",
|
||||||
Username: "VsauceTwo",
|
Username: "VsauceTwo",
|
||||||
}
|
}
|
||||||
scraper := twitterscraper.New()
|
tweet, err := testScraper.GetTweet("1237110897597976576")
|
||||||
err := scraper.LoginOpenAccount()
|
|
||||||
if err != nil {
|
|
||||||
t.Fatalf("LoginOpenAccount() error = %v", err)
|
|
||||||
}
|
|
||||||
tweet, err := scraper.GetTweet("1237110897597976576")
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Error(err)
|
t.Error(err)
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -244,7 +229,7 @@ func TestQuotedAndReply(t *testing.T) {
|
||||||
t.Error("Resulting quote does not match the sample", diff)
|
t.Error("Resulting quote does not match the sample", diff)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
tweet, err = scraper.GetTweet("1237111868445134850")
|
tweet, err = testScraper.GetTweet("1237111868445134850")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Error(err)
|
t.Error(err)
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -262,7 +247,7 @@ func TestRetweet(t *testing.T) {
|
||||||
ConversationID: "1359151057872580612",
|
ConversationID: "1359151057872580612",
|
||||||
HTML: "We’ve seen an increase in attacks against Asian communities and individuals around the world. It’s important to know that this isn’t new; throughout history, Asians have experienced violence and exclusion. However, their diverse lived experiences have largely been overlooked.",
|
HTML: "We’ve seen an increase in attacks against Asian communities and individuals around the world. It’s important to know that this isn’t new; throughout history, Asians have experienced violence and exclusion. However, their diverse lived experiences have largely been overlooked.",
|
||||||
ID: "1359151057872580612",
|
ID: "1359151057872580612",
|
||||||
IsSelfThread: true,
|
IsSelfThread: false,
|
||||||
Likes: 6683,
|
Likes: 6683,
|
||||||
Name: "Twitter Together",
|
Name: "Twitter Together",
|
||||||
PermanentURL: "https://twitter.com/TwitterTogether/status/1359151057872580612",
|
PermanentURL: "https://twitter.com/TwitterTogether/status/1359151057872580612",
|
||||||
|
|
@ -274,12 +259,7 @@ func TestRetweet(t *testing.T) {
|
||||||
UserID: "773578328498372608",
|
UserID: "773578328498372608",
|
||||||
Username: "TwitterTogether",
|
Username: "TwitterTogether",
|
||||||
}
|
}
|
||||||
scraper := twitterscraper.New()
|
tweet, err := testScraper.GetTweet("1362849141248974853")
|
||||||
err := scraper.LoginOpenAccount()
|
|
||||||
if err != nil {
|
|
||||||
t.Fatalf("LoginOpenAccount() error = %v", err)
|
|
||||||
}
|
|
||||||
tweet, err := scraper.GetTweet("1362849141248974853")
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Error(err)
|
t.Error(err)
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -308,12 +288,7 @@ func TestTweetViews(t *testing.T) {
|
||||||
Username: "TwitterSupport",
|
Username: "TwitterSupport",
|
||||||
Views: 3189278,
|
Views: 3189278,
|
||||||
}
|
}
|
||||||
scraper := twitterscraper.New()
|
tweet, err := testScraper.GetTweet("1606055187348688896")
|
||||||
err := scraper.LoginOpenAccount()
|
|
||||||
if err != nil {
|
|
||||||
t.Fatalf("LoginOpenAccount() error = %v", err)
|
|
||||||
}
|
|
||||||
tweet, err := scraper.GetTweet("1606055187348688896")
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Error(err)
|
t.Error(err)
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -327,12 +302,7 @@ func TestTweetThread(t *testing.T) {
|
||||||
if os.Getenv("SKIP_AUTH_TEST") != "" {
|
if os.Getenv("SKIP_AUTH_TEST") != "" {
|
||||||
t.Skip("Skipping test due to environment variable")
|
t.Skip("Skipping test due to environment variable")
|
||||||
}
|
}
|
||||||
scraper := twitterscraper.New()
|
tweet, err := testScraper.GetTweet("1665602315745673217")
|
||||||
err := scraper.Login(username, password)
|
|
||||||
if err != nil {
|
|
||||||
t.Fatalf("Login() error = %v", err)
|
|
||||||
}
|
|
||||||
tweet, err := scraper.GetTweet("1665602315745673217")
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
} else {
|
} else {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue