def post(self): self._require_registration() event_key = self.request.get("event_key") status, suggestion = SuggestionCreator.createEventMediaSuggestion( author_account_key=self.user_bundle.account.key, media_url=self.request.get("media_url"), event_key=event_key) if status == 'success': # Send an update to the FUN slack slack_sitevar = Sitevar.get_or_insert('slack.hookurls') if slack_sitevar: slack_url = slack_sitevar.contents.get('fun', '') if slack_url: message_body = "{0} ({1}) has suggested a video for <https://thebluealliance.com/event/{2}|{2}>: https://youtu.be/{3}.\nSee all suggestions at https://www.thebluealliance.com/suggest/event/media/review".format( self.user_bundle.account.display_name, self.user_bundle.account.email, event_key, suggestion.contents['foreign_key']) OutgoingNotificationHelper.send_slack_alert( slack_url, message_body, []) self.redirect('/suggest/event/media?event_key=%s&status=%s' % (event_key, status))
def post(self): self._require_registration() event_key = self.request.get("event_key") status, suggestion = SuggestionCreator.createEventMediaSuggestion( author_account_key=self.user_bundle.account.key, media_url=self.request.get("media_url"), event_key=event_key) if status == 'success': # Send an update to the FUN slack slack_sitevar = Sitevar.get_or_insert('slack.hookurls') if slack_sitevar: slack_url = slack_sitevar.contents.get('fun', '') if slack_url: message_body = u"{0} ({1}) has suggested a video for <https://www.thebluealliance.com/event/{2}|{2}>: https://youtu.be/{3}.\nSee all suggestions at https://www.thebluealliance.com/suggest/event/media/review".format( self.user_bundle.account.display_name, self.user_bundle.account.email, event_key, suggestion.contents['foreign_key']).encode('utf-8') OutgoingNotificationHelper.send_slack_alert(slack_url, message_body, []) self.redirect('/suggest/event/media?event_key=%s&status=%s' % (event_key, status))
def testMediaExists(self): media_id = Media.render_key_name(MediaType.YOUTUBE_VIDEO, 'H-54KMwMKY0') Media.get_or_insert(media_id, media_type_enum=MediaType.YOUTUBE_VIDEO, foreign_key='H-54KMwMKY0', references=[ndb.Key(Event, '2016nyny')]).put() status, _ = SuggestionCreator.createEventMediaSuggestion( self.account.key, "https://www.youtube.com/watch?v=H-54KMwMKY0", "2016nyny") self.assertEqual(status, 'media_exists')
def test_media_exists(self): media_id = Media.render_key_name(MediaType.YOUTUBE_VIDEO, 'H-54KMwMKY0') Media.get_or_insert( media_id, media_type_enum=MediaType.YOUTUBE_VIDEO, foreign_key='H-54KMwMKY0', references=[ndb.Key(Event, '2016nyny')]).put() status, _ = SuggestionCreator.createEventMediaSuggestion( self.account.key, "https://www.youtube.com/watch?v=H-54KMwMKY0", "2016nyny") self.assertEqual(status, 'media_exists')
def testDuplicateSuggestion(self): suggestion_id = Suggestion.render_media_key_name( '2016', 'event', '2016nyny', 'youtube', 'H-54KMwMKY0') Suggestion(id=suggestion_id, author=self.account.key, review_state=Suggestion.REVIEW_PENDING, target_key="2016nyny", target_model="event_media").put() status, _ = SuggestionCreator.createEventMediaSuggestion( self.account.key, "https://www.youtube.com/watch?v=H-54KMwMKY0", "2016nyny") self.assertEqual(status, 'suggestion_exists')
def test_duplicate_suggestion(self): suggestion_id = Suggestion.render_media_key_name('2016', 'event', '2016nyny', 'youtube', 'H-54KMwMKY0') Suggestion( id=suggestion_id, author=self.account.key, review_state=Suggestion.REVIEW_PENDING, target_key="2016nyny", target_model="event_media").put() status, _ = SuggestionCreator.createEventMediaSuggestion( self.account.key, "https://www.youtube.com/watch?v=H-54KMwMKY0", "2016nyny") self.assertEqual(status, 'suggestion_exists')
def test_create_suggestion_banned(self): status, _ = SuggestionCreator.createEventMediaSuggestion( self.account_banned.key, "https://www.youtube.com/watch?v=H-54KMwMKY0", "2016nyny") self.assertEqual(status, 'success') # Ensure the Suggestion gets created suggestion_id = Suggestion.render_media_key_name('2016', 'event', '2016nyny', 'youtube', 'H-54KMwMKY0') suggestion = Suggestion.get_by_id(suggestion_id) expected_dict = MediaParser.partial_media_dict_from_url("https://www.youtube.com/watch?v=H-54KMwMKY0") self.assertIsNotNone(suggestion) self.assertEqual(suggestion.review_state, Suggestion.REVIEW_AUTOREJECTED) self.assertEqual(suggestion.author, self.account_banned.key) self.assertEqual(suggestion.target_model, 'event_media') self.assertDictContainsSubset(expected_dict, suggestion.contents)
def testCreateSuggestion(self): status, _ = SuggestionCreator.createEventMediaSuggestion( self.account.key, "https://www.youtube.com/watch?v=H-54KMwMKY0", "2016nyny") self.assertEqual(status, 'success') # Ensure the Suggestion gets created suggestion_id = Suggestion.render_media_key_name( '2016', 'event', '2016nyny', 'youtube', 'H-54KMwMKY0') suggestion = Suggestion.get_by_id(suggestion_id) expected_dict = MediaParser.partial_media_dict_from_url( "https://www.youtube.com/watch?v=H-54KMwMKY0") self.assertIsNotNone(suggestion) self.assertEqual(suggestion.review_state, Suggestion.REVIEW_PENDING) self.assertEqual(suggestion.author, self.account.key) self.assertEqual(suggestion.target_model, 'event_media') self.assertDictContainsSubset(expected_dict, suggestion.contents)
def createSuggestion(self): status = SuggestionCreator.createEventMediaSuggestion(self.account.key, 'https://www.youtube.com/watch?v=foobar', '2016nyny') self.assertEqual(status[0], 'success') return Suggestion.query().fetch(keys_only=True)[0].id()
def testCreateBadUrl(self): status, _ = SuggestionCreator.createEventMediaSuggestion( self.account.key, "http://foobar.com/ruRAxDm", "2016nyny") self.assertEqual(status, 'bad_url')
def test_create_non_video_suggestion(self): status, _ = SuggestionCreator.createEventMediaSuggestion( self.account.key, "http://imgur.com/ruRAxDm", "2016nyny") self.assertEqual(status, 'bad_url')
def test_create_bad_url(self): status, _ = SuggestionCreator.createEventMediaSuggestion( self.account.key, "http://foobar.com/ruRAxDm", "2016nyny") self.assertEqual(status, 'bad_url')
def createSuggestion(self): status = SuggestionCreator.createEventMediaSuggestion( self.account.key, 'https://www.youtube.com/watch?v=foobar', '2016nyny') self.assertEqual(status[0], 'success') return Suggestion.query().fetch(keys_only=True)[0].id()
def testCreateNonVideoSuggestion(self): status, _ = SuggestionCreator.createEventMediaSuggestion( self.account.key, "http://imgur.com/ruRAxDm", "2016nyny") self.assertEqual(status, 'bad_url')