Files @ 9343ba3fb2c8
Branch filter:

Location: rattail-project/rattail/tests/db/test_auth.py

Lance Edgar
Tweak `locking_copy_test()` to assume destination is always a folder.

Also add constant for "file exists" error.
# -*- coding: utf-8 -*-

from __future__ import unicode_literals

from .. import DataTestCase

from rattail.db import auth
from rattail.db import model


class TestAuthenticateUser(DataTestCase):

    def test_nonexistent_user_returns_none(self):
        self.assertTrue(auth.authenticate_user(self.session, u'fred', u'fredpass') is None)

    def test_correct_credentials_returns_user(self):
        fred = model.User(username=u'fred')
        auth.set_user_password(fred, u'fredpass')
        self.session.add(fred)
        self.session.commit()
        user = auth.authenticate_user(self.session, u'fred', u'fredpass')
        self.assertTrue(user is fred)

    def test_wrong_password_user_returns_none(self):
        fred = model.User(username=u'fred', active=False)
        auth.set_user_password(fred, u'fredpass')
        self.session.add(fred)
        self.session.commit()
        self.assertTrue(auth.authenticate_user(self.session, u'fred', u'BADPASS') is None)

    def test_inactive_user_returns_none(self):
        fred = model.User(username=u'fred', active=False)
        auth.set_user_password(fred, u'fredpass')
        self.session.add(fred)
        self.session.commit()
        self.assertTrue(auth.authenticate_user(self.session, u'fred', u'fredpass') is None)