Add tests for sähköpiikki API user
This commit is contained in:
+38
-1
@@ -2,8 +2,11 @@
|
||||
|
||||
from django.test import TestCase, Client
|
||||
from django.contrib.auth.models import User
|
||||
|
||||
from members.management.commands.createsahkopiikkiuser import Command as SahkopiikkiCommand
|
||||
from members.models import Member
|
||||
from rest_framework.authtoken.models import Token
|
||||
|
||||
import logging
|
||||
|
||||
|
||||
class MemberRegisterTestCase(TestCase):
|
||||
@@ -18,6 +21,9 @@ class MemberRegisterTestCase(TestCase):
|
||||
self.c = Client()
|
||||
self.c.login(username=username, password=password)
|
||||
|
||||
sc = SahkopiikkiCommand()
|
||||
sc.handle()
|
||||
|
||||
def test_member_created(self):
|
||||
"""Test member creation."""
|
||||
exists = Member.objects.filter(first_name="Tidus").exists()
|
||||
@@ -50,3 +56,34 @@ class MemberRegisterTestCase(TestCase):
|
||||
response = self.c.get('/members/member-autocomplete?q={}'.format(search_terms), follow=True)
|
||||
results = response.json()['results']
|
||||
self.assertEqual(len(results), 0)
|
||||
|
||||
def test_sahkopiikki_check_by_email_not_found(self):
|
||||
"""Test if sähköpiikki auth and search work"""
|
||||
email = 'teppo@tulppu.fi'
|
||||
wrong_email = 'asd@asd.fi'
|
||||
Member.objects.create(email=email, first_name='Teppo', last_name='Tulppu')
|
||||
token = Token.objects.get(user__username='sahkopiikki').key
|
||||
self.c.defaults['HTTP_AUTHORIZATION'] = 'Token ' + token
|
||||
|
||||
response = self.c.get('/members/check?email={}'.format(wrong_email), follow=True)
|
||||
self.assertEqual(response.json()['exists'], False)
|
||||
|
||||
def test_sahkopiikki_check_by_email_found(self):
|
||||
"""Test if sähköpiikki auth and search work"""
|
||||
email = 'teppo@tulppu.fi'
|
||||
Member.objects.create(email=email, first_name='Teppo', last_name='Tulppu')
|
||||
token = Token.objects.get(user__username='sahkopiikki').key
|
||||
self.c.defaults['HTTP_AUTHORIZATION'] = 'Token ' + token
|
||||
|
||||
response = self.c.get('/members/check?email={}'.format(email), follow=True)
|
||||
self.assertEqual(response.json()['exists'], True)
|
||||
|
||||
def test_sahkopiikki_check_by_email_forbidden(self):
|
||||
"""Test if sähköpiikki auth and search work"""
|
||||
email = 'teppo@tulppu.fi'
|
||||
Member.objects.create(email=email, first_name='Teppo', last_name='Tulppu')
|
||||
token = Token.objects.get(user__username='sahkopiikki').key
|
||||
self.c.defaults['HTTP_AUTHORIZATION'] = 'Token ' + token + 'DERP'
|
||||
|
||||
response = self.c.get('/members/check?email={}'.format(email), follow=True)
|
||||
self.assertEqual(response.status_code, 401)
|
||||
|
||||
Reference in New Issue
Block a user