Exemple #1
0
 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()
Exemple #2
0
 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('/')
Exemple #3
0
 def test_empty_last_name(self):
     professor = Professor(first_name="first",
                           last_name="",
                           user_name="professor",
                           password="******")
     self.assertIsNotNone(professor)
     professor.key.delete()
Exemple #4
0
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)
Exemple #5
0
    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())
Exemple #6
0
 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)
Exemple #7
0
 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)
Exemple #8
0
 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)
Exemple #9
0
 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}))
Exemple #10
0
 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)
Exemple #11
0
 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)
Exemple #12
0
 def test_empty_professorname(self):
     self.assertRaises(
         Professor(first_name="first",
                   last_name="last",
                   user_name="",
                   password="******"))
Exemple #13
0
 def setUp(self):
     self.professor = Professor(first_name="first",
                                last_name="last",
                                user_name="professor",
                                password="******")
Exemple #14
0
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())