Merge pull request #793 from gpodder/remove-advertise
[mygpo.git] / mygpo / test.py
blobf80ed1f87735d81611465cfba40445204e20bd05
1 import base64
3 from django.urls import resolve
4 from django.contrib.auth.models import AnonymousUser
5 from django.test.client import RequestFactory
6 from django.contrib.auth import get_user_model
8 from mygpo.utils import random_token
11 def create_auth_string(username, password):
12 pwdstr = "{0}:{1}".format(username, password).rstrip()
13 credentials = base64.b64encode(pwdstr.encode("utf-8"))
14 auth_string = "Basic " + credentials.decode("ascii")
15 return auth_string
18 def anon_request(url):
19 """Emulates an anonymous request, returns the response"""
20 factory = RequestFactory()
21 request = factory.get(url)
22 request.user = AnonymousUser()
23 view = resolve(url)
25 response = view.func(request, *view.args, **view.kwargs)
26 return response
29 def create_user():
30 """Create a user with random data"""
31 User = get_user_model()
32 password = random_token(10)
33 username = random_token(8)
34 user = User(username=username, email=username + "@example.com")
35 user.set_password(password)
36 user.is_active = True
37 user.save()
38 return user, password