Ejemplo n.º 1
0
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)
Ejemplo n.º 2
0
    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']])
Ejemplo n.º 3
0
    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']])
Ejemplo n.º 4
0
    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']])
Ejemplo n.º 5
0
    def testValidParameters(self):

        '''
        Valid parameters should pass.
        '''

        errors = validation.validateAdminLogin(
                'adminname',
                'password')

        # Errors should be None.
        self.assertIsNone(errors)
Ejemplo n.º 6
0
    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']])
Ejemplo n.º 7
0
    def testNonExistentUserName(self):

        '''
        Nonexistent username.
        '''

        # Non-existent username.
        errors = validation.validateAdminLogin(
                'doesnotexist',
                'password')

        # Check for error.
        self.assertEqual(errors['username'], [e['usernameDoesNotExist']])