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_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_session_reject(self): with app.test_request_context(): event = ObjectMother.get_event() save_to_db(event, "Event Saved") session = ObjectMother.get_session() save_to_db(session, "Session Saved") url = url_for('event_sessions.reject_session', event_id=1, session_id=session.id) rv = self.app.post(url, follow_redirects=True) self.assertTrue("The session has been rejected" in rv.data, msg=rv.data)
def test_add_session_to_db(self): with app.test_request_context(): # create event event = ObjectMother.get_event() save_to_db(event, 'Event saved') # test session = ObjectMother.get_session() save_to_db(session, "Session saved") self.assertEqual(session.id, 1) self.assertEqual(session.event_id, 1)
def test_session_view(self): with app.test_request_context(): 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=event.id, session_id=session.id) rv = self.app.get(url, follow_redirects=True) self.assertTrue("Short abstract" in rv.data, msg=rv.data)
def basic_setup(super_admin): event = ObjectMother.get_event() save_to_db(event, "Event saved") session = ObjectMother.get_session(event.id) save_to_db(session, "Session saved") speaker = ObjectMother.get_speaker() speaker.event_id = event.id speaker.user_id = super_admin.id save_to_db(speaker, "Speaker saved") return event
def test_sessions_list(self): with app.test_request_context(): event = ObjectMother.get_event() save_to_db(event, "Event saved") session = ObjectMother.get_session(event.id) save_to_db(session, "Session Saved") url = url_for('event_sessions.index_view', event_id=event.id, session_id=session.id) rv = self.app.get(url, follow_redirects=True) self.assertTrue("Sessions" in rv.data, msg=rv.data) self.assertTrue("test" in rv.data, msg=rv.data)
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_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_db_sessions(self): with app.test_request_context(): start = time.clock() for i in range(1, 10000): session = ObjectMother.get_session() session.name = 'Session' + str(i) db.session.add(session) db.session.commit() url = url_for('sadmin_sessions.display_my_sessions_view') self.app.get(url, follow_redirects=True) print time.clock() - start for query in get_debug_queries(): if query.duration >= ProductionConfig.DATABASE_QUERY_TIMEOUT: app.logger.warning("SLOW QUERY: %s\nParameters: %s\nDuration: %fs\nContext: %s\n" % ( query.statement, query.parameters, query.duration, query.context))
def test_db_sessions(self): with app.test_request_context(): start = time.clock() for i in range(1, 10000): session = ObjectMother.get_session() session.name = 'Session' + str(i) db.session.add(session) db.session.commit() url = url_for('sadmin_sessions.display_my_sessions_view') self.app.get(url, follow_redirects=True) print time.clock() - start for query in get_debug_queries(): if query.duration >= ProductionConfig.DATABASE_QUERY_TIMEOUT: app.logger.warning( "SLOW QUERY: %s\nParameters: %s\nDuration: %fs\nContext: %s\n" % (query.statement, query.parameters, query.duration, query.context))
def test_db_sessions(self): with app.test_request_context(): for i in range(1, 10000): session = ObjectMother.get_session() session.name = 'Session' + str(i) db.session.add(session) db.session.commit() url = url_for('sadmin_sessions.display_my_sessions_view') time.clock() self.app.get(url, follow_redirects=True) with open("output_session.txt", "w") as text_file: for query in get_debug_queries(): if query.duration >= ProductionConfig.DATABASE_QUERY_TIMEOUT: text_file.write("SLOW QUERY: %s\nParameters: %s\nDuration: %fs\nContext: %s\n" % ( query.statement, query.parameters, query.duration, query.context)) text_file.write("\n")
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', identifier=event.identifier), follow_redirects=True) self.assertTrue("Sessions" in rv.data, msg=rv.data)
def test_db_sessions(self): with app.test_request_context(): for i in range(1, 10000): session = ObjectMother.get_session() session.name = 'Session' + str(i) db.session.add(session) db.session.commit() url = url_for('sadmin_sessions.display_my_sessions_view') time.clock() self.app.get(url, follow_redirects=True) with open("output_session.txt", "w") as text_file: for query in get_debug_queries(): if query.duration >= ProductionConfig.DATABASE_QUERY_TIMEOUT: text_file.write( "SLOW QUERY: %s\nParameters: %s\nDuration: %fs\nContext: %s\n" % (query.statement, query.parameters, query.duration, query.context)) text_file.write("\n")
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', identifier=event.identifier), follow_redirects=True) self.assertEqual(rv.status_code, 404)
def test_published_event_schedule_view(self): with app.test_request_context(): event = ObjectMother.get_event() event.state = 'Published' event.schedule_published_on = datetime.now() 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.state = 'accepted' session.microlocation_id = microlocation.id session.speakers = [speaker] save_to_db(session, "Session Saved") rv = self.app.get(url_for('event_detail.display_event_schedule', identifier=event.identifier), follow_redirects=True) self.assertTrue("Schedule" in rv.data, msg=rv.data)
def test_get_session_by_id(self): session = ObjectMother.get_session() with app.test_request_context(): save_to_db(session, "Session saved") response = self.app.get('/api/v1/event/sessions/1') self.assertEqual(response.status_code, 200)
def test_add_session_to_db(self): session = ObjectMother.get_session() with app.test_request_context(): save_to_db(session, "Session saved") self.assertEqual(session.id, 1) self.assertEqual(session.event_id, 1)