Ejemplo n.º 1
0
        public void TestAdd()
        {
            //Setup
            var tweets = new List <Tweet>()
            {
            };
            var data    = tweets.AsQueryable();
            var mockSet = setUpAsQueriable(data);

            mockSet.Setup(d => d.Add(It.IsAny <Tweet>())).Callback <Tweet>((r) => tweets.Add(r));
            mockSet.Setup(d => d.Remove(It.IsAny <Tweet>())).Callback <Tweet>((r) => tweets.Remove(r));

            var mockContext = new Mock <TweetContext>();

            mockContext.Setup(c => c.Tweets).Returns(mockSet.Object);

            // Arrange
            TweetDBRepository repo     = new TweetDBRepository(mockContext.Object);
            Tweet             newTweet = new Tweet()
            {
                Id = 3, MediaList = new List <MediaUrl>()
            };

            repo.Add(newTweet);

            // Act
            var tweetResult = repo.Get(newTweet.Id);

            // Asert
            Assert.Equal(tweetResult, newTweet);
        }
        public void ConfigureStream()
        {
            stream.ClearFollows();
            stream.ClearTracks();
            foreach (Subscription s in _subRepo.Find(s => s.Event.Id == streamEvent.Id))
            {
                if (s.Type == Common.SubType.TRACK.ToString())
                {
                    stream.AddTrack(s.Value);
                }
                else if (s.Type == Common.SubType.PERSON.ToString())
                {
                    stream.AddFollow(s.TwitterId);
                }
            }

            stream.MatchingTweetReceived += (sender, args) =>
            {
                Models.User isBannedUser = _userRepo.Find(b => (b.UserId == args.Tweet.CreatedBy.Id) && b.Type == Common.BanType).SingleOrDefault();
                if (isBannedUser != null)
                {
                    return;
                }

                Models.Tweet             newTweet = new Models.Tweet(args.Tweet.Id, args.Tweet.FullText, args.Tweet.CreatedBy.ScreenName, args.Tweet.CreatedAt.ToUniversalTime(), args.Tweet.CreatedBy.Name, args.Tweet.CreatedBy.ProfileImageUrlFullSize, streamEvent, args.Tweet.CreatedBy.Id);
                TwitterWall.Models.Tweet result   = _tweetRepo.Find(obj => obj.TweetId == newTweet.TweetId && obj.Event.Id == streamEvent.Id).SingleOrDefault();

                if (result != null)
                {
                    return;
                }

                _tweetRepo.Add(newTweet);
                _mediaRepo.AddFromTweet(args.Tweet, streamEvent);
            };

            stream.StreamStopped += (sender, args) =>
            {
                var exceptionThatCausedTheStreamToStop = args.Exception;
                var twitterDisconnectMessage           = args.DisconnectMessage;
                StreamManager.ConnectionManager.GetHubContext <TwitterHub>().Clients.All.streamStatusChanged("Stopped: " + args.Exception + ". " + args.DisconnectMessage);
            };
        }