def test_no_event(self): status = SuggestionCreator.createApiWriteSuggestion( self.account.key, "2016test", "Event Organizer", [1, 2, 3]) self.assertEqual(status, 'bad_event')
def testOfficialEvent(self): event = Event(id="2016test", name="Test Event", event_short="Test Event", year=2016, event_type_enum=EventType.REGIONAL) event.put() status = SuggestionCreator.createApiWriteSuggestion( self.account.key, "2016test", "Event Organizer", [ AuthType.MATCH_VIDEO, AuthType.EVENT_MATCHES, AuthType.EVENT_ALLIANCES ]) self.assertEqual(status, 'success') # Ensure the Suggestion gets created with only MATCH_VIDEO permission suggestions = Suggestion.query().fetch() self.assertIsNotNone(suggestions) self.assertEqual(len(suggestions), 1) suggestion = suggestions[0] self.assertIsNotNone(suggestion) self.assertEqual(suggestion.contents['event_key'], "2016test") self.assertEqual(suggestion.contents['affiliation'], "Event Organizer") self.assertListEqual(suggestion.contents['auth_types'], [AuthType.MATCH_VIDEO])
def testNoEvent(self): status = SuggestionCreator.createApiWriteSuggestion( self.account.key, "2016test", "Event Organizer", [1, 2, 3]) self.assertEqual(status, 'bad_event')
def test_no_role(self): event = Event(id="2016test", name="Test Event", event_short="Test Event", year=2016, event_type_enum=EventType.OFFSEASON) event.put() status = SuggestionCreator.createApiWriteSuggestion( self.account.key, "2016test", "", [1, 2, 3]) self.assertEqual(status, 'no_affiliation')
def testNoRole(self): event = Event(id="2016test", name="Test Event", event_short="Test Event", year=2016, event_type_enum=EventType.OFFSEASON) event.put() status = SuggestionCreator.createApiWriteSuggestion( self.account.key, "2016test", "", [1, 2, 3]) self.assertEqual(status, 'no_affiliation')
def testOfficialEvent(self): event = Event(id="2016test", name="Test Event", event_short="Test Event", year=2016, event_type_enum=EventType.REGIONAL) event.put() status = SuggestionCreator.createApiWriteSuggestion( self.account.key, "2016test", "Event Organizer", [1, 2, 3]) self.assertEqual(status, 'bad_event')
def post(self): self._require_login() auth_types = self.request.get_all("auth_types", []) clean_auth_types = filter(lambda a: int(a) in AuthType.write_type_names.keys(), auth_types) event_key = self.request.get("event_key", None) status = SuggestionCreator.createApiWriteSuggestion( author_account_key=self.user_bundle.account.key, event_key=event_key, affiliation=self.request.get("role", None), auth_types=clean_auth_types, ) if status == 'success': subject, body = self._gen_notification_email(event_key, self.user_bundle) OutgoingNotificationHelper.send_admin_alert_email(subject, body) self.redirect('/request/apiwrite?status={}'.format(status), abort=True)
def post(self): self._require_login() auth_types = self.request.get_all("auth_types", []) clean_auth_types = filter( lambda a: int(a) in AuthType.type_names.keys(), auth_types) event_key = self.request.get("event_key", None) status = SuggestionCreator.createApiWriteSuggestion( author_account_key=self.user_bundle.account.key, event_key=event_key, affiliation=self.request.get("role", None), auth_types=clean_auth_types, ) if status == 'success': subject, body = self._gen_notification_email( event_key, self.user_bundle) SuggestionNotifier.send_admin_alert_email(subject, body) self.redirect('/request/apiwrite?status={}'.format(status), abort=True)
def post(self): self._require_login() auth_types = self.request.get_all("auth_types", []) clean_auth_types = filter( lambda a: int(a) in AuthType.type_names.keys(), auth_types) status = SuggestionCreator.createApiWriteSuggestion( author_account_key=self.user_bundle.account.key, event_key=self.request.get("event_key", None), affiliation=self.request.get("role", None), auth_types=clean_auth_types, ) self.template_values.update({ 'status': status, "auth_types": AuthType.type_names, }) self.response.out.write( jinja2_engine.render('suggest_apiwrite.html', self.template_values))
def post(self): self._require_login() auth_types = self.request.get_all("auth_types", []) clean_auth_types = filter(lambda a: int(a) in AuthType.type_names.keys(), auth_types) event_key = self.request.get("event_key", None) status = SuggestionCreator.createApiWriteSuggestion( author_account_key=self.user_bundle.account.key, event_key=event_key, affiliation=self.request.get("role", None), auth_types=clean_auth_types, ) if status == 'success': subject, body = self._gen_notification_email(event_key, self.user_bundle) SuggestionNotifier.send_admin_alert_email(subject, body) self.template_values.update({ 'status': status, "auth_types": AuthType.type_names, }) self.response.out.write( jinja2_engine.render('suggest_apiwrite.html', self.template_values))
def testUndefinedAuthType(self): event = Event(id="2016test", name="Test Event", event_short="Test Event", year=2016, event_type_enum=EventType.OFFSEASON) event.put() status = SuggestionCreator.createApiWriteSuggestion( self.account.key, "2016test", "Event Organizer", [1, 2, -1, -2]) # -1 and -2 should be filtered out self.assertEqual(status, 'success') # Ensure the Suggestion gets created suggestions = Suggestion.query().fetch() self.assertIsNotNone(suggestions) self.assertEqual(len(suggestions), 1) suggestion = suggestions[0] self.assertIsNotNone(suggestion) self.assertEqual(suggestion.contents['event_key'], "2016test") self.assertEqual(suggestion.contents['affiliation'], "Event Organizer") self.assertListEqual(suggestion.contents['auth_types'], [1, 2])
def test_undefined_auth_type(self): event = Event(id="2016test", name="Test Event", event_short="Test Event", year=2016, event_type_enum=EventType.OFFSEASON) event.put() status = SuggestionCreator.createApiWriteSuggestion( self.account.key, "2016test", "Event Organizer", [1, 2, -1, -2]) # -1 and -2 should be filtered out self.assertEqual(status, 'success') # Ensure the Suggestion gets created suggestions = Suggestion.query().fetch() self.assertIsNotNone(suggestions) self.assertEqual(len(suggestions), 1) suggestion = suggestions[0] self.assertIsNotNone(suggestion) self.assertEqual(suggestion.contents['event_key'], "2016test") self.assertEqual(suggestion.contents['affiliation'], "Event Organizer") self.assertListEqual(suggestion.contents['auth_types'], [1, 2])
def test_official_event(self): event = Event(id="2016test", name="Test Event", event_short="Test Event", year=2016, event_type_enum=EventType.REGIONAL) event.put() status = SuggestionCreator.createApiWriteSuggestion( self.account.key, "2016test", "Event Organizer", [AuthType.MATCH_VIDEO, AuthType.EVENT_MATCHES, AuthType.EVENT_ALLIANCES]) self.assertEqual(status, 'success') # Ensure the Suggestion gets created with only MATCH_VIDEO permission suggestions = Suggestion.query().fetch() self.assertIsNotNone(suggestions) self.assertEqual(len(suggestions), 1) suggestion = suggestions[0] self.assertIsNotNone(suggestion) self.assertEqual(suggestion.contents['event_key'], "2016test") self.assertEqual(suggestion.contents['affiliation'], "Event Organizer") self.assertListEqual(suggestion.contents['auth_types'], [AuthType.MATCH_VIDEO])
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.createApiWriteSuggestion( self.account_banned.key, "2016test", "Event Organizer", [1, 2, 3]) self.assertEqual(status, 'success') # Ensure the Suggestion gets created suggestions = Suggestion.query().fetch() self.assertIsNotNone(suggestions) self.assertEqual(len(suggestions), 1) suggestion = suggestions[0] self.assertIsNotNone(suggestion) self.assertEqual(suggestion.contents['event_key'], "2016test") self.assertEqual(suggestion.contents['affiliation'], "Event Organizer") self.assertListEqual(suggestion.contents['auth_types'], [1, 2, 3]) self.assertEqual(suggestion.review_state, Suggestion.REVIEW_AUTOREJECTED)
def post(self): self._require_login() auth_types = self.request.get_all("auth_types", []) clean_auth_types = filter( lambda a: int(a) in AuthType.type_names.keys(), auth_types) event_key = self.request.get("event_key", None) status = SuggestionCreator.createApiWriteSuggestion( author_account_key=self.user_bundle.account.key, event_key=event_key, affiliation=self.request.get("role", None), auth_types=clean_auth_types, ) if status == 'success': subject, body = self._gen_notification_email( event_key, self.user_bundle) SuggestionNotifier.send_admin_alert_email(subject, body) self.template_values.update({ 'status': status, "auth_types": AuthType.type_names, }) self.response.out.write( jinja2_engine.render('suggest_apiwrite.html', self.template_values))
def createSuggestion(self): status = SuggestionCreator.createApiWriteSuggestion(self.account.key, '2016necmp', 'Test', [AuthType.EVENT_MATCHES]) self.assertEqual(status, 'success') return Suggestion.query(Suggestion.target_key == '2016necmp').fetch(keys_only=True)[0].id()
def createSuggestion(self): status = SuggestionCreator.createApiWriteSuggestion( self.account.key, '2016necmp', 'Test', [AuthType.EVENT_MATCHES]) self.assertEqual(status, 'success') return Suggestion.query(Suggestion.target_key == '2016necmp').fetch( keys_only=True)[0].id()