def setUp(self): self.app = Setup.create_app() with app.test_request_context(): event = Event(name=UNICODE_STRING, start_time=datetime(2013, 8, 4, 12, 30, 45), end_time=datetime(2016, 9, 4, 12, 30, 45)) event.owner = 1 microlocation = Microlocation(name=UNICODE_STRING) level = Level(name=UNICODE_STRING, event_id=1) session_format = Format(name=UNICODE_STRING, label_en='label', event_id=1) language = Language(name=UNICODE_STRING, event_id=1) session = Session(title=UNICODE_STRING, description='descp', start_time=datetime(2014, 8, 4, 12, 30, 45), end_time=datetime(2015, 9, 4, 12, 30, 45)) speaker = Speaker(name=UNICODE_STRING, email='*****@*****.**', organisation='org', country='japan') sponsor = Sponsor(name=UNICODE_STRING) save_to_db(event, "Event saved") save_to_db(microlocation, 'Microlocation saved') save_to_db(level, 'Level saved') save_to_db(session_format, 'Format saved') save_to_db(language, 'Language saved') save_to_db(session, 'Session saved') save_to_db(speaker, 'Speaker saved') save_to_db(sponsor, 'Sponsor saved')
def test_level_name(self): """Unicode handling for Level model""" with app.test_request_context(): try: str(Level.query.get(1)) except UnicodeEncodeError: self.fail('UnicodeEncodeError for level')
def test_update_version_function(self): with app.test_request_context(): update_version(1, True, "tracks_ver") self.assertEqual(Version.query.get(1).id, 1) self.assertEqual(Version.query.get(1).tracks_ver, 0) update_version(1, False, "tracks_ver") self.assertEqual(Version.query.get(2).tracks_ver, 1)
def test_save_to_db_called_db_session_rollback(self, method): with app.test_request_context(): try: self._create_microlocation() except Exception: pass self.assertTrue(not method.called)
def setUp(self): self.app = Setup.create_app() with app.test_request_context(): # `event_id` is going to be 1 event_id = create_event() # Associate services to event_id create_services(event_id)
def test_language_name(self): """Unicode handling for Language model""" with app.test_request_context(): try: str(Language.query.get(1)) except UnicodeEncodeError: self.fail('UnicodeEncodeError for language')
def test_admin_dashboard_attempt(self): with app.test_request_context(): logout(self.app) register(self.app, "*****@*****.**", "SomeRandomPassword") login(self.app, "*****@*****.**", "SomeRandomPassword") rv = self.app.get(url_for('sadmin.index_view'), follow_redirects=True) self.assertEqual(rv.status_code, 403)
def _test_model(self, name): """ Tests - 1. When just one item, check if next and prev urls are empty 2. When one more item added, limit results to 1 and see if next is not empty 3. start from position 2 and see if prev is not empty """ if name == 'event': path = get_path('page') else: path = get_path(1, name + 's', 'page') data = self._json_from_url(path) self.assertEqual(data['next'], '') self.assertEqual(data['previous'], '') # add second service with app.test_request_context(): create_event(name='TestEvent2') create_services(1) data = self._json_from_url(path + '?limit=1') self.assertIn('start=2', data['next']) self.assertEqual(data['previous'], '') # check from start=2 data = self._json_from_url(path + '?start=2') self.assertIn('limit=1', data['previous']) self.assertEqual(data['next'], '')
def test_scheduler_publish(self): with app.test_request_context(): event = ObjectMother.get_event() save_to_db(event, "Event saved") rv = self.app.get(url_for('event_scheduler.publish', event_id=event.id), follow_redirects=True) event = DataGetter.get_event(event.id) self.assertTrue(event.schedule_published_on is not None, msg=rv.data)
def test_session_end_time_greater_than_start_time(self): with app.test_request_context(): self.session_form['start_time'].data = datetime(2015, 8, 4, 12, 30, 45) self.session_form['end_time'].data = datetime(2014, 9, 4, 12, 30, 45) request.url = 'http://0.0.0.0:5000/admin/event/1' with self.assertRaises(ValidationError): CustomDateSessionValidate().__call__(form=self.session_form, field=None)
def test_events_edit(self): with app.test_request_context(): event = ObjectMother.get_event() save_to_db(event, "Event saved") custom_forms = ObjectMother.get_custom_form(event.id) save_to_db(custom_forms, "Custom forms saved") url = url_for('events.edit_view', event_id=event.id) data = POST_EVENT_DATA.copy() del data['copyright'] data['sponsors[name]'] = ['Sponsor 1', 'Sponsor 2'] data['sponsors[type]'] = ['Gold', 'Silver'] data['sponsors[url]'] = ["", ""] data['sponsors[description]'] = ["", ""] data['sponsors[level]'] = ["", ""] data['name'] = 'EditTestName' data['start_date'] = '07/04/2016' data['start_time'] = '19:00' data['end_date'] = '07/04/2016' data['end_time'] = '22:00' data['custom_form[name]'] = ['session_form', 'speaker_form'] data['custom_form[value]'] = [custom_forms.session_form, custom_forms.speaker_form] data = ImmutableMultiDict(data) rv = self.app.post(url, follow_redirects=True, buffered=True, content_type='multipart/form-data', data=data) self.assertTrue('EditTestName' in rv.data, msg=rv.data) self.assertTrue(data['sponsors[name]'] in rv.data, msg=rv.data)
def test_event_delete(self): with app.test_request_context(): event = ObjectMother.get_event() save_to_db(event, "Event saved") url = url_for('events.trash_view', event_id=event.id) rv = self.app.get(url, follow_redirects=True) self.assertTrue("Your event has been deleted" in rv.data, msg=rv.data)
def test_speakers_list(self): with app.test_request_context(): event = ObjectMother.get_event() save_to_db(event, "Event saved") url = url_for('event_speakers.index_view', event_id=event.id) rv = self.app.get(url, follow_redirects=True) self.assertTrue("Speakers" in rv.data, msg=rv.data)
def test_event_copy(self): with app.test_request_context(): event = ObjectMother.get_event() save_to_db(event, "Event saved") url = url_for('events.copy_event', event_id=event.id) rv = self.app.get(url, follow_redirects=True) self.assertTrue("Copy of event1" in rv.data, msg=rv.data)
def test_session_delete(self): with app.test_request_context(): session = ObjectMother.get_session() save_to_db(session, "Session Saved") url = url_for('event_sessions.delete_session', event_id=1, session_id=session.id) rv = self.app.get(url, follow_redirects=True) self.assertTrue("deleted" in rv.data, msg=rv.data)
def test_event_name(self): """Unicode handling for Event model""" with app.test_request_context(): try: str(Event.query.get(1)) except UnicodeEncodeError: self.fail('UnicodeEncodeError for event')
def test_wrong_form_config(self): with app.test_request_context(): event = ObjectMother.get_event() save_to_db(event, "Event saved") url = url_for('event_sessions.create_view', event_id=event.id) rv = self.app.get(url, follow_redirects=True) self.assertFalse("incorrectly configured" in rv.data, msg=rv.data)
def test_session_title(self): """Unicode handling for Session model""" with app.test_request_context(): try: str(Session.query.get(1)) except UnicodeEncodeError: self.fail('UnicodeEncodeError for session')
def test_microlocation_name(self): """Unicode handling for Microlocation model""" with app.test_request_context(): try: str(Microlocation.query.get(1)) except UnicodeEncodeError: self.fail('UnicodeEncodeError for microlocation')
def test_speaker_name(self): """Unicode handling for Speaker model""" with app.test_request_context(): try: str(Speaker.query.get(1)) except UnicodeEncodeError: self.fail('UnicodeEncodeError for speaker')
def test_unpublished_event_view_attempt(self): with app.test_request_context(): event = ObjectMother.get_event() save_to_db(event, "Event Saved") rv = self.app.get(url_for('event_detail.display_event_detail_home', event_id=event.id), follow_redirects=True) self.assertEqual(rv.status_code, 404)
def test_event_publish(self): with app.test_request_context(): event = ObjectMother.get_event() save_to_db(event, "Event saved") url = url_for('events.publish_event', event_id=event.id) rv = self.app.get(url, follow_redirects=True) event = DataGetter.get_event(event.id) self.assertEqual("Published", event.state, msg=event.state)
def create_app(): app.config['TESTING'] = True app.config['WTF_CSRF_ENABLED'] = False app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///' + os.path.join(_basedir, 'test.db') app.secret_key = 'super secret key' with app.test_request_context(): db.create_all() return app.test_client()
def setUp(self): self.app = Setup.create_app() with app.test_request_context(): register(self.app, u'*****@*****.**', u'test') create_event(creator_email='*****@*****.**') create_services(1, '1') create_services(1, '2') create_services(1, '3')
def _test_path(self, path): """Test response for 400 status code. Also test if response body contains 'does not belong to event' string. """ with app.test_request_context(): response = self.app.get(path) self.assertEqual(response.status_code, 400) self.assertIn('does not belong to event', response.data)
def test_img_upload(self): with app.test_request_context(): data = dict( file=(StringIO(b'my file contents'), "file.png"), ) response = self.app.post('/profile/edit/', content_type='multipart/form-data', data=data, follow_redirects=True) self.assertTrue(response.status_code, 200)
def test_session_both_time_equality(self): """Session end time and start time should not be equal""" with app.test_request_context(): with self.assertRaises(ValidationError): self._session_form_req_url( datetime(2015, 8, 4, 12, 30, 45), datetime(2015, 8, 4, 12, 30, 45) )
def test_session_start_time_range(self): """Session start time should be inside Event time range""" with app.test_request_context(): with self.assertRaises(ValidationError): self._session_form_req_url( datetime(2012, 8, 4, 12, 30, 45), datetime(2016, 9, 4, 12, 30, 45) )
def test_session_start_and_end_time(self): """Session end time should not be smaller than its start time""" with app.test_request_context(): with self.assertRaises(ValidationError): self._session_form_req_url( datetime(2015, 8, 4, 12, 30, 45), datetime(2014, 9, 4, 12, 30, 45) )
def test_published_event_view_coc(self): with app.test_request_context(): event = ObjectMother.get_event() event.state = 'Published' save_to_db(event, "Event Saved") rv = self.app.get(url_for('event_detail.display_event_coc', event_id=event.id), follow_redirects=True) self.assertTrue("Code of Conduct" in rv.data, msg=rv.data)
def test_events_create_post_publish(self): with app.test_request_context(): url = url_for('events.create_view') data = POST_EVENT_DATA data['start_date'] = '07/04/2016' data['start_time'] = '19:00' data['end_date'] = '07/04/2016' data['end_time'] = '22:00' data['state'] = 'Published' rv = self.app.post(url, follow_redirects=True, buffered=True, content_type='multipart/form-data', data=data) self.assertTrue('unpublish' in rv.data, msg=rv.data)
def test_profile_edit(self): with app.test_request_context(): data = { 'email': self.super_admin.email, 'full_name': 'Super Hero', 'facebook': 'https://fb.me/super_hero', 'contact': '+9622100100', 'twitter': 'https://t.co/super_hero', 'details': 'I am a super hero' } rv = self.app.post(url_for('profile.edit_view'), follow_redirects=True, buffered=True, content_type='multipart/form-data', data=data) self.assertTrue("Super Hero" in rv.data, msg=rv.data)
def test_user_already_logged_in(self): """If the user is already logged in then on clicking 'Login with Facebook' he should be redirected directly to the admin page""" with app.test_request_context(): register(self.app, '*****@*****.**', 'test') logout(self.app) login(self.app, '*****@*****.**', 'test') self.assertTrue('Open Event' in self.app.get( '/fCallback/?code=dummy_code&state=dummy_state', follow_redirects=True).data) self.assertEqual( self.app.get('/fCallback/?code=dummy_code&state=dummy_state'). status_code, 302)
def test_session_edit(self): with app.test_request_context(): event = ObjectMother.get_event() save_to_db(event, "Event saved") custom_form = ObjectMother.get_custom_form(event.id) save_to_db(custom_form, "Custom form saved") session = ObjectMother.get_session(event.id) save_to_db(session, "Session saved") url = url_for('event_sessions.edit_view', event_id=event.id, session_id=session.id) rv = self.app.get(url, follow_redirects=True) self.assertTrue("Edit Session" in rv.data, msg=rv.data)
def test_speaker_delete(self): with app.test_request_context(): self.login() event = ObjectMother.get_event() save_to_db(event, "Event saved") speaker = ObjectMother.get_speaker() speaker.event_id = event.id save_to_db(speaker, "Session Saved") url = url_for('event_speakers.delete', event_id=event.id, speaker_id=speaker.id) rv = self.app.get(url, follow_redirects=True) self.assertTrue("deleted" in rv.data, msg=rv.data)
def setUp(self): self.app = Setup.create_app() with app.test_request_context(): # Create two instances of event/services # event_id is going to be 1 event_id1 = create_event('TestEvent_1') # event_id is going to be 2 create_event('TestEvent_2') # Associate services to event_id1 create_services(event_id1, serial_no=1) create_services(event_id1, serial_no=2)
def test_session_view(self): with app.test_request_context(): self.login() event = ObjectMother.get_event() save_to_db(event) session = ObjectMother.get_session() session.event_id = event.id save_to_db(session, "Session Saved") url = url_for('event_sessions.session_display_view', event_id=1, session_id=1) rv = self.app.get(url, follow_redirects=True) self.assertTrue("Short Abstract" in rv.data, msg=rv.data)
def test_export_success(self): path = get_path(1, 'export', 'json') resp = self.app.get(path) self.assertEqual(resp.status_code, 200) self.assertIn('event1.zip', resp.headers['Content-Disposition']) size = len(resp.data) with app.test_request_context(): create_services(1, '2') create_services(1, '3') # check if size increased resp = self.app.get(path) self.assertEqual(resp.status_code, 200) self.assertTrue(len(resp.data) > size)
def test_speaker_view(self): with app.test_request_context(): event = ObjectMother.get_event() save_to_db(event, "Event saved") speaker = ObjectMother.get_speaker() speaker.event_id = event.id save_to_db(speaker, "Speaker saved") custom_forms = ObjectMother.get_custom_form() custom_forms.event_id = event.id save_to_db(custom_forms, "Custom forms Saved") url = url_for('event_speakers.edit_view', event_id=event.id, speaker_id=speaker.id) rv = self.app.get(url, follow_redirects=True) self.assertTrue("name" in rv.data, msg=rv.data)
def test_role_delete(self): with app.test_request_context(): event = ObjectMother.get_event() event.creator = self.super_admin save_to_db(event, "Event saved") user = ObjectMother.get_user() save_to_db(user, "New user saved") populate() role = Role.query.filter_by(name='coorganizer').first() uer = UsersEventsRoles(user, event, role) save_to_db(uer, "UER Saved") rv = self.app.get(url_for('event_roles.delete_view', uer_id=uer.id, event_id=event.id), follow_redirects=True) uer = UsersEventsRoles.query.get(uer.id) self.assertTrue(uer is None, msg=rv.data)
def test_events_create_post(self): with app.test_request_context(): custom_forms = ObjectMother.get_custom_form() url = url_for('events.create_view') data = POST_EVENT_DATA data['start_date'] = '07/04/2016' data['start_time'] = '19:00' data['end_date'] = '07/04/2016' data['end_time'] = '22:00' data['custom_form[name]'] = ['session_form', 'speaker_form'] data['custom_form[value]'] = [custom_forms.session_form, custom_forms.speaker_form] rv = self.app.post(url, follow_redirects=True, buffered=True, content_type='multipart/form-data', data=data) self.assertTrue(POST_EVENT_DATA['name'] in rv.data, msg=rv.data)
def test_event_view(self): with app.test_request_context(): event = ObjectMother.get_event() save_to_db(event, "Event saved") url = url_for('events.details_view', event_id=event.id) rv = self.app.get(url, follow_redirects=True) self.assertTrue("event1" in rv.data, msg=rv.data) microlocation = ObjectMother.get_microlocation(event_id=event.id) track = ObjectMother.get_track(event_id=event.id) cfs = ObjectMother.get_cfs(event_id=event.id) save_to_db(track, "Track saved") save_to_db(microlocation, "Microlocation saved") save_to_db(cfs, "Call for speakers saved") rv = self.app.get(url, follow_redirects=True) self.assertTrue("event1" in rv.data, msg=rv.data)
def test_api_tracks(self): with self.assertRaises(Exception) as context: self.app.get('/api/v1/event/1') self.assertTrue(AttributeError, context.exception) ev = Event(name="event1", start_time=datetime.datetime(2003, 8, 4, 12, 30, 45), end_time=datetime.datetime(2003, 8, 4, 12, 30, 45)) tr = Track(name="name", event_id=1, description="description") with app.test_request_context(): db.session.add(ev) db.session.add(tr) db.session.commit() self.assertEqual(self.app.get('/api/v1/event/1').status_code, 200) self.assertEqual( self.app.get('/api/v1/event/1/tracks').status_code, 200)
def test_session_create_post(self): with app.test_request_context(): event = ObjectMother.get_event() save_to_db(event, "Event saved") custom_form = ObjectMother.get_custom_form(event.id) save_to_db(custom_form, "Custom form saved") data = POST_SESSION_DATA data.update(POST_SPEAKER_DATA) url = url_for('event_sessions.create_view', event_id=event.id) rv = self.app.post(url, follow_redirects=True, buffered=True, content_type='multipart/form-data', data=data) self.assertTrue(data['title'] in rv.data, msg=rv.data)
def _test_model(self, name): """ Tests the 404 response, then add item and test the success response """ path = get_path(1, name + 's', 'page') response = self.app.get(path, follow_redirects=True) # check for 404 in no data self.assertEqual(response.status_code, 404) # add single data with app.test_request_context(): create_services(1) response = self.app.get(path, follow_redirects=True) self.assertEqual(response.status_code, 200) self.assertIn('Test' + str(name).title(), response.data)
def test_wrong_form_config(self): with app.test_request_context(): self.login() event = ObjectMother.get_event() save_to_db(event, "Event saved") speaker = ObjectMother.get_speaker() speaker.event_id = event.id save_to_db(speaker, "Speaker saved") url = url_for('event_speakers.edit_view', event_id=event.id, speaker_id=speaker.id) rv = self.app.get(url, follow_redirects=True) self.assertTrue( "Speaker form has been incorrectly configured for this event. Editing has been disabled" in rv.data, msg=rv.data)
def test_add_social_link_to_db(self): """Checks the one to many relationship between event and social_links """ self.app = Setup.create_app() with app.test_request_context(): event = ObjectMother.get_event() social_link1 = SocialLink(name='Link1', link='some_random_link_1', event_id='1') social_link2 = SocialLink(name='Link2', link='some_random_link_2', event_id='1') save_to_db(event, "Event Saved") save_to_db(social_link1, "SocialLink1 Saved") save_to_db(social_link2, "SocialLink2 Saved") self.assertEqual(social_link1.event_id, 1) self.assertEqual(social_link2.event_id, 1)
def test_events_create_post_publish_without_location_attempt(self): with app.test_request_context(): custom_forms = ObjectMother.get_custom_form() url = url_for('events.create_view') data = POST_EVENT_DATA data['start_date'] = '07/04/2016' data['start_time'] = '19:00' data['end_date'] = '07/04/2016' data['end_time'] = '22:00' data['location_name'] = '' data['state'] = u'Published' data['custom_form[name]'] = ['session_form', 'speaker_form'] data['custom_form[value]'] = [custom_forms.session_form, custom_forms.speaker_form] rv = self.app.post(url, follow_redirects=True, buffered=True, content_type='multipart/form-data', data=data) self.assertTrue('To publish your event please review the highlighted fields below' in rv.data, msg=rv.data)
def test_events_edit(self): with app.test_request_context(): event = ObjectMother.get_event() save_to_db(event, "Event saved") custom_forms = ObjectMother.get_custom_form(event.id) save_to_db(custom_forms, "Custom forms saved") url = url_for('events.edit_view', event_id=event.id) data = POST_EVENT_DATA data['start_date'] = '07/04/2016' data['start_time'] = '19:00' data['end_date'] = '07/04/2016' data['end_time'] = '22:00' data['custom_form[name]'] = ['session_form', 'speaker_form'] data['custom_form[value]'] = [custom_forms.session_form, custom_forms.speaker_form] rv = self.app.post(url, follow_redirects=True, buffered=True, content_type='multipart/form-data', data=data) self.assertTrue(POST_EVENT_DATA['name'] in rv.data, msg=rv.data)
def test_if_user_has_user_details(self): """Check if user has user_details fields during sign up via facebook""" with app.test_request_context(): user = None user_data = { 'email': '*****@*****.**', 'name': 'dsads', 'picture': { 'data': { 'url': 'aaaa' } } } token = 'dsadsads' method = 'Facebook' user = create_user_oauth(user, user_data, token, method) self.assertTrue(user.user_detail)
def test_role_create_post(self): with app.test_request_context(): event = ObjectMother.get_event() event.creator = self.super_admin save_to_db(event, "Event saved") user = ObjectMother.get_user() save_to_db(user, "New user saved") populate() data = { 'user_email': user.email, 'user_role': 'coorganizer' } rv = self.app.post(url_for('event_roles.create_view', event_id=event.id), follow_redirects=True, data=data) # Check if user has been sent a Role Invite role = Role.query.filter_by(name='coorganizer').first() ri = RoleInvite.query.filter_by(email=user.email, event=event, role=role).first() self.assertTrue(ri is not None, msg=rv.data)
def test_session_edit_post(self): with app.test_request_context(): event = ObjectMother.get_event() save_to_db(event, "Event saved") custom_form = ObjectMother.get_custom_form(event.id) save_to_db(custom_form, "Custom form saved") session = ObjectMother.get_session(event.id) save_to_db(session, "Session saved") data = POST_SESSION_DATA data['title'] = 'TestSession2' url = url_for('event_sessions.edit_view', event_id=event.id, session_id=session.id) rv = self.app.post(url, follow_redirects=True, buffered=True, content_type='multipart/form-data', data=data) self.assertTrue("TestSession2" in rv.data, msg=rv.data)
def test_role_update(self): with app.test_request_context(): event = ObjectMother.get_event() event.creator = self.super_admin save_to_db(event, "Event saved") user = ObjectMother.get_user() save_to_db(user, "New user saved") populate() role = Role.query.filter_by(name='coorganizer').first() uer = UsersEventsRoles(user, event, role) save_to_db(uer, "UER Saved") data = { 'user_email': user.email, 'user_role': 'track_organizer' } rv = self.app.post(url_for('event_roles.edit_view', uer_id=uer.id, event_id=event.id, data=data), follow_redirects=True) uer = DataGetter.get_user_event_roles_by_role_name(event.id, 'track_organizer').first() self.assertTrue(uer is not None, msg=rv.data)
def test_published_event_sessions_view(self): with app.test_request_context(): event = ObjectMother.get_event() event.state = 'Published' save_to_db(event, "Event Saved") track = ObjectMother.get_track() track.event_id = event.id save_to_db(track, "Track Saved") speaker = ObjectMother.get_speaker() speaker.event_id = event.id save_to_db(speaker, "Speaker Saved") session = ObjectMother.get_session() session.event_id = event.id session.speakers = [speaker] save_to_db(speaker, "Session Saved") rv = self.app.get(url_for('event_detail.display_event_sessions', event_id=event.id), follow_redirects=True) self.assertTrue("Sessions" in rv.data, msg=rv.data)
def test_my_session_detail(self): with app.test_request_context(): event = ObjectMother.get_event() save_to_db(event, "Event saved") speaker = Speaker(name="name", email="*****@*****.**", organisation="FOSSASIA", event_id=event.id, user=self.super_admin, country="India") save_to_db(speaker, "Speaker saved") session = Session(title='test', long_abstract='dsad', start_time=datetime(2003, 8, 4, 12, 30, 45), end_time=datetime(2003, 8, 4, 12, 30, 45), event_id=event.id, speakers=[speaker], state='pending') save_to_db(session, "Session saved") rv = self.app.get(url_for('my_sessions.display_session_view', session_id=session.id), follow_redirects=True) self.assertTrue("mysessions" in rv.data, msg=rv.data)
def test_speaker_edit(self): with app.test_request_context(): event = ObjectMother.get_event() save_to_db(event, "Event saved") speaker = ObjectMother.get_speaker() speaker.event_id = event.id save_to_db(speaker, "Speaker saved") custom_forms = ObjectMother.get_custom_form() custom_forms.event_id = event.id save_to_db(custom_forms, "Custom forms Saved") url = url_for('event_speakers.edit_view', event_id=event.id, speaker_id=speaker.id) rv = self.app.post(url, data=dict( name='name2', email='*****@*****.**', organisation="FOSSASIA2", country="India2" ), follow_redirects=True) self.assertTrue("Speaker has been saved" in rv.data, msg=rv.data) url = url_for('event_speakers.edit_view', event_id=event.id, speaker_id=speaker.id) rv = self.app.get(url, follow_redirects=True) self.assertTrue("name2" in rv.data, msg=rv.data)
def test_published_event_unpublished_schedule_view_attempt(self): with app.test_request_context(): event = ObjectMother.get_event() event.state = 'Published' save_to_db(event, "Event Saved") track = ObjectMother.get_track() track.event_id = event.id save_to_db(track, "Track Saved") speaker = ObjectMother.get_speaker() speaker.event_id = event.id save_to_db(speaker, "Speaker Saved") microlocation = ObjectMother.get_microlocation() save_to_db(microlocation, "Microlocation Saved") session = ObjectMother.get_session() session.event_id = event.id session.microlocation_id = microlocation.id session.speakers = [speaker] save_to_db(speaker, "Session Saved") rv = self.app.get(url_for('event_detail.display_event_schedule', event_id=event.id), follow_redirects=True) self.assertEqual(rv.status_code, 404)
def test_my_session_unauthorized_access(self): with app.test_request_context(): event = ObjectMother.get_event() user = ObjectMother.get_user() save_to_db(user, "User saved") save_to_db(event, "Event saved") speaker = Speaker(name="name", email="*****@*****.**", organisation="FOSSASIA", event_id=event.id, user=user, country="India") save_to_db(speaker, "Speaker saved") session = Session(title='test', long_abstract='dsad', start_time=datetime(2003, 8, 4, 12, 30, 45), end_time=datetime(2003, 8, 4, 12, 30, 45), event_id=event.id, speakers=[speaker], state='pending') save_to_db(session, "Session saved") rv = self.app.get(url_for('my_sessions.display_session_view', session_id=session.id), follow_redirects=True) self.assertEqual(rv.status_code, 404)
def test_add_session_type_to_db(self): """Checks the one to many relationship between event and session_types and the many to one relationship between session and session_types""" self.app = Setup.create_app() with app.test_request_context(): event = ObjectMother.get_event() session1 = ObjectMother.get_session() session_type1 = SessionType(name='Type1', length='30', event_id='1') session_type2 = SessionType(name='Type2', length='30', event_id='1') session2 = Session(title='test2', long_abstract='dsadsd', start_time=datetime(2003, 8, 4, 12, 30, 45), end_time=datetime(2003, 8, 4, 12, 30, 45), session_type=session_type1) save_to_db(event, "Event Saved") save_to_db(session1, "Session1 Saved") save_to_db(session2, "Session2 Saved") save_to_db(session_type1, "SessionType1 Saved") save_to_db(session_type2, "SessionType2 Saved") self.assertEqual(session_type1.event_id, 1) self.assertEqual(session_type2.event_id, 1) self.assertEqual(session2.session_type_id, 1) self.assertEqual(session1.session_type_id, None)
def test_published_event_cfs_view(self): with app.test_request_context(): event = ObjectMother.get_event() event.state = 'Published' save_to_db(event, "Event Saved") custom_form = ObjectMother.get_custom_form() custom_form.event_id = event.id save_to_db(custom_form, "Custom form saved") call_for_papers = CallForPaper( announcement="Announce", start_date=datetime(2003, 8, 4, 12, 30, 45), end_date=datetime(2004, 8, 4, 12, 30, 45), event_id=event.id) save_to_db(call_for_papers, "Call for papers saved") rv = self.app.get(url_for('event_detail.display_event_cfs', event_id=event.id), follow_redirects=True) self.assertTrue("Closed" in rv.data, msg=rv.data)