mirror of https://github.com/doccano/doccano.git
pythonannotation-tooldatasetsactive-learningtext-annotationdatasetnatural-language-processingdata-labelingmachine-learning
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
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)
|