Remove redundant login tests

This commit is contained in:
Christian Cueni 2021-05-12 15:03:27 +02:00
parent d4e8aca825
commit 1cfb7c7028
1 changed files with 0 additions and 115 deletions

View File

@ -1,115 +0,0 @@
from datetime import timedelta
from unittest.mock import patch
import requests
from django.conf import settings
from django.contrib.sessions.middleware import SessionMiddleware
from django.test import TestCase, RequestFactory
from django.utils import timezone
from graphene.test import Client
from api.schema_public import schema
from core.factories import UserFactory
from core.tests.mock_hep_data_factory import MockResponse, ME_DATA, VALID_STUDENT_ORDERS, VALID_TEACHERS_ORDERS, \
NOT_CONFIRMED_ME
from users.factories import LicenseFactory
from users.models import Role, User, SchoolClass, License, UserData
TOKEN = 'abcd12345!'
MYSKILLBOX_GROUP_ID_ME_DATA = ME_DATA.copy()
MYSKILLBOX_GROUP_ID_ME_DATA['group_id'] = settings.HEP_MYSKILLBOX_GROUP_ID
class LoginTests(TestCase):
def setUp(self):
self.user = UserFactory(username=ME_DATA['id'], email=ME_DATA['id'])
Role.objects.create_default_roles()
self.teacher_role = Role.objects.get_default_teacher_role()
request = RequestFactory().post('/')
# adding session
middleware = SessionMiddleware()
middleware.process_request(request)
request.session.save()
self.client = Client(schema=schema, context_value=request)
def make_login_mutation(self, token):
mutation = '''
mutation Login($input: LoginInput!){
login(input: $input) {
success
message
}
}
'''
return self.client.execute(mutation, variables={
'input': {
'tokenInput': token
}
})
@patch.object(HepClient, 'customer_me', return_value=ME_DATA)
def test_user_can_login_with_local_user_and_valid_local_license(self, me_mock):
self.user.hep_id = ME_DATA['id']
self.user.save()
now = timezone.now()
expiry_date = now + timedelta(100)
LicenseFactory(expire_date=expiry_date, licensee=self.user, for_role=self.teacher_role).save()
result = self.make_login_mutation(TOKEN)
self.assertTrue(result.get('data').get('login').get('success'))
self.assertTrue(self.user.is_authenticated)
reloaded_user = User.objects.get(pk=self.user.id)
self.assertEqual(reloaded_user.license_expiry_date, expiry_date.date())
@patch.object(HepClient, 'customer_me', return_value=ME_DATA)
def test_user_can_login_with_local_user_and_valid_local_licenses(self, me_mock):
self.user.hep_id = ME_DATA['id']
self.user.save()
now = timezone.now()
expiry_date1 = now + timedelta(100)
expiry_date2 = now + timedelta(110)
LicenseFactory(expire_date=expiry_date1, licensee=self.user, for_role=self.teacher_role).save()
LicenseFactory(expire_date=expiry_date2, licensee=self.user, for_role=self.teacher_role).save()
result = self.make_login_mutation(TOKEN)
self.assertTrue(result.get('data').get('login').get('success'))
self.assertTrue(self.user.is_authenticated)
reloaded_user = User.objects.get(pk=self.user.id)
self.assertEqual(reloaded_user.license_expiry_date, expiry_date2.date())
@patch.object(HepClient, 'customer_me', return_value=ME_DATA)
def test_user_can_login_with_local_user_and_valid_local_licenses(self, me_mock):
self.user.hep_id = ME_DATA['id']
self.user.save()
now = timezone.now()
expiry_date1 = now + timedelta(365)
expiry_date2 = now + timedelta(366)
LicenseFactory(expire_date=expiry_date1, licensee=self.user, for_role=self.teacher_role).save()
LicenseFactory(expire_date=expiry_date2, licensee=self.user, for_role=self.teacher_role).save()
result = self.make_login_mutation(TOKEN)
self.assertTrue(result.get('data').get('login').get('success'))
self.assertTrue(self.user.is_authenticated)
@patch.object(requests, 'post', return_value=MockResponse(401))
def test_user_with_no_login_cannot_login(self, post_mock):
result = self.make_login_mutation('some')
self.assertEqual(result.get('errors')[0].get('message'), 'invalid_credentials')