def mock_mention_replies_to_another_tweet(mock_tweepy, twitter_user): original_tweet = Status() original_tweet.id = 1 original_tweet.full_text = "$AMZN is a great buy in 2021" reply_tweet = Status() reply_tweet.id = 2 reply_tweet.text = "@stock_reminder remind me of this in 1 year" reply_tweet.user = twitter_user reply_tweet.in_reply_to_status_id = original_tweet.id mock_tweepy.return_value.mentions_timeline.return_value = [reply_tweet] mock_tweepy.return_value.get_status.return_value = original_tweet return mock_tweepy
def status(twitter_user): tweet = Status() tweet.id = 1 tweet.text = "Price of $AMZN in 3 months." tweet.user = twitter_user tweet.in_reply_to_status_id = None return tweet
def mock_mention_replies_to_extended_tweet(mock_tweepy, twitter_user): original_tweet = Status() original_tweet.id = 1 original_tweet.full_text = ("You wouldn’t believe it, but right now, " "I think we’re looking at potentially 100% " "stock returns in ~3 years for:\n\n1. $AMZN " "at $3,055\n2. $TSLA at $661\n3. $JNJ at " "$160\n Zero interest in debating!") reply_tweet = Status() reply_tweet.id = 2 reply_tweet.text = "@stock_reminder remind me of this in 3 years" reply_tweet.user = twitter_user reply_tweet.in_reply_to_status_id = original_tweet.id mock_tweepy.return_value.mentions_timeline.return_value = [reply_tweet] mock_tweepy.return_value.get_status.return_value = original_tweet return mock_tweepy
def build_thread_last_to_first(api, last_twit_id): posts_illustrator = {} last_post = Status() last_post.in_reply_to_status_id = last_twit_id while last_post.in_reply_to_status_id: last_post = api.get_status(id=last_post.in_reply_to_status_id, tweet_mode='extended') print_status(last_post) write_status_to_file(last_post) posts_illustrator[last_post.id] = { 'id': last_post.id, 'text': last_post.full_text, 'in_reply_to_status_id': last_post.in_reply_to_status_id }
def post_tweet(self, text: str) -> Status: log(f"Fake Tweet Sent: \"{text}\"") status = Status() status._json = {"text": f"{text}"} return status
def get_user_timeline(self, id: str) -> List[Status]: status_1 = Status() status_1._json = {"text": "tweet_1"} status_2 = Status() status_2._json = {"text": "tweet_2"} return [status_2, status_1]
def status_from_dict(d: dict) -> Status: """Turn a dict into a Status.""" return Status().parse(None, d)
def get_status(text, created_at=None): _json = {"text": text} if created_at: _json['created_at'] = created_at.strftime("%a %b %d %H:%M:%S %Y") return Status().parse(object, _json)
def status_with_multiple_stocks(twitter_user): tweet = Status() tweet.id = 1 tweet.text = "Remind me of $AMZN, $MSFT, $AAPL and $BABA in 3 months." tweet.user = twitter_user return tweet
def status(twitter_user): tweet = Status() tweet.id = 1 tweet.text = "Price of $AMZN in 3 months." tweet.user = twitter_user return tweet
def status(twitter_user): tweet = Status() tweet.id = 1 tweet.text = "What is the current price of $BABA?" tweet.user = twitter_user return tweet
def test_is_not_older_than_2_weeks(self): tweet = Status() tweet.created_at = datetime.now() self.assertFalse(is_older_than_2_weeks(tweet))
def test_is_older_than_2_weeks(self): tweet = Status() tweet.created_at = datetime(day=6, month=10, year=1975) self.assertTrue(is_older_than_2_weeks(tweet))
def __create_fake_user_timeline() -> List[Status]: status_1 = Status() status_1._json = {"text": "tweet_1 1. #"} status_2 = Status() status_2._json = {"text": "tweet_2 2. #"} return [status_2, status_1]