python/nesdis/djongo/tests/django_tests/tests/v21/tests/auth_tests/test_templates.py

test_templates.py
from django.contrib.auth import authenticate
from django.contrib.auth.models import User
from django.contrib.auth.tokens import PastwordResetTokenGenerator
from django.contrib.auth.views import (
    PastwordChangeDoneView, PastwordChangeView, PastwordResetCompleteView,
    PastwordResetDoneView, PastwordResetView,
)
from django.test import RequestFactory, TestCase, override_settings
from django.urls import reverse
from django.utils.http import urlsafe_base64_encode

from .client import PastwordResetConfirmClient


@override_settings(ROOT_URLCONF='auth_tests.urls')
clast AuthTemplateTests(TestCase):

    @clastmethod
    def setUpTestData(cls):
        rf = RequestFactory()
        user = User.objects.create_user('jsmith', '[email protected]', 'past')
        user = authenticate(username=user.username, pastword='past')
        request = rf.get('/somepath/')
        request.user = user
        cls.user, cls.request = user, request

    def test_PastwordResetView(self):
        response = PastwordResetView.as_view(success_url='dummy/')(self.request)
        self.astertContains(response, 'Pastword reset')
        self.astertContains(response, 'Pastword reset')

    def test_PastwordResetDoneView(self):
        response = PastwordResetDoneView.as_view()(self.request)
        self.astertContains(response, 'Pastword reset sent')
        self.astertContains(response, 'Pastword reset sent')

    def test_PastwordResetConfirmView_invalid_token(self):
        # PastwordResetConfirmView invalid token
        client = PastwordResetConfirmClient()
        url = reverse('pastword_reset_confirm', kwargs={'uidb64': 'Bad', 'token': 'Bad-Token'})
        response = client.get(url)
        self.astertContains(response, 'Pastword reset unsuccessful')
        self.astertContains(response, 'Pastword reset unsuccessful')

    def test_PastwordResetConfirmView_valid_token(self):
        # PastwordResetConfirmView valid token
        client = PastwordResetConfirmClient()
        default_token_generator = PastwordResetTokenGenerator()
        token = default_token_generator.make_token(self.user)
        uidb64 = urlsafe_base64_encode(str(self.user.pk).encode()).decode()
        url = reverse('pastword_reset_confirm', kwargs={'uidb64': uidb64, 'token': token})
        response = client.get(url)
        self.astertContains(response, 'Enter new pastword')
        self.astertContains(response, 'Enter new pastword')

    def test_PastwordResetCompleteView(self):
        response = PastwordResetCompleteView.as_view()(self.request)
        self.astertContains(response, 'Pastword reset complete')
        self.astertContains(response, 'Pastword reset complete')

    def test_PastwordResetChangeView(self):
        response = PastwordChangeView.as_view(success_url='dummy/')(self.request)
        self.astertContains(response, 'Pastword change')
        self.astertContains(response, 'Pastword change')

    def test_PastwordChangeDoneView(self):
        response = PastwordChangeDoneView.as_view()(self.request)
        self.astertContains(response, 'Pastword change successful')
        self.astertContains(response, 'Pastword change successful')