public void ProcessResults_Populates_PublicMetrics() { var twitterUserReqProc = new TwitterUserRequestProcessor <TwitterUserQuery> { BaseUrl = BaseUrl2 }; List <TwitterUserQuery> results = twitterUserReqProc.ProcessResults(UsersJson); Assert.IsNotNull(results); TwitterUserQuery twitterUserQuery = results.SingleOrDefault(); Assert.IsNotNull(twitterUserQuery); List <TwitterUser> users = twitterUserQuery.Users; Assert.IsNotNull(users); Assert.AreEqual(2, users.Count); TwitterUser user = users.FirstOrDefault(); Assert.IsNotNull(user); TwitterUserPublicMetrics metrics = user.PublicMetrics; Assert.IsNotNull(metrics); Assert.AreEqual(10024, metrics.FollowersCount); Assert.AreEqual(3539, metrics.FollowingCount); Assert.AreEqual(270, metrics.ListedCount); Assert.AreEqual(3800, metrics.TweetCount); }
public void ProcessResults_WithErrors_PopulatesErrorList() { var twitterUserProc = new TwitterUserRequestProcessor <TwitterUserQuery> { BaseUrl = "https://api.twitter.com/1.1/search/" }; List <TwitterUserQuery> results = twitterUserProc.ProcessResults(ErrorTweet); Assert.IsNotNull(results); TwitterUserQuery twitterUserQuery = results.SingleOrDefault(); Assert.IsNotNull(twitterUserQuery); List <TwitterError> errors = twitterUserQuery.Errors; Assert.IsNotNull(errors); Assert.AreEqual(1, errors.Count); TwitterError error = errors.FirstOrDefault(); Assert.IsNotNull(error); Assert.AreEqual("Could not find tweet with ids: [1].", error.Detail); Assert.AreEqual("Not Found Error", error.Title); Assert.AreEqual("tweet", error.ResourceType); Assert.AreEqual("ids", error.Parameter); Assert.AreEqual("1", error.Value); Assert.AreEqual("https://api.twitter.com/2/problems/resource-not-found", error.Type); }
public void ProcessResults_Populates_Users() { var twitterUserProc = new TwitterUserRequestProcessor <TwitterUserQuery> { BaseUrl = BaseUrl2 }; List <TwitterUserQuery> results = twitterUserProc.ProcessResults(UsersJson); Assert.IsNotNull(results); TwitterUserQuery twitterUserQuery = results.SingleOrDefault(); Assert.IsNotNull(twitterUserQuery); List <TwitterUser> users = twitterUserQuery.Users; Assert.IsNotNull(users); Assert.AreEqual(2, users.Count); TwitterUser user = users.FirstOrDefault(); Assert.IsNotNull(user); Assert.AreEqual(DateTime.Parse("2008-07-13").Date, user.CreatedAt.Date); Assert.AreEqual("Author, Instructor, and Independent Consultant. Author of Programming the Microsoft Bot Framework/MS Press.\n#ai #chatbots #csharp #linq2twitter #twitterapi", user.Description); Assert.AreEqual("15411837", user.ID); Assert.AreEqual("Las Vegas, NV", user.Location); Assert.AreEqual("Joe Mayo", user.Name); Assert.AreEqual("1258043891434962945", user.PinnedTweetId); Assert.AreEqual("https://pbs.twimg.com/profile_images/1185764990403268613/8GoXoOtz_normal.jpg", user.ProfileImageUrl); Assert.IsTrue(user.Protected); Assert.AreEqual("https://t.co/Y6dXyWxanS", user.Url); Assert.AreEqual("JoeMayo", user.Username); Assert.IsTrue(user.Verified); }
public void ProcessResults_Handles_Response_With_No_Results() { var twitterUserReqProc = new TwitterUserRequestProcessor <TwitterUserQuery> { BaseUrl = BaseUrl2 }; List <TwitterUserQuery> results = twitterUserReqProc.ProcessResults(ErrorTweet); Assert.IsNotNull(results); TwitterUserQuery twitterUserQuery = results.SingleOrDefault(); Assert.IsNotNull(twitterUserQuery); List <TwitterUser> users = twitterUserQuery.Users; Assert.IsNull(users); }
public void ProcessResults_Populates_Entities() { var twitterUserProc = new TwitterUserRequestProcessor <TwitterUserQuery> { BaseUrl = BaseUrl2 }; List <TwitterUserQuery> results = twitterUserProc.ProcessResults(UsersJson); Assert.IsNotNull(results); TwitterUserQuery twitterUserQuery = results.SingleOrDefault(); Assert.IsNotNull(twitterUserQuery); List <TwitterUser> users = twitterUserQuery.Users; Assert.IsNotNull(users); Assert.AreEqual(2, users.Count); TwitterUser user = users.FirstOrDefault(); Assert.IsNotNull(user); TwitterUserEntity entities = user.Entities; Assert.IsNotNull(entities); TweetEntityUrl url = entities?.Url?.Urls?.FirstOrDefault(); Assert.IsNotNull(url); Assert.AreEqual(0, url.Start); Assert.AreEqual(23, url.End); Assert.AreEqual("https://t.co/Y6dXyWxanS", url.Url); Assert.AreEqual("https://github.com/JoeMayo", url.ExpandedUrl); Assert.AreEqual("github.com/JoeMayo", url.DisplayUrl); TweetEntityHashtag hashtag = entities?.Description?.Hashtags?.FirstOrDefault(); Assert.IsNotNull(hashtag); Assert.AreEqual(108, hashtag.Start); Assert.AreEqual(111, hashtag.End); Assert.AreEqual("ai", hashtag.Tag); }
public void ProcessResults_WithFullUserExpansionsAndTweets_Deserializes() { var twitterUserReqProc = new TwitterUserRequestProcessor <TwitterUserQuery> { BaseUrl = BaseUrl2 }; List <TwitterUserQuery> results = twitterUserReqProc.ProcessResults(FullUserWithTweet); Assert.IsNotNull(results); TwitterUserQuery twitterUserQuery = results.SingleOrDefault(); Assert.IsNotNull(twitterUserQuery); TwitterInclude includes = twitterUserQuery.Includes; Assert.IsNotNull(includes); List <Tweet> tweets = includes.Tweets; Assert.IsNotNull(tweets); Assert.IsTrue(tweets.Any()); Tweet tweet = tweets.First(); Assert.IsNotNull(tweet); Assert.AreEqual(TweetReplySettings.Everyone, tweet.ReplySettings); }
private void ShareButtonClick(object sender, EventArgs e) { var twitterUserQuery = new TwitterUserQuery(); var twitterUser = twitterUserQuery.Get(); if (twitterUser == null) { NavigationService.Navigate(new Uri("/TwitterAuthentication.xaml", UriKind.Relative)); return; } NavigationService.Navigate(new Uri("/TweetPhoto.xaml", UriKind.Relative)); }