mirror of
https://github.com/retspen/webvirtcloud
synced 2024-11-01 03:54:15 +00:00
64 lines
2 KiB
Python
64 lines
2 KiB
Python
from django.contrib.auth.models import Permission, User
|
|
from django.shortcuts import reverse
|
|
from django.test import Client, TestCase
|
|
|
|
|
|
class AccountsTestCase(TestCase):
|
|
def setUp(self):
|
|
self.client.login(username='admin', password='admin')
|
|
user = User.objects.create_user(username='test', password='test')
|
|
permission = Permission.objects.get(codename='change_password')
|
|
user.user_permissions.add(permission)
|
|
|
|
def test_profile(self):
|
|
response = self.client.get(reverse('profile'))
|
|
self.assertEqual(response.status_code, 200)
|
|
|
|
response = self.client.get(reverse('account', args=[2]))
|
|
self.assertEqual(response.status_code, 200)
|
|
|
|
def test_login_logout(self):
|
|
user = User.objects.get(username='test')
|
|
self.assertEqual(user.id, 2)
|
|
|
|
client = Client()
|
|
|
|
response = client.post(reverse("login"), {"username": "test", "password": "test"})
|
|
self.assertRedirects(response, reverse('profile'))
|
|
|
|
response = client.get(reverse('logout'))
|
|
self.assertRedirects(response, reverse('login'))
|
|
|
|
def test_password_change(self):
|
|
client = Client()
|
|
|
|
logged_in = client.login(username='test', password='test')
|
|
self.assertTrue(logged_in)
|
|
|
|
response = client.get(reverse('change_password'))
|
|
self.assertEqual(response.status_code, 200)
|
|
|
|
response = client.post(
|
|
reverse('change_password'),
|
|
{
|
|
'old_password': 'wrongpass',
|
|
'new_password1': 'newpw',
|
|
'new_password2': 'newpw',
|
|
},
|
|
)
|
|
self.assertEqual(response.status_code, 200)
|
|
|
|
response = client.post(
|
|
reverse('change_password'),
|
|
{
|
|
'old_password': 'test',
|
|
'new_password1': 'newpw',
|
|
'new_password2': 'newpw',
|
|
},
|
|
)
|
|
self.assertRedirects(response, reverse('profile'))
|
|
|
|
client.logout()
|
|
|
|
logged_in = client.login(username='test', password='newpw')
|
|
self.assertTrue(logged_in)
|