You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

40 lines
1.9 KiB

from django.test import RequestFactory, TestCase, override_settings
from django.utils.http import urlsafe_base64_encode
from django.utils.encoding import force_bytes
from django.urls import reverse
from rest_framework import status
from ..forms import SignupForm
from ..tokens import account_activation_token
import re
@override_settings(STATICFILES_STORAGE='django.contrib.staticfiles.storage.StaticFilesStorage')
class TestActivate(TestCase):
def setUp(self):
# Every test needs access to the request factory.
self.factory = RequestFactory()
request_POST = {'username': 'username5648',
'email': 'email@example.com',
'password1': 'pwd0000Y00$$',
'password2': 'pwd0000Y00$$'}
user = SignupForm(request_POST).save(commit=False)
user.save()
self.token = account_activation_token.make_token(user)
self.uid = urlsafe_base64_encode(force_bytes(user.pk)).decode()
def test_activate_invalid(self):
response = self.client.get(reverse('activate', args=['wrong_uid', 'wrong_token']))
self.assertEqual(response.status_code, 200)
needle = '<p>Activation link is invalid!</p>'
m = re.search(needle, str(response.content))
self.assertTrue(m is None)
def test_activate_valid(self):
"""we make sure code is for the /projects redirection"""
response = self.client.get(reverse('activate', args=[self.uid, self.token]))
# For some reason this get rejected by Travis CI
# File "/usr/local/lib/python3.6/site-packages/webpack_loader/loader.py", line 26, in _load_assets with open(self.config['STATS_FILE'], encoding="utf-8") as f:
# FileNotFoundError: [Errno 2] No such file or directory: '/doccano/app/server/static/webpack-stats.json'
# self.assertRedirects(response, '/projects/')
self.assertEqual(response.status_code, status.HTTP_302_FOUND)