def test_unique_user_names(self): professor1 = Professor(first_name="first", last_name="last", user_name="professor", password="").put() self.assertRaises( Professor(first_name="first", last_name="last", user_name="professor", password="").put()) professor1.key.delete()
def post(self): if 'username' in self.session and self.session['username']: username = self.session['username'] profs = Professor.query(Professor.user_name == username).fetch() if profs: self.redirect('/adminhome') else: self.redirect('/studenthome') else: entered_username = self.request.get('username') entered_password = self.request.get('password') user = User.query(User.user_name == entered_username).fetch()[0] if user and entered_password == user.password: # check if it's their first time logging in, sent em to different page then if user.first_login: self.session['username'] = entered_username self.redirect('/myFirstLogin') else: # profs = Professor.query(Professor.user_name == entered_username).fetch() if user is Professor: self.session['username'] = entered_username self.redirect('/adminhome') else: if entered_password != user.password: self.redirect('/') else: self.session['username'] = entered_username self.redirect('/studenthome') else: self.redirect('/')
def test_empty_last_name(self): professor = Professor(first_name="first", last_name="", user_name="professor", password="******") self.assertIsNotNone(professor) professor.key.delete()
def parse_info(input_list): input_list = input_list.replace(' ','') logging.info("parse info called") while len(input_list) > 5: pos = input_list.find(',') l_name = input_list[0:pos] input_list = input_list[pos+1:len(input_list)] logging.info("name" + l_name) pos = input_list.find(',') f_name = input_list[0:pos] input_list = input_list[pos+1:len(input_list)] logging.info(f_name) pos = input_list.find(',') u_name = input_list[0:pos] input_list = input_list[pos+1:len(input_list)] logging.info(u_name) pos = input_list.find('\n') if pos < 0: pos = len(input_list) u_type = input_list[0:pos] input_list = input_list[pos+1:len(input_list)] logging.info(u_type) # add user if u_type == "Instructor": prof = Professor(first_name=f_name, last_name=l_name, user_name=u_name, password="******").put() logging.info(prof) else: stud = Student(first_name=f_name, last_name=l_name, user_name=u_name, password="******").put() logging.info(stud)
def get(self): # populate data store with mock info if it doesn't exist users = User.query().fetch() if not users: Professor(user_name='SampleProfessor', password='******', first_name='Jayson', last_name='Rock').put() Student(user_name='SampleStudent', password='******', first_name='Kylie', last_name='Weber').put() if 'username' in self.session and self.session['username']: username = self.session['username'] profs = Professor.query(Professor.user_name == username).fetch() if profs: self.redirect('/adminhome') else: self.redirect('/studenthome') else: template = JINJA_ENVIRONMENT.get_template('templates/protologin.html') self.response.write(template.render())
def test_professor(self): self.user = Professor(first_name="Jayson", last_name="Rock", user_name="ROCK32", password="******") self.assertEqual(self.user.first_name, "Jayson") self.assertEqual(self.user.last_name, "Rock") self.assertEqual(self.user.user_name, "ROCK32") self.assertEqual(self.user.password, "password") self.assertIsInstance(self.user, Professor) self.assertIsInstance(self.user, User)
def get(self): username = self.session['username'] logging.info(username) profs = Professor.query(Professor.user_name == username).fetch() prof = profs[0] if prof: logging.info(prof) template = JINJA_ENVIRONMENT.get_template('templates/AdminAccountSettingsPage.html') self.response.write(template.render({'user': prof})) else: html="""<html> <head><meta http-equiv="refresh" content="3;URL='/'"><title>Redirect</title></head> <body style="color: red;"> Invalid Credentials, you are being redirected.</body></html> """ self.response.write(html)
def get(self): if 'username' in self.session and self.session['username']: username = self.session['username'] profs = Professor.query(Professor.user_name == username).fetch() if profs: template = JINJA_ENVIRONMENT.get_template('templates/RegisterStudentsPage.html') self.response.write(template.render()) else: html = """<html> <head><meta http-equiv="refresh" content="3;URL='/'"><title>Redirect</title></head> <body style="color: red;"> Invalid Credentials, you are being redirected.</body></html> """ self.response.write(html) else: html="""<html> <head><meta http-equiv="refresh" content="3;URL='/'"><title>Redirect</title></head> <body style="color: red;"> Invalid Credentials, you are being redirected.</body></html> """ self.response.write(html)
def post(self): username = self.session['username'] logging.info(username) prof = Professor.query(Professor.user_name == username).fetch()[0] if not prof: html="""<html> <head><meta http-equiv="refresh" content="3;URL='/'"><title>Redirect</title></head> <body style="color: red;"> Invalid Credentials, you are being redirected.</body></html> """ self.response.write(html) else: if self.request.get('first_pass') == self.request.get('second_pass'): #check if passwords match logging.info(self.request.get('first_pass')) if prof.change_password(self.request.get('first_pass')): # password change successful prof.put() self.redirect('/') else: template = JINJA_ENVIRONMENT.get_template('templates/AdminAccountSettingsPage.html') self.response.write(template.render({'user': prof})) else: template = JINJA_ENVIRONMENT.get_template('templates/AdminAccountSettingsPage.html') self.response.write(template.render({'user': prof, 'password_match': False}))
def get(self): questions = list(Question.query().fetch()) render_parameter = {'questions': questions} if 'username' in self.session and self.session['username']: username = self.session['username'] profs = Professor.query(Professor.user_name == username).fetch() prof = profs[0] if profs: render_parameter['username'] = prof.first_name + " " + prof.last_name template = JINJA_ENVIRONMENT.get_template('templates/AdministratorHomePage.html') self.response.write(template.render(render_parameter)) else: html = """<html> <head><meta http-equiv="refresh" content="3;URL='/'"><title>Redirect</title></head> <body style="color: red;"> Invalid Credentials, you are being redirected.</body></html> """ self.response.write(html) else: html="""<html> <head><meta http-equiv="refresh" content="3;URL='/'"><title>Redirect</title></head> <body style="color: red;"> Invalid Credentials, you are being redirected.</body></html> """ self.response.write(html)
def get(self): unanswered_questions = Question.query(Question.unAnswered == True).order(-Question.date_created).fetch() recent_questions = Question.query().order(-Question.date_answered).fetch(6) students = Student.query().fetch() if 'username' in self.session and self.session['username']: username = self.session['username'] profs = Professor.query(Professor.user_name == username).fetch() qqtab = 1 if self.request.get('NewQ'): qqtab = 1 elif self.request.get('RecentQ'): qqtab = 2 elif self.request.get('ByStudent'): qqtab = 3 elif self.request.get('FAQs'): self.redirect('/FAQADMIN') if profs: template = JINJA_ENVIRONMENT.get_template('templates/QuestionQueue.html') self.response.write(template.render({ 'QQTAB': qqtab, 'unanswered_questions': unanswered_questions, 'recent_questions': recent_questions, 'students': students })) else: html = """<html> <head><meta http-equiv="refresh" content="3;URL='/'"><title>Redirect</title></head> <body style="color: red;"> Invalid Credentials, you are being redirected.</body></html> """ self.response.write(html) else: html="""<html> <head><meta http-equiv="refresh" content="3;URL='/'"><title>Redirect</title></head> <body style="color: red;"> Invalid Credentials, you are being redirected.</body></html> """ self.response.write(html)
def test_empty_professorname(self): self.assertRaises( Professor(first_name="first", last_name="last", user_name="", password="******"))
def setUp(self): self.professor = Professor(first_name="first", last_name="last", user_name="professor", password="******")
class TestProfessor(unittest.TestCase): def setUp(self): self.professor = Professor(first_name="first", last_name="last", user_name="professor", password="******") def tearDown(self): pass def test_professor_not_null(self): self.assertNotEqual(None, self.professor) def test_empty_first_name(self): professor = Professor(first_name="", last_name="last", user_name="professor", password="******") self.assertIsNotNone(professor) professor.key.delete() def test_empty_last_name(self): professor = Professor(first_name="first", last_name="", user_name="professor", password="******") self.assertIsNotNone(professor) professor.key.delete() def test_empty_password(self): self.assertRaises( Professor(first_name="first", last_name="last", user_name="professor", password="")) def test_empty_professorname(self): self.assertRaises( Professor(first_name="first", last_name="last", user_name="", password="******")) def test_set_professorname(self): self.professor.professorname = 'Kyle' self.assertEqual(self.professor.professorname, 'Kyle') def test_set_password(self): self.professor.password = '******' self.assertEqual(self.professor.password, 'kylesuckslol') def test_unique_user_names(self): professor1 = Professor(first_name="first", last_name="last", user_name="professor", password="").put() self.assertRaises( Professor(first_name="first", last_name="last", user_name="professor", password="").put()) professor1.key.delete() def test_change_password(self): self.professor.change_password("234") self.assertTrue(self.professor.password, "234") def test_change_blank_password(self): self.assertFalse(self.professor.change_password("")) self.assertTrue(self.professor.password, "123") def test_change_short_password(self): self.assertFalse(self.professor.change_password("23")) self.assertTrue(self.professor.password, "123") def test_change_no_numbers_password(self): self.assertFalse(self.professor.change_password("badpass")) self.assertTrue(self.professor.password, "123") def test_question_queue_initially_empty(self): self.assertIsNone(self.professor.load_queue()) def test_question_queue_adding(self): Question(isFAQ=False, question="question") self.assertIsNotNone(self.professor.load_queue())