Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions .coveragerc
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
[report]
omit =
*migrations*
*/tests/*
oshc/manage.py
oshc/oshc/*
*/admin.py
2 changes: 1 addition & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ before_script:
- python manage.py collectstatic --noinput

script:
- coverage run --source='main' manage.py test --verbosity 2
- coverage run --source='.' manage.py test --verbosity 2

after_success:
- coverage report
Expand Down
81 changes: 81 additions & 0 deletions oshc/authentication/tests.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals

from django.contrib.auth.models import User
from django.test import TestCase
from django.urls import reverse
from .regbackend import EmailLoginBackend


class LoginViewTests(TestCase):

def test_get_request(self):
response = self.client.get(reverse("account_login"))
self.assertEqual(response.status_code, 200)


class RegisterViewTest(TestCase):

def test_get_request(self):
response = self.client.get(reverse("account_signup"))
self.assertEqual(response.status_code, 200)


class PasswordChangeViewTest(TestCase):

def test_get_request(self):
response = self.client.get(reverse("account_change_password"))
self.assertEqual(response.status_code, 302)


class PasswordResetViewTest(TestCase):

def test_get_request(self):
response = self.client.get(reverse("account_reset_password"))
self.assertEqual(response.status_code, 200)


class EmailLoginBackendTests(TestCase):

def setUp(self):
self.credentials = {
'username': 'test',
'email': 'test@email.com',
'password': 'test@123'}
self.user = User.objects.create_user(**self.credentials)

def test_valid_username_login(self):
response = self.client.login(username=self.credentials['username'],
password=self.credentials['password'])
self.assertTrue(response)

def test_invalid_username_login(self):
response = self.client.login(username='invalid_username',
password=self.credentials['password'])
self.assertFalse(response)

def test_valid_email_login(self):
response = self.client.login(username=self.credentials['email'],
password=self.credentials['password'])
self.assertTrue(response)

def test_invalid_email_login(self):
response = self.client.login(username='invalid_email',
password=self.credentials['password'])
self.assertFalse(response)

def test_invalid_password_login(self):
response = self.client.login(username=self.credentials['email'],
password='incorrect_password')
self.assertFalse(response)

def test_valid_get_user(self):
backend = EmailLoginBackend()
returned_user = backend.get_user(self.user.id)
self.assertEqual(returned_user.id, self.user.id)

def test_invalid_get_user(self):
backend = EmailLoginBackend()
# The database has only one user. User with id=10 doesn't exists
returned_user = backend.get_user(user_id=10)
self.assertIsNone(returned_user)