def login(): ''' Admin login. ''' errors = None # If a form was posted. if request.method == 'POST': # Gather post. username = request.form['username'] password = request.form['password'] # Validate form. errors = validation.validateAdminLogin( username, password) # If valid. if not errors: # Get the user record. admin = models.User.getUserByName(username) # Record the id, redirect. session['user_id'] = admin.id return redirect(url_for('browse')) return render_template( 'admin/login.html', errors = errors, form = request.form)
def testWrongPassword(self): ''' Existing admin username with incorrect password. ''' # Non-admin. errors = validation.validateAdminLogin('adminname', 'wrong') # Check for error. self.assertEqual(errors['password'], [e['incorrectPassword']])
def testNoPassword(self): ''' Empty or blank password. ''' # Blank username. errors = validation.validateAdminLogin( 'adminname', '') # Check for error. self.assertEqual(errors['password'], [e['noPassword']]) # None password. errors = validation.validateAdminLogin( 'adminname', None) # Check for error. self.assertEqual(errors['password'], [e['noPassword']])
def testNoUserName(self): ''' Empty or blank username. ''' # Blank username. errors = validation.validateAdminLogin( '', 'password') # Check for error. self.assertEqual(errors['username'], [e['noUsername']]) # None username. errors = validation.validateAdminLogin( None, 'password') # Check for error. self.assertEqual(errors['username'], [e['noUsername']])
def testValidParameters(self): ''' Valid parameters should pass. ''' errors = validation.validateAdminLogin( 'adminname', 'password') # Errors should be None. self.assertIsNone(errors)
def testNotAdministrator(self): ''' Valid user account that is not an admin. ''' # Non-admin. errors = validation.validateAdminLogin( 'username', 'password') # Check for error. self.assertEqual(errors['_form'], [e['notAuthorized']])
def testNonExistentUserName(self): ''' Nonexistent username. ''' # Non-existent username. errors = validation.validateAdminLogin( 'doesnotexist', 'password') # Check for error. self.assertEqual(errors['username'], [e['usernameDoesNotExist']])