Exemple #1
0
        public void ProcessResults_Populates_EmbeddedStatus_Parameters()
        {
            var statProc = new StatusRequestProcessor <Status>()
            {
                BaseUrl          = "https://api.twitter.com/1.1/",
                Type             = StatusType.Oembed,
                ID               = "123",
                OEmbedUrl        = "http://myurl.com",
                OEmbedMaxWidth   = 300,
                OEmbedHideMedia  = true,
                OEmbedHideThread = true,
                OEmbedOmitScript = true,
                OEmbedAlign      = EmbeddedStatusAlignment.Left,
                OEmbedRelated    = "JoeMayo,TwitterAPI",
                OEmbedLanguage   = "en"
            };

            var statuses = statProc.ProcessResults(OEmbedResponse);

            Assert.NotNull(statuses);
            Assert.Single(statuses);
            var status = statuses.Single();

            Assert.NotNull(status);
            Assert.Equal(StatusType.Oembed, status.Type);
            Assert.Equal("123", status.ID);
            Assert.Equal("http://myurl.com", status.OEmbedUrl);
            Assert.Equal(300, status.OEmbedMaxWidth);
            Assert.True(status.OEmbedHideMedia);
            Assert.True(status.OEmbedHideThread);
            Assert.True(status.OEmbedOmitScript);
            Assert.Equal(EmbeddedStatusAlignment.Left, status.OEmbedAlign);
            Assert.Equal("JoeMayo,TwitterAPI", status.OEmbedRelated);
            Assert.Equal("en", status.OEmbedLanguage);
        }
Exemple #2
0
        public void ProcessResults_Handles_Multiple_Users()
        {
            var statProc = new StatusRequestProcessor <Status> {
                Type = StatusType.Retweeters, BaseUrl = "https://api.twitter.com/1.1/"
            };

            var statuses = statProc.ProcessResults(MultipleUsersResponse);

            Assert.NotNull(statuses);
            Assert.Single(statuses);
            var status = statuses.Single();

            Assert.NotNull(status);
            var users = status.Users;

            Assert.NotNull(users);
            Assert.Equal(5, users.Count);
            ulong user = users.First();

            Assert.Equal(34649740ul, user);
            var cursor = status.CursorMovement;

            Assert.NotNull(cursor);
            Assert.Equal("123", cursor.Next);
            Assert.Equal("456", cursor.Previous);
        }
        public void ProcessResults_Handles_A_Single_Status()
        {
            var statProc = new StatusRequestProcessor <Status> {
                Type = StatusType.Show, BaseUrl = "https://api.twitter.com/1.1/"
            };

            var statuses = statProc.ProcessResults(SingleStatusResponse);

            Assert.IsNotNull(statuses);
            Assert.AreEqual(1, statuses.Count);
            var status = statuses.Single();

            Assert.IsNotNull(status);
            Assert.IsNotNull(status.Annotation);
            Assert.IsNotNull(status.Annotation.Attributes);
            Assert.IsFalse(status.Annotation.Attributes.Any());
            Assert.IsNotNull(status.Annotation.Elements);
            Assert.IsFalse(status.Annotation.Elements.Any());
            Assert.AreEqual(new DateTime(2012, 3, 28, 2, 51, 45), status.CreatedAt);
            var contributors = status.Contributors;

            Assert.IsNotNull(contributors);
            Assert.IsFalse(contributors.Any());
            var coords = status.Coordinates;

            Assert.IsNotNull(coords);
            Assert.AreEqual(-122.40060, coords.Longitude);
            Assert.AreEqual(37.78215, coords.Latitude);
            Assert.IsNotNull(status.Entities);
            Assert.IsNotNull(status.Entities.HashTagEntities);
            Assert.IsFalse(status.Entities.HashTagEntities.Any());
            Assert.IsFalse(status.Favorited);
            Assert.IsNull(status.InReplyToScreenName);
            Assert.AreEqual(0ul, status.InReplyToStatusID);
            Assert.AreEqual(0ul, status.InReplyToUserID);
            Assert.IsNotNull(status.Place);
            Assert.IsNull(status.Place.Name);
            Assert.IsFalse(status.PossiblySensitive);
            Assert.AreEqual(393, status.RetweetCount);
            Assert.IsFalse(status.Retweeted);
            var retweetedStatus = status.RetweetedStatus;

            Assert.IsNotNull(retweetedStatus);
            Assert.IsNotNull(retweetedStatus.Text);
            Assert.IsTrue(retweetedStatus.Text.StartsWith("I just blogged about"));
            Assert.AreEqual("web", status.Source);
            Assert.IsTrue(status.Text.StartsWith("RT @scottgu: I just blogged about"));
            Assert.AreEqual(184835136037191681ul, status.StatusID);
            Assert.IsNotNull(status.Text);
            Assert.IsFalse(status.Truncated);
            Assert.IsNotNull(status.User);
            Assert.AreEqual("Joe Mayo", status.User.Name);
            Assert.IsNotNull(status.Users);
            Assert.IsFalse(status.Users.Any());
            Assert.IsNotNull(status.WithheldInCountries);
            Assert.IsFalse(status.WithheldInCountries.Any());
        }
Exemple #4
0
        public void ProcessResults_Returns_Empty_Collection_When_Empty_Results()
        {
            var statProc = new StatusRequestProcessor <Status>()
            {
                BaseUrl = "https://api.twitter.com/1.1/"
            };

            var stats = statProc.ProcessResults(string.Empty);

            Assert.Equal(0, stats.Count);
        }
        public void ProcessResultsSingleResultTest()
        {
            var statProc = new StatusRequestProcessor()
            {
                BaseUrl = "http://twitter.com/"
            };
            XElement twitterResponse = XElement.Load(new StringReader(m_testQueryResponse));
            var      actual          = statProc.ProcessResults(twitterResponse.Descendants("status").First());
            var      actualQuery     = actual as IList <Status>;

            Assert.IsNotNull(actualQuery);
            Assert.AreEqual(actualQuery.Count(), 1);
        }
        public void ProcessResults_Populates_Input_Parameters()
        {
            var statProc = new StatusRequestProcessor <Status>()
            {
                BaseUrl                   = "https://api.twitter.com/1.1/",
                Type                      = StatusType.Show,
                ID                        = 123,
                UserID                    = 123,
                ScreenName                = "abc",
                SinceID                   = 1,
                MaxID                     = 2,
                Count                     = 3,
                Cursor                    = 123,
                IncludeRetweets           = true,
                ExcludeReplies            = true,
                IncludeEntities           = true,
                IncludeUserEntities       = true,
                TrimUser                  = true,
                IncludeContributorDetails = true,
                IncludeMyRetweet          = true,
                TweetIDs                  = "1,2,3",
                Map                       = true
            };

            var statuses = statProc.ProcessResults(SingleStatusResponse);

            Assert.IsNotNull(statuses);
            Assert.AreEqual(1, statuses.Count);
            var status = statuses.Single();

            Assert.IsNotNull(status);
            Assert.AreEqual(StatusType.Show, status.Type);
            Assert.AreEqual(123ul, status.ID);
            Assert.AreEqual(123ul, status.UserID);
            Assert.AreEqual("abc", status.ScreenName);
            Assert.AreEqual(1ul, status.SinceID);
            Assert.AreEqual(2ul, status.MaxID);
            Assert.AreEqual(3, status.Count);
            Assert.AreEqual(123L, status.Cursor);
            Assert.IsTrue(status.IncludeRetweets);
            Assert.IsTrue(status.ExcludeReplies);
            Assert.IsTrue(status.IncludeEntities);
            Assert.IsTrue(status.IncludeUserEntities);
            Assert.IsTrue(status.TrimUser);
            Assert.IsTrue(status.IncludeContributorDetails);
            Assert.IsTrue(status.IncludeMyRetweet);
            Assert.AreEqual("1,2,3", status.TweetIDs);
            Assert.IsTrue(status.Map);
        }
Exemple #7
0
        public void ProcessResults_Handles_An_Embedded_Status()
        {
            var statProc = new StatusRequestProcessor <Status> {
                Type = StatusType.Oembed, BaseUrl = "https://api.twitter.com/1.1/"
            };
            const string ExpectedType         = "rich";
            const ulong  ExpectedCacheAge     = 3153600000;
            const string ExpectedVersion      = "1.0";
            const string ExpectedProviderName = "Twitter";
            const string ExpectedUrl          = "https://twitter.com/JoeMayo/statuses/305050067973312514";
            const int    ExpectedWidth        = 550;
            const int    ExpectedHeight       = 0;
            const string ExpectedHtml         = "some html";
            const string ExpectedProviderUrl  = "https://twitter.com";
            const string ExpectedAuthorUrl    = "https://twitter.com/JoeMayo";
            const string ExpectedAuthorName   = "Joe Mayo";

            var statuses = statProc.ProcessResults(OEmbedResponse);

            Assert.NotNull(statuses);
            Assert.Single(statuses);
            var status = statuses.Single();

            Assert.NotNull(status);
            var embeddedStatus = status.EmbeddedStatus;

            Assert.NotNull(embeddedStatus);
            Assert.Equal(ExpectedType, embeddedStatus.Type);
            Assert.Equal(ExpectedCacheAge, embeddedStatus.CacheAge);
            Assert.Equal(ExpectedVersion, embeddedStatus.Version);
            Assert.Equal(ExpectedProviderName, embeddedStatus.ProviderName);
            Assert.Equal(ExpectedUrl, embeddedStatus.Url);
            Assert.Equal(ExpectedWidth, embeddedStatus.Width);
            Assert.Equal(ExpectedHeight, embeddedStatus.Height);
            Assert.Equal(ExpectedHtml, embeddedStatus.Html);
            Assert.Equal(ExpectedProviderUrl, embeddedStatus.ProviderUrl);
            Assert.Equal(ExpectedAuthorUrl, embeddedStatus.AuthorUrl);
            Assert.Equal(ExpectedAuthorName, embeddedStatus.AuthorName);
        }
        public void ProcessResults_Returns_Empty_Collection_When_Empty_Results()
        {
            var statProc = new StatusRequestProcessor<Status>() { BaseUrl = "https://api.twitter.com/1.1/" };

            var stats = statProc.ProcessResults(string.Empty);

            Assert.Equal(0, stats.Count);
        }
        public void ProcessResults_Populates_Input_Parameters()
        {
            var statProc = new StatusRequestProcessor<Status>()
            {
                BaseUrl = "https://api.twitter.com/1.1/",
                Type = StatusType.Show,
                ID = "123",
                UserID = "123",
                ScreenName = "abc",
                SinceID = 1,
                MaxID = 2,
                Count = 3,
                Page = 4,
                IncludeRetweets = true,
                ExcludeReplies = true,
                IncludeEntities = true,
                IncludeUserEntities = true,
                TrimUser = true,
                IncludeContributorDetails = true,
                IncludeMyRetweet = true,
            };

            var statuses = statProc.ProcessResults(SingleStatusResponse);

            Assert.NotNull(statuses);
            Assert.Single(statuses);
            var status = statuses.Single();
            Assert.NotNull(status);
            Assert.Equal(StatusType.Show, status.Type);
            Assert.Equal("123", status.ID);
            Assert.Equal("123", status.UserID);
            Assert.Equal("abc", status.ScreenName);
            Assert.Equal(1ul, status.SinceID);
            Assert.Equal(2ul, status.MaxID);
            Assert.Equal(3, status.Count);
            Assert.Equal(4, status.Page);
            Assert.True(status.IncludeRetweets);
            Assert.True(status.ExcludeReplies);
            Assert.True(status.IncludeEntities);
            Assert.True(status.IncludeUserEntities);
            Assert.True(status.TrimUser);
            Assert.True(status.IncludeContributorDetails);
            Assert.True(status.IncludeMyRetweet);
        }
        public void ProcessResults_Populates_EmbeddedStatus_Parameters()
        {
            var statProc = new StatusRequestProcessor<Status>()
            {
                BaseUrl = "https://api.twitter.com/1.1/",
                Type = StatusType.Oembed,
                ID = "123",
                OEmbedUrl = "http://myurl.com",
                OEmbedMaxWidth = 300,
                OEmbedHideMedia = true,
                OEmbedHideThread = true,
                OEmbedOmitScript = true,
                OEmbedAlign = EmbeddedStatusAlignment.Left,
                OEmbedRelated = "JoeMayo,TwitterAPI",
                OEmbedLanguage = "en"
            };

            var statuses = statProc.ProcessResults(OEmbedResponse);

            Assert.NotNull(statuses);
            Assert.Single(statuses);
            var status = statuses.Single();
            Assert.NotNull(status);
            Assert.Equal(StatusType.Oembed, status.Type);
            Assert.Equal("123", status.ID);
            Assert.Equal("http://myurl.com", status.OEmbedUrl);
            Assert.Equal(300, status.OEmbedMaxWidth);
            Assert.True(status.OEmbedHideMedia);
            Assert.True(status.OEmbedHideThread);
            Assert.True(status.OEmbedOmitScript);
            Assert.Equal(EmbeddedStatusAlignment.Left, status.OEmbedAlign);
            Assert.Equal("JoeMayo,TwitterAPI", status.OEmbedRelated);
            Assert.Equal("en", status.OEmbedLanguage);
        }
        public void ProcessResults_Handles_Multiple_Users()
        {
            var statProc = new StatusRequestProcessor<Status> { Type = StatusType.RetweetedBy, BaseUrl = "https://api.twitter.com/1.1/" };

            var statuses = statProc.ProcessResults(MultipleUsersResponse);

            Assert.NotNull(statuses);
            Assert.Single(statuses);
            var status = statuses.Single();
            Assert.NotNull(status);
            var users = status.Users;
            Assert.NotNull(users);
            Assert.Equal(5, users.Count);
            var user = users.First();
            Assert.NotNull(user.Identifier);
            Assert.Equal("gcaughey", user.Identifier.ScreenName);
        }
        public void ProcessResults_Handles_Multiple_Statuses()
        {
            var statProc = new StatusRequestProcessor<Status> { Type = StatusType.Home, BaseUrl = "https://api.twitter.com/1.1/" };

            var statuses = statProc.ProcessResults(MultipleStatusResponse);

            Assert.NotNull(statuses);
            Assert.Equal(3, statuses.Count);
            var status = statuses.First();
            Assert.NotNull(status);
            Assert.False(status.Retweeted);
            Assert.Null(status.InReplyToScreenName);
            Assert.False(status.PossiblySensitive);
            var retweetedStatus = status.RetweetedStatus;
            Assert.NotNull(retweetedStatus);
            Assert.NotNull(retweetedStatus.Text);
            Assert.True(retweetedStatus.Text.StartsWith("I just blogged about"));
            var contributors = status.Contributors;
            Assert.NotNull(contributors);
            Assert.Empty(contributors);
            var coords = status.Coordinates;
            Assert.NotNull(coords);
            Assert.Equal(-122.40060, coords.Latitude);
            Assert.Equal(37.78215, coords.Longitude);
            Assert.NotNull(status.Place);
            Assert.Null(status.Place.Name);
            Assert.NotNull(status.User);
            Assert.Equal("Joe Mayo", status.User.Name);
            Assert.Equal(393, status.RetweetCount);
            Assert.Equal("184835136037191681", status.StatusID);
            Assert.Null(status.InReplyToUserID);
            Assert.False(status.Favorited);
            Assert.Null(status.InReplyToStatusID);
            Assert.Equal("web", status.Source);
            Assert.Equal(new DateTime(2012, 3, 28, 2, 51, 45), status.CreatedAt);
            Assert.Null(status.InReplyToUserID);
            Assert.False(status.Truncated);
            Assert.NotNull(status.Text);
            Assert.True(status.Text.StartsWith("RT @scottgu: I just blogged about"));
            Assert.NotNull(status.Annotation);
            Assert.Empty(status.Annotation.Attributes);
            Assert.NotNull(status.Entities);
            Assert.Null(status.Entities.HashTagMentions);
        }
        public void ProcessResults_Handles_An_Embedded_Status()
        {
            var statProc = new StatusRequestProcessor<Status> { Type = StatusType.Oembed, BaseUrl = "https://api.twitter.com/1.1/" };
            const string ExpectedType = "rich";
            const string ExpectedCacheAge = "31536000000";
            const string ExpectedVersion = "1.0";
            const string ExpectedProviderName = "Twitter";
            const string ExpectedUrl = "https://twitter.com/JoeMayo/status/305050067973312514";
            const int ExpectedWidth = 550;
            const int ExpectedHeight = 0;
            const string ExpectedHtml = "some html";
            const string ExpectedProviderUrl = "http://twitter.com";
            const string ExpectedAuthorUrl = "https://twitter.com/JoeMayo";
            const string ExpectedAuthorName = "Joe Mayo";

            var statuses = statProc.ProcessResults(OEmbedResponse);

            Assert.NotNull(statuses);
            Assert.Single(statuses);
            var status = statuses.Single();
            Assert.NotNull(status);
            var embeddedStatus = status.EmbeddedStatus;
            Assert.NotNull(embeddedStatus);
            Assert.Equal(ExpectedType, embeddedStatus.Type);
            Assert.Equal(ExpectedCacheAge, embeddedStatus.CacheAge);
            Assert.Equal(ExpectedVersion, embeddedStatus.Version);
            Assert.Equal(ExpectedProviderName, embeddedStatus.ProviderName);
            Assert.Equal(ExpectedUrl, embeddedStatus.Url);
            Assert.Equal(ExpectedWidth, embeddedStatus.Width);
            Assert.Equal(ExpectedHeight, embeddedStatus.Height);
            Assert.Equal(ExpectedHtml, embeddedStatus.Html);
            Assert.Equal(ExpectedProviderUrl, embeddedStatus.ProviderUrl);
            Assert.Equal(ExpectedAuthorUrl, embeddedStatus.AuthorUrl);
            Assert.Equal(ExpectedAuthorName, embeddedStatus.AuthorName);
        }
        public void ProcessResults_Handles_Multiple_Users()
        {
            var statProc = new StatusRequestProcessor<Status> { Type = StatusType.Retweeters, BaseUrl = "https://api.twitter.com/1.1/" };

            var statuses = statProc.ProcessResults(MultipleUsersResponse);

            Assert.IsNotNull(statuses);
            Assert.AreEqual(1, statuses.Count);
            var status = statuses.Single();
            Assert.IsNotNull(status);
            var users = status.Users;
            Assert.IsNotNull(users);
            Assert.AreEqual(5, users.Count);
            ulong user = users.First();
            Assert.AreEqual(34649740ul, user);
            var cursor = status.CursorMovement;
            Assert.IsNotNull(cursor);
            Assert.AreEqual(123L, cursor.Next);
            Assert.AreEqual(456L, cursor.Previous);
        }
        public void TwypocalypseProcessResultsSingleResultTest()
        {
            var statProc = new StatusRequestProcessor<Status>() { BaseUrl = "http://twitter.com/" };
            XElement twitterResponse = XElement.Load(new StringReader(m_testQueryResponse));
            twitterResponse.Element("status").Element("id").Value = ulong.MaxValue.ToString();
            var actual = statProc.ProcessResults(twitterResponse.Descendants("status").First());
            var actualQuery = actual as IList<Status>;

            Assert.IsNotNull(actualQuery);
            Assert.AreEqual(actualQuery.Count(), 1);
        }
        public void ProcessResultsMultipleResultsTest()
        {
            var statProc = new StatusRequestProcessor<Status>() { BaseUrl = "http://twitter.com/" };
            XElement twitterResponse = XElement.Load(new StringReader(m_testQueryResponse));
            var actual = statProc.ProcessResults(twitterResponse);
            var actualQuery = actual as IList<Status>;

            Assert.IsNotNull(actualQuery);
            Assert.AreEqual(actualQuery.Count(), 20);
        }