def testDuplicateUnknownSuggestionType(self): event = Event(id="2016test", name="Test Event", event_short="Test Event", year=2016, event_type_enum=EventType.OFFSEASON) event.put() status = SuggestionCreator.createEventWebcastSuggestion( self.account.key, "http://myweb.site/somewebcast", "2016test") self.assertEqual(status, 'success') status = SuggestionCreator.createEventWebcastSuggestion( self.account.key, "http://myweb.site/somewebcast", "2016test") self.assertEqual(status, 'suggestion_exists')
def testDuplicateSuggestion(self): event = Event(id="2016test", name="Test Event", event_short="Test Event", year=2016, event_type_enum=EventType.OFFSEASON) event.put() status = SuggestionCreator.createEventWebcastSuggestion( self.account.key, "http://twitch.tv/frcgamesense", "", "2016test") self.assertEqual(status, 'success') status = SuggestionCreator.createEventWebcastSuggestion( self.account.key, "http://twitch.tv/frcgamesense", "", "2016test") self.assertEqual(status, 'suggestion_exists')
def testDuplicateSuggestion(self): event = Event(id="2016test", name="Test Event", event_short="Test Event", year=2016, event_type_enum=EventType.OFFSEASON) event.put() status = SuggestionCreator.createEventWebcastSuggestion( self.account.key, "http://twitch.tv/frcgamesense", "2016test") self.assertEqual(status, 'success') status = SuggestionCreator.createEventWebcastSuggestion( self.account.key, "http://twitch.tv/frcgamesense", "2016test") self.assertEqual(status, 'suggestion_exists')
def testDuplicateUnknownSuggestionType(self): event = Event(id="2016test", name="Test Event", event_short="Test Event", year=2016, event_type_enum=EventType.OFFSEASON) event.put() status = SuggestionCreator.createEventWebcastSuggestion( self.account.key, "http://myweb.site/somewebcast", "", "2016test") self.assertEqual(status, 'success') status = SuggestionCreator.createEventWebcastSuggestion( self.account.key, "http://myweb.site/somewebcast", "", "2016test") self.assertEqual(status, 'suggestion_exists')
def post(self): self._require_registration() event_key = self.request.get("event_key") webcast_url = self.request.get("webcast_url") webcast_date = self.request.get("webcast_date") if not webcast_url: self.redirect('/suggest/event/webcast?event_key={}&status=blank_webcast'.format(event_key), abort=True) if ' ' in webcast_url: # This is an invalid url self.redirect('/suggest/event/webcast?event_key={}&status=invalid_url'.format(event_key), abort=True) if 'thebluealliance' in webcast_url: # TBA doesn't host webcasts, so we can reject this outright self.redirect('/suggest/event/webcast?event_key={}&status=invalid_url'.format(event_key), abort=True) status = SuggestionCreator.createEventWebcastSuggestion( author_account_key=self.user_bundle.account.key, webcast_url=self.request.get("webcast_url"), webcast_date=self.request.get("webcast_date"), event_key=event_key) self.redirect('/suggest/event/webcast?event_key={}&status={}'.format(event_key, status))
def post(self): self._require_registration() event_key = self.request.get("event_key") webcast_url = self.request.get("webcast_url") webcast_date = self.request.get("webcast_date") if not webcast_url: self.redirect( '/suggest/event/webcast?event_key={}&status=blank_webcast'. format(event_key), abort=True) if ' ' in webcast_url: # This is an invalid url self.redirect( '/suggest/event/webcast?event_key={}&status=invalid_url'. format(event_key), abort=True) if 'thebluealliance' in webcast_url: # TBA doesn't host webcasts, so we can reject this outright self.redirect( '/suggest/event/webcast?event_key={}&status=invalid_url'. format(event_key), abort=True) status = SuggestionCreator.createEventWebcastSuggestion( author_account_key=self.user_bundle.account.key, webcast_url=self.request.get("webcast_url"), webcast_date=self.request.get("webcast_date"), event_key=event_key) self.redirect('/suggest/event/webcast?event_key={}&status={}'.format( event_key, status))
def createSuggestion(self): status = SuggestionCreator.createEventWebcastSuggestion(self.account.key, 'https://twitch.tv/frcgamesense', '', '2016necmp') self.assertEqual(status, 'success') return 'webcast_2016necmp_twitch_frcgamesense_None'
def test_bad_event(self): status = SuggestionCreator.createEventWebcastSuggestion( self.account.key, "http://twitch.tv/frcgamesense", "", "2016test") self.assertEqual(status, 'bad_event')
def testWebcastGoodDate(self): event = Event(id="2016test", name="Test Event", event_short="Test Event", year=2016, event_type_enum=EventType.OFFSEASON) event.put() status = SuggestionCreator.createEventWebcastSuggestion( self.account.key, "http://twitch.tv/frcgamesense", "2017-02-28", "2016test") self.assertEqual(status, 'success') suggestions = Suggestion.query().fetch() self.assertIsNotNone(suggestions) self.assertEqual(len(suggestions), 1) suggestion = suggestions[0] self.assertIsNotNone(suggestion) self.assertEqual(suggestion.target_key, "2016test") self.assertEqual(suggestion.author, self.account.key) self.assertEqual(suggestion.review_state, Suggestion.REVIEW_PENDING) self.assertIsNotNone(suggestion.contents) self.assertEqual(suggestion.contents.get('webcast_url'), "http://twitch.tv/frcgamesense") self.assertIsNotNone(suggestion.contents.get('webcast_dict')) self.assertEqual(suggestion.contents.get('webcast_date'), "2017-02-28")
def test_webcast_good_date(self): event = Event(id="2016test", name="Test Event", event_short="Test Event", year=2016, event_type_enum=EventType.OFFSEASON) event.put() status = SuggestionCreator.createEventWebcastSuggestion( self.account.key, "http://twitch.tv/frcgamesense", "2017-02-28", "2016test") self.assertEqual(status, 'success') suggestions = Suggestion.query().fetch() self.assertIsNotNone(suggestions) self.assertEqual(len(suggestions), 1) suggestion = suggestions[0] self.assertIsNotNone(suggestion) self.assertEqual(suggestion.target_key, "2016test") self.assertEqual(suggestion.author, self.account.key) self.assertEqual(suggestion.review_state, Suggestion.REVIEW_PENDING) self.assertIsNotNone(suggestion.contents) self.assertEqual(suggestion.contents.get('webcast_url'), "http://twitch.tv/frcgamesense") self.assertIsNotNone(suggestion.contents.get('webcast_dict')) self.assertEqual(suggestion.contents.get('webcast_date'), "2017-02-28")
def test_create_suggestion_banned(self): event = Event(id="2016test", name="Test Event", event_short="Test Event", year=2016, event_type_enum=EventType.OFFSEASON) event.put() status = SuggestionCreator.createEventWebcastSuggestion( self.account_banned.key, "http://twitch.tv/frcgamesense", "", "2016test") self.assertEqual(status, 'success') # Ensure the Suggestion gets created expected_key = "webcast_2016test_twitch_frcgamesense_None" suggestion = Suggestion.get_by_id(expected_key) self.assertIsNotNone(suggestion) self.assertEqual(suggestion.target_key, "2016test") self.assertEqual(suggestion.author, self.account_banned.key) self.assertEqual(suggestion.review_state, Suggestion.REVIEW_AUTOREJECTED) self.assertIsNotNone(suggestion.contents) self.assertEqual(suggestion.contents.get('webcast_url'), "http://twitch.tv/frcgamesense") self.assertIsNotNone(suggestion.contents.get('webcast_dict'))
def testWebcastAlreadyExists(self): event = Event(id="2016test", name="Test Event", event_short="Test Event", year=2016, event_type_enum=EventType.OFFSEASON, webcast_json="[{\"type\": \"twitch\", \"channel\": \"frcgamesense\"}]") event.put() status = SuggestionCreator.createEventWebcastSuggestion( self.account.key, "http://twitch.tv/frcgamesense", "2016test") self.assertEqual(status, 'webcast_exists')
def post(self): self._require_login() event_key = self.request.get("event_key") webcast_url = self.request.get("webcast_url") if not webcast_url: self.redirect('/suggest/event/webcast?event_key={}&status=blank_webcast'.format(event_key), abort=True) status = SuggestionCreator.createEventWebcastSuggestion( author_account_key=self.user_bundle.account.key, webcast_url=self.request.get("webcast_url"), event_key=event_key) self.redirect('/suggest/event/webcast?event_key={}&status={}'.format(event_key, status))
def testCleanupUrlWithoutScheme(self): event = Event(id="2016test", name="Test Event", event_short="Test Event", year=2016, event_type_enum=EventType.OFFSEASON) event.put() status = SuggestionCreator.createEventWebcastSuggestion( self.account.key, "twitch.tv/frcgamesense", "2016test") self.assertEqual(status, 'success') expected_key = "webcast_2016test_twitch_frcgamesense_None" suggestion = Suggestion.get_by_id(expected_key) self.assertIsNotNone(suggestion) self.assertIsNotNone(suggestion.contents) self.assertIsNotNone(suggestion.contents.get('webcast_dict')) self.assertEqual(suggestion.contents.get('webcast_url'), "http://twitch.tv/frcgamesense")
def testUnknownUrlScheme(self): event = Event(id="2016test", name="Test Event", event_short="Test Event", year=2016, event_type_enum=EventType.OFFSEASON) event.put() status = SuggestionCreator.createEventWebcastSuggestion( self.account.key, "http://myweb.site/somewebcast", "2016test") self.assertEqual(status, 'success') suggestions = Suggestion.query().fetch() self.assertIsNotNone(suggestions) self.assertEqual(len(suggestions), 1) suggestion = suggestions[0] self.assertIsNotNone(suggestion) self.assertIsNotNone(suggestion.contents) self.assertIsNone(suggestion.contents.get('webcast_dict')) self.assertEqual(suggestion.contents.get('webcast_url'), "http://myweb.site/somewebcast")
def testCreateSuggestion(self): event = Event(id="2016test", name="Test Event", event_short="Test Event", year=2016, event_type_enum=EventType.OFFSEASON) event.put() status = SuggestionCreator.createEventWebcastSuggestion( self.account.key, "http://twitch.tv/frcgamesense", "2016test") self.assertEqual(status, 'success') # Ensure the Suggestion gets created expected_key = "webcast_2016test_twitch_frcgamesense_None" suggestion = Suggestion.get_by_id(expected_key) self.assertIsNotNone(suggestion) self.assertEqual(suggestion.target_key, "2016test") self.assertEqual(suggestion.author, self.account.key) self.assertEqual(suggestion.review_state, Suggestion.REVIEW_PENDING) self.assertIsNotNone(suggestion.contents) self.assertEqual(suggestion.contents.get('webcast_url'), "http://twitch.tv/frcgamesense") self.assertIsNotNone(suggestion.contents.get('webcast_dict'))
def testBadEvent(self): status = SuggestionCreator.createEventWebcastSuggestion( self.account.key, "http://twitch.tv/frcgamesense", "", "2016test") self.assertEqual(status, 'bad_event')