def __friendship_test(cls, new_friend: User) -> bool: description = new_friend.__getattribute__("description") red_flags = [r"anti.?vax"] if cls.__search(description, red_flags) > 0: return False key_term = r"guinea.?pig" green_flags = [key_term] return cls.__search_string(key_term, new_friend.__getattribute__("name")) or \ cls.__search_string(key_term, new_friend.__getattribute__("screen_name")) or \ cls.__search(description, green_flags) > 0
def getAllTweets(self, since_id): tweets = [] for id in range(10): tweet = tweepy.Status() tweet.id = id tweet.user = User() tweet.user.name = "User-" + str(id) tweet.text = str(id) tweet.in_reply_to_status_id = None tweets.append(tweet) return tweets
def get_all_comments(self, since_id): print("from mock getTweets") tweets = [] tweet = tweepy.Status() tweet.id = since_id tweet.user = User() tweet.user.name = "User-" + str(tweet.id) tweet.in_reply_to_status_id = since_id - 1 tweets.append(tweet) tweet = tweepy.Status() tweet.id = since_id + 1 tweet.user = User() tweet.user.name = "User-" + str(tweet.id) tweet.in_reply_to_status_id = since_id - 2 tweets.append(tweet) return tweets
def on_data(self, data): if not data: return json_data = json.loads(data) api = self.__api if not isinstance(json_data, dict): return if 'event' in json_data: if json_data['event'] == 'follow': target = User.parse(api, json_data["target"]) source = User.parse(api, json_data["source"]) if self.on_follow(target, source) is False: return False elif json_data['event'] == 'favorite': target = Status.parse(api, json_data['target_object']) source = User.parse(api, json_data['source']) if self.on_favorite(target, source) is False: return False elif json_data['event'] == 'unfavorite': target = Status.parse(api, json_data['target_object']) source = User.parse(api, json_data['source']) if self.on_unfavorite(target, source) is False: return False elif 'delete' in json_data: delete = json_data['delete']['status'] if self.on_delete(delete['id'], delete['user_id']) is False: return False elif 'in_reply_to_status_id' in json_data: status = Status.parse(api, json_data) if self.on_status(status) is False: return False elif 'limit' in json_data: if self.on_limit(json_data['limit']['track']) is False: return False
def on_data(self, data): if not data: return json_data = json.loads(data) api = self.__api if not isinstance(json_data, dict): return if 'event' in json_data: if json_data['event']=='follow': target = User.parse(api, json_data["target"]) source = User.parse(api, json_data["source"]) if self.on_follow(target, source) is False: return False elif json_data['event']=='favorite': target = Status.parse(api, json_data['target_object']) source = User.parse(api, json_data['source']) if self.on_favorite(target, source) is False: return False elif json_data['event']=='unfavorite': target = Status.parse(api, json_data['target_object']) source = User.parse(api, json_data['source']) if self.on_unfavorite(target, source) is False: return False elif 'delete' in json_data: delete = json_data['delete']['status'] if self.on_delete(delete['id'], delete['user_id']) is False: return False elif 'in_reply_to_status_id' in json_data: status = Status.parse(api, json_data) if self.on_status(status) is False: return False elif 'limit' in json_data: if self.on_limit(json_data['limit']['track']) is False: return False
def test_integrated_enqueue_followers( self, mock_cursor, people_to_follow, expected_queue_values, mocked_tweepy, test_client, mock_sqs_resource, mock_db, mock_message_body_sent_to_process_queue, all_queues, ): queues = all_queues stubbed_now_queue = queues[0] stubbed_later_queue = queues[1] mocked_queues = patch( "app.queues", return_value=all_queues, ) mocked_api = patch("app.reconstruct_twitter_api", return_value=mocked_tweepy) to_follow = [User(api=mocked_api) for i in range(people_to_follow)] for i, u in enumerate(to_follow): u.id_str = i mock_cursor.return_value.items.return_value = to_follow with mocked_api, mocked_queues: test_client.lambda_.invoke( "enqueue_follows", test_client.events.generate_sqs_event( message_bodies=[mock_message_body_sent_to_process_queue], queue_name="process", ), ) assert stubbed_later_queue.attributes.get( "ApproximateNumberOfMessages" ) == str(expected_queue_values[0]) assert stubbed_now_queue.attributes.get( "ApproximateNumberOfMessages" ) == str(expected_queue_values[1])
def twitter_user(): user = User() user.screen_name = "user_name" return user
def _create_sender(): user_sender = User() user_sender_dict = dict( _api=api, follow_request_sent=False, profile_use_background_image=True, _json={ 'follow_request_sent': False, 'profile_use_background_image': True, 'profile_text_color': '333333', 'default_profile_image': False, 'id': 1411050992, 'profile_background_image_url_https': 'https://abs.twimg.com/images/themes/theme1/bg.png', 'verified': False, 'profile_location': None, 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/468781442852339712/69CJihsO_normal.jpeg', 'profile_sidebar_fill_color': 'DDEEF6', 'entities': { 'url': { 'urls': [{ 'url': 'http://t.co/zo4nXhS2Fu', 'indices': [0, 22], 'expanded_url': 'http://www.web.com', 'display_url': 'web.com' }] }, 'description': { 'urls': [] } }, 'followers_count': 10, 'profile_sidebar_border_color': 'C0DEED', 'id_str': '1411050992', 'profile_background_color': 'C0DEED', 'listed_count': 0, 'is_translation_enabled': False, 'utc_offset': None, 'statuses_count': 3113, 'description': 'Teacher', 'friends_count': 13, 'location': 'San Francisco', 'profile_link_color': '0084B4', 'profile_image_url': 'http://pbs.twimg.com/profile_images/468781442852339712/69CJihsO_normal.jpeg', 'following': False, 'geo_enabled': False, 'profile_background_image_url': 'http://abs.twimg.com/images/themes/theme1/bg.png', 'name': 'user1_solariat', 'lang': 'en', 'profile_background_tile': False, 'favourites_count': 1, 'screen_name': 'user1_solariat', 'notifications': False, 'url': 'http://t.co/zo4nXhS2Fu', 'created_at': 'Tue May 07 19:35:50 +0000 2013', 'contributors_enabled': False, 'time_zone': None, 'protected': False, 'default_profile': True, 'is_translator': False }, time_zone=None, id=1411050992, verified=False, profile_location=None, profile_image_url_https= 'https://pbs.twimg.com/profile_images/468781442852339712/69CJihsO_normal.jpeg', profile_sidebar_fill_color='DDEEF6', is_translator=False, geo_enabled=False, entities={ 'url': { 'urls': [{ 'url': 'http://t.co/zo4nXhS2Fu', 'indices': [0, 22], 'expanded_url': 'http://www.web.com', 'display_url': 'web.com' }] }, 'description': { 'urls': [] } }, followers_count=10, protected=False, id_str='1411050992', default_profile_image=False, listed_count=0, lang='en', utc_offset=None, statuses_count=3113, description='Teacher', friends_count=13, profile_link_color='0084B4', profile_image_url= 'http://pbs.twimg.com/profile_images/468781442852339712/69CJihsO_normal.jpeg', notifications=False, favourites_count=1, profile_background_image_url_https= 'https://abs.twimg.com/images/themes/theme1/bg.png', profile_background_color='C0DEED', profile_background_image_url= 'http://abs.twimg.com/images/themes/theme1/bg.png', screen_name='user1_solariat', is_translation_enabled=False, profile_background_tile=False, profile_text_color='333333', name='user1_solariat', url='http://t.co/zo4nXhS2Fu', created_at=datetime.datetime(2013, 5, 7, 19, 35, 50), contributors_enabled=False, location='San Francisco', profile_sidebar_border_color='C0DEED', default_profile=True, following=False) for key, val in user_sender_dict.iteritems(): setattr(user_sender, key, val) return user_sender
def _create_receiver(): user_reciever = User() user_receiver_dict = dict( _api=api, follow_request_sent=False, profile_use_background_image=True, _json={ 'follow_request_sent': False, 'profile_use_background_image': True, 'profile_text_color': '634047', 'default_profile_image': False, 'id': 1411081099, 'profile_background_image_url_https': 'https://abs.twimg.com/images/themes/theme3/bg.gif', 'verified': False, 'profile_location': None, 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/378800000614919360/cd40847077aabbaae141ad352af91f5d_normal.jpeg', 'profile_sidebar_fill_color': 'E3E2DE', 'entities': { 'url': { 'urls': [{ 'url': 'http://t.co/5YkGQhfD1C', 'indices': [0, 22], 'expanded_url': 'http://www.testsite.com', 'display_url': 'testsite.com' }] }, 'description': { 'urls': [] } }, 'followers_count': 7, 'profile_sidebar_border_color': 'D3D2CF', 'id_str': '1411081099', 'profile_background_color': 'EDECE9', 'listed_count': 0, 'is_translation_enabled': False, 'utc_offset': None, 'statuses_count': 1514, 'description': '', 'friends_count': 5, 'location': 'Bay Area', 'profile_link_color': '088253', 'profile_image_url': 'http://pbs.twimg.com/profile_images/378800000614919360/cd40847077aabbaae141ad352af91f5d_normal.jpeg', 'following': False, 'geo_enabled': False, 'profile_background_image_url': 'http://abs.twimg.com/images/themes/theme3/bg.gif', 'name': 'user2_solariat', 'lang': 'en', 'profile_background_tile': False, 'favourites_count': 0, 'screen_name': 'user2_solariat', 'notifications': False, 'url': 'http://t.co/5YkGQhfD1C', 'created_at': 'Tue May 07 19:45:31 +0000 2013', 'contributors_enabled': False, 'time_zone': None, 'protected': False, 'default_profile': False, 'is_translator': False }, time_zone=None, id=1411081099, verified=False, profile_location=None, profile_image_url_https= 'https://pbs.twimg.com/profile_images/378800000614919360/cd40847077aabbaae141ad352af91f5d_normal.jpeg', profile_sidebar_fill_color='E3E2DE', is_translator=False, geo_enabled=False, entities={ 'url': { 'urls': [{ 'url': 'http://t.co/5YkGQhfD1C', 'indices': [0, 22], 'expanded_url': 'http://www.testsite.com', 'display_url': 'testsite.com' }] }, 'description': { 'urls': [] } }, followers_count=7, protected=False, id_str='1411081099', default_profile_image=False, listed_count=0, lang='en', utc_offset=None, statuses_count=1514, description='', friends_count=5, profile_link_color='088253', profile_image_url= 'http://pbs.twimg.com/profile_images/378800000614919360/cd40847077aabbaae141ad352af91f5d_normal.jpeg', notifications=False, favourites_count=0, profile_background_image_url_https= 'https://abs.twimg.com/images/themes/theme3/bg.gif', profile_background_color='EDECE9', profile_background_image_url= 'http://abs.twimg.com/images/themes/theme3/bg.gif', screen_name='user2_solariat', is_translation_enabled=False, profile_background_tile=False, profile_text_color='634047', name='user2_solariat', url='http://t.co/5YkGQhfD1C', created_at=datetime.datetime(2013, 5, 7, 19, 45, 31), contributors_enabled=False, location='Bay Area', profile_sidebar_border_color='D3D2CF', default_profile=False, following=False) for key, val in user_receiver_dict.iteritems(): setattr(user_reciever, key, val) return user_reciever
def generate_mocked_user(user_id: str): u = User(api=mocked_api) u.id_str = user_id return u