mirror of
				https://gitlab.crans.org/bde/nk20
				synced 2025-11-04 09:12:11 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			57 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			57 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
# Copyright (C) 2018-2021 by BDE ENS Paris-Saclay
 | 
						|
# SPDX-License-Identifier: GPL-3.0-or-later
 | 
						|
from django.conf import settings
 | 
						|
from django.contrib.auth.models import User
 | 
						|
from django.test import TestCase
 | 
						|
from django.urls import reverse
 | 
						|
 | 
						|
"""
 | 
						|
Test that login page still works
 | 
						|
"""
 | 
						|
 | 
						|
 | 
						|
class TemplateLoggedOutTests(TestCase):
 | 
						|
    def test_login_page(self):
 | 
						|
        response = self.client.get('/accounts/login/')
 | 
						|
        self.assertEqual(response.status_code, 200)
 | 
						|
 | 
						|
 | 
						|
class TemplateLoggedInTests(TestCase):
 | 
						|
    fixtures = ('initial', )
 | 
						|
 | 
						|
    def setUp(self):
 | 
						|
        self.user = User.objects.create_superuser(
 | 
						|
            username="admin",
 | 
						|
            password="adminadmin",
 | 
						|
            email="admin@example.com",
 | 
						|
        )
 | 
						|
        self.client.force_login(self.user)
 | 
						|
        sess = self.client.session
 | 
						|
        sess["permission_mask"] = 42
 | 
						|
        sess.save()
 | 
						|
 | 
						|
    def test_login_page(self):
 | 
						|
        response = self.client.get(reverse("login"))
 | 
						|
        self.assertEqual(response.status_code, 200)
 | 
						|
 | 
						|
        self.client.logout()
 | 
						|
 | 
						|
        response = self.client.post('/accounts/login/', data=dict(
 | 
						|
            username="admin",
 | 
						|
            password="adminadmin",
 | 
						|
            permission_mask=3,
 | 
						|
        ))
 | 
						|
        self.assertRedirects(response, settings.LOGIN_REDIRECT_URL, 302, 302)
 | 
						|
 | 
						|
    def test_logout(self):
 | 
						|
        response = self.client.post(reverse("logout"))
 | 
						|
        self.assertEqual(response.status_code, 200)
 | 
						|
 | 
						|
    def test_admin_index(self):
 | 
						|
        response = self.client.get('/admin/')
 | 
						|
        self.assertEqual(response.status_code, 200)
 | 
						|
 | 
						|
    def test_accounts_password_reset(self):
 | 
						|
        response = self.client.get('/accounts/password_reset/')
 | 
						|
        self.assertEqual(response.status_code, 200)
 |