public async Task Create_And_Send_Tweet() { // arrange session.Returns(await Json.FromFile("data\\tweets\\singletweet.txt")); session.ExpectPost("https://api.twitter.com/1.1/statuses/update.json"); var singletweet = await session.SendTweet("Maybe he'll finally find his keys. #peterfalk"); Assert.IsNotNull(singletweet); Assert.IsTrue(singletweet.Id == 243145735212777472); }
public async Task Get_Place_Info() { // arrange session.Returns(await Json.FromFile("data\\placegeo\\placeinfo.txt")); session.ExpectGet("https://api.twitter.com/1.1/geo/id/df51dec6f4ee2b2c.json"); var placegeo = await session.GetPlaceInfo("df51dec6f4ee2b2c"); Assert.IsNotNull(placegeo); placegeo.FullName.ShouldBeEquivalentTo("Presidio, San Francisco"); placegeo.BoundingBox.GeoCoordinates[0][0][0].ShouldBeEquivalentTo(-122.48530488); }
public async Task Get_Suggested_User_Lists_as_Slugs() { // arrange session.Returns(await Json.FromFile("data\\suggestions\\suggestions.txt")); session.ExpectGet("https://api.twitter.com/1.1/users/suggestions.json"); var suggestions = await session.GetSuggestedLists(); Assert.IsNotNull(suggestions); suggestions.Count().ShouldBeEquivalentTo(30); suggestions.ToList()[20].Slug.ShouldBeEquivalentTo("news"); }
public async Task Get_Trends_For_Place() { // arrange session.Returns(await Json.FromFile("data\\trends\\trendsforplace.txt")); session.ExpectGet("https://api.twitter.com/1.1/trends/place.json"); var placetrends = await session.GetTrendsForPlace(1); Assert.IsNotNull(placetrends); placetrends.Count().ShouldBeEquivalentTo(1); placetrends.ToList()[0].locations.Count().ShouldBeEquivalentTo(1); placetrends.ToList()[0].locations.ToList()[0].name.ShouldBeEquivalentTo("Worldwide"); }
public async Task Get_Favourites_For_CurrentUser_ReturnsSet() { // arrange session.Returns(await Json.FromFile("data\\favorites\\favoritelist.txt")); session.ExpectGet("https://api.twitter.com/1.1/favorites/list.json"); var favourites = await session.GetFavourites(); Assert.IsTrue(favourites.Count() > 0); favourites.ToList().Should().HaveCount(2); favourites.ToList()[0].Favourited.Should().BeTrue(); favourites.ToList()[1].Favourited.Should().BeTrue(); }
public async Task Get_Mentions_Timeline() { // arrange session.Returns(await Json.FromFile("data\\timeline\\mentionstimeline.txt")); session.ExpectGet("https://api.twitter.com/1.1/statuses/mentions_timeline.json"); var mentions = await session.GetMentions(); Assert.IsNotNull(mentions); mentions.ToList()[0].Entities.Mentions.Should().HaveCount(3); mentions.ToList()[0].Entities.Mentions.ToList()[1].Name.Should().BeEquivalentTo("Matt Harris"); Assert.IsTrue(mentions.ToList().Count > 0); Assert.IsTrue(mentions.ToList().Count == 2); }
public async Task Get_DirectMessages_received() { // arrange session.Returns(await Json.FromFile("data\\directmessages\\directmessageslist.txt")); session.ExpectGet("https://api.twitter.com/1.1/direct_messages.json"); var directmessages = await session.GetDirectMessages(); Assert.IsNotNull(directmessages); directmessages.Count().ShouldBeEquivalentTo(1); directmessages.ToList()[0].Id.ShouldBeEquivalentTo(240136858829479936); directmessages.ToList()[0].Recipient.Name.ShouldBeEquivalentTo("Mick Jagger"); directmessages.ToList()[0].Recipient.Avatar.ShouldBeEquivalentTo("http://a0.twimg.com/profile_images/2550226257/y0ef5abcx5yrba8du0sk_normal.jpeg"); directmessages.ToList()[0].Text.ShouldBeEquivalentTo("booyakasha"); }
public async Task SearchStream1_incoming_Tweets() { session.Returns(await Json.FromFile("data\\searchstream\\searchstream1initial.txt")); var searchstream1 = session.StartSearchStream(); var IsActive = true; searchstream1.FoundTweets.Subscribe(t => { Assert.IsNotNull(t); t.Text.Should().NotBeNullOrEmpty(); Assert.IsInstanceOfType(t.User, typeof(User)); t.User.Should().NotBeNull(); t.User.ScreenName.Should().NotBeNullOrEmpty(); IsActive = false; } ); searchstream1.Start(); searchstream1.StreamActive.Where(status => status.Equals(false)).Subscribe(t => { IsActive = false; }); while (IsActive) { } }
public async Task Get_Rate_LimitExceeded_Error_OnCollection() { // Ref: https://dev.twitter.com/docs/rate-limiting/1.1 // arrange errorsession.simulatingError = true; errorsession.httpStatusCode = HttpStatusCode.Gone; // Twitter : Rate Limit exceeded, RFC6585 Too Many Requests errorsession.Returns(await Json.FromFile("data\\errors\\ratelimitexceedederror.txt")); errorsession.ExpectGet("https://api.twitter.com/1.1/favorites/list.json"); var favourites = await errorsession.GetFavourites(); Assert.IsNotNull(favourites); favourites.twitterFaulted.Should().BeTrue(); favourites.twitterControlMessage.Should().NotBeNull(); favourites.twitterControlMessage.http_status_code.ShouldBeEquivalentTo(410); // Note: testing 410 as 429 is not an enum }
public async Task Get_Trends_For_Place() { // arrange session.Returns(await Json.FromFile("data\\report\\spamuserreport.txt")); session.ExpectPost("https://api.twitter.com/1.1/users/report_spam.json"); var spamreport = await session.ReportUserForSpam("screenname"); Assert.IsNotNull(spamreport); spamreport.Name.ShouldBeEquivalentTo("Matt Harris"); }
public async Task Get_Twitter_API_Limits() { // arrange session.Returns(await Json.FromFile("data\\apiratelimit.txt")); session.ExpectGet("https://api.twitter.com/1.1/application/rate_limit_status.json"); var api = await session.GetCurrentApiStatus(); Assert.IsNotNull(api); Assert.IsTrue(api.APIRateStatuses.Count == 61); }
public async Task Get_Retweets_Of_Tweet_AppAuth() { // arrange session.Returns(await Json.FromFile("appauthdata\\timeline\\453310114796412928.json")); session.ExpectGet("https://api.twitter.com/1.1/statuses/retweets/453310114796412928.json"); var retweetslist = await session.GetRetweets(new Tweet { Id = 453310114796412928 }); Assert.IsNotNull(retweetslist); Assert.IsTrue(retweetslist.ToList().Count > 0); Assert.IsTrue(retweetslist.ToList().Count == 4); }
public async Task Search_Query_received() { // arrange session.Returns(await Json.FromFile("data\\search\\searchresponse.txt")); session.ExpectGet("https://api.twitter.com/1.1/search/tweets.json"); var searchresults = await session.SearchFor("testonly", SearchResultType.Mixed); Assert.IsNotNull(searchresults); searchresults.search_metadata.query.ShouldBeEquivalentTo("%23freebandnames"); searchresults.Tweets.Should().HaveCount(4); }
public async Task UserStream1_initialFriends() { session.Returns(await Json.FromFile("data\\userstream\\userstream1initwithfriends.txt")); var userstreamtest1 = session.GetUserStream(); var IsActive = true; userstreamtest1.Friends.Subscribe(f => { Assert.IsNotNull(f); Assert.IsInstanceOfType(f.ToList()[0], typeof(long)); IsActive = false; } ); userstreamtest1.Start(); userstreamtest1.StreamActive.Where(status => status.Equals(false)).Subscribe(t => { IsActive = false; }); while (IsActive) { } }
public async Task Get_Friends_IDs() { // arrange session.Returns(await Json.FromFile("data\\friendsfollowers\\friendsfollowersids.txt")); session.ExpectGet("https://api.twitter.com/1.1/friends/ids.json"); var friends = await session.GetFriendsIDs("testing", 324512345); Assert.IsNotNull(friends); friends.next_cursor.ShouldBeEquivalentTo(0); friends.UserIDs.Should().HaveCount(31); friends.UserIDs.ToList()[6].ShouldBeEquivalentTo(14488353); }
public async Task Get_Account_Settings() { // arrange session.Returns(await Json.FromFile("data\\users\\accountsettings.txt")); session.ExpectGet("https://api.twitter.com/1.1/account/settings.json"); var user = await session.GetAccountSettings(); Assert.IsNotNull(user); user._Protected.Should().BeTrue(); user.ScreenName.ShouldBeEquivalentTo("theSeanCook"); user.TrendLocation.ToList()[0].name.ShouldBeEquivalentTo("Atlanta"); }