public List <Tweet> GetTimeline(long userId) { Console.WriteLine($"*** Starting on {userId} ***"); TweetReader tweetReader = new TweetReader(Keys.mySqlConnectionString); long? latestTweetID = tweetReader.FindMostRecentTweetId(userId); List <Tweet> untaggedTweets = new List <Tweet>(); while (RequestsRemaining < 10) { Console.WriteLine("Less than 10 requests remaining in window. 15 minute cooldown starts now."); Thread.Sleep(90 * 1000 * 10); // Wait 900,000 milliseconds, i.e. 15 minutes var newRateLimit = Tweetinvi.RateLimit.GetQueryRateLimit("https://api.twitter.com/1.1/statuses/user_timeline.json"); RequestsRemaining = newRateLimit.Remaining; ResetDateTime = newRateLimit.ResetDateTime; } Console.WriteLine($"Requests remaining: {RequestsRemaining}"); if (latestTweetID == null) { untaggedTweets = GetTweetsForNewUser(userId, 100); } else { untaggedTweets = GetTweetsForExistingUser(userId, latestTweetID.Value); } return(untaggedTweets); }
public void GetLatestTweets() { DotNetEnv.Env.Load(); ITweetReader tweetReader = new TweetReader( HelperMethods.GetEnvironmentVariable <string>("twitterconsumerpublic"), HelperMethods.GetEnvironmentVariable <string>("twitterconsumerprivate"), HelperMethods.GetEnvironmentVariable <string>("twitteraccesstoken"), HelperMethods.GetEnvironmentVariable <string>("twitteraccesssecret")); var tweets = tweetReader.GetLatestTweets("jbschwi", 10); Assert.True(tweets.Any()); }
public void GivenTwitterApiResponse_PassesItAlong() { var tweetReader = new TweetReader(); //This is not a unit test! //There is no way I can call this method // without it actually calling out to Twitter. var results = tweetReader.ReadTweetsForUser("asdfsdf"); Assert.That(results, Is.Not.Null); //Because it is not a unit test, // this assertion especially would be very fragile. // As soon as the user made a new tweet, this test would have to be updated! Assert.That(results.Count(), Is.EqualTo(2)); }
public void GivenTwitterApiResponse_PassesItAlong() { var apiResults = SomeTweets(); var mockApi = new Mock <ITwitterApi>(); mockApi.Setup(x => x.GetTweets(It.IsAny <String>())) .Returns(apiResults); var tweetReader = new TweetReader(mockApi.Object); var results = tweetReader.ReadTweetsForUser("asdfasdf"); Assert.That(results, Is.Not.Null); Assert.That(results.Count(), Is.EqualTo(2)); Assert.That(results.First().Contents, Is.EqualTo(apiResults.First().Contents)); }
public List <Tweet> FindBySearch(string searchQuery) { string connectionString = _configuration["ConnectionString"]; TweetReader tweetFinder = new TweetReader(connectionString); List <Tweet> tweets = tweetFinder.SearchUsersAndTweetContent(searchQuery); if (tweets == null) { return(null); } else { return(tweets); } }
public List <Tweet> FindByTag(string tag) { string connectionString = _configuration["ConnectionString"]; TweetReader tweetFinder = new TweetReader(connectionString); List <Tweet> tweets = tweetFinder.FindTweetsByTag(tag); if (tweets == null) { return(null); } else { return(tweets); } }
// Use this for initialization void Start() { tweetReader = GetComponentInParent <TweetReader>(); phone = transform.parent.GetComponent <PhoneApp>(); }