# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
from base64 import b64encode
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
from base64 import b64encode
from urllib.parse import quote, urlencode, parse_qs
from django.contrib.auth.models import User
from django.core.files.uploadedfile import SimpleUploadedFile
from django.test import TestCase
from django.test.utils import override_settings
from urllib.parse import quote, urlencode, parse_qs
from django.contrib.auth.models import User
from django.core.files.uploadedfile import SimpleUploadedFile
from django.test import TestCase
from django.test.utils import override_settings
from catalogue.models import Book, Tag
from picture.forms import PictureImportForm
from picture.models import Picture
import picture.tests
from catalogue.models import Book, Tag
from picture.forms import PictureImportForm
from picture.models import Picture
import picture.tests
def load_json(self, url):
content = self.client.get(url).content
try:
def load_json(self, url):
content = self.client.get(url).content
try:
- self.assert_slugs(
- '/api/filter-books/?preview=true',
- ['grandchild'])
+ Book.objects.filter(slug='grandchild').update(preview=True)
+ # Skipping: we don't allow previewed books in filtered list.
+ #self.assert_slugs(
+ # '/api/filter-books/?preview=true',
+ # ['grandchild'])
# Request token authorization.
self.client.login(username='test', password='test')
# Request token authorization.
self.client.login(username='test', password='test')
post_data = response.context['form'].initial
response = self.client.post('/api/oauth/authorize/?' + urlencode(post_data))
post_data = response.context['form'].initial
response = self.client.post('/api/oauth/authorize/?' + urlencode(post_data))
- query = u"{}&oauth_signature={}".format(base_query, sign)
- response = self.client.get(u'/api/oauth/access_token/?' + query)
+ query = "{}&oauth_signature={}".format(base_query, sign)
+ response = self.client.get('/api/oauth/access_token/?' + query)
access_token_data = parse_qs(response.content.decode('latin1'))
access_token = access_token_data['oauth_token'][0]
access_token_data = parse_qs(response.content.decode('latin1'))
access_token = access_token_data['oauth_token'][0]
self.assert_slugs('/api/preview/', ['grandchild'])
self.assertEqual(
self.signed_json('/api/username/'),
self.assert_slugs('/api/preview/', ['grandchild'])
self.assertEqual(
self.signed_json('/api/username/'),
self.assertEqual(
self.signed_json('/api/username/'),
{"username": "test", "premium": True})
self.assertEqual(
self.signed_json('/api/username/'),
{"username": "test", "premium": True})
with patch('django.core.files.storage.Storage.open',
return_value=BytesIO(b"<epub>")):
self.assertEqual(
self.signed('/api/epub/grandchild/').content,
b"<epub>")
with patch('django.core.files.storage.Storage.open',
return_value=BytesIO(b"<epub>")):
self.assertEqual(
self.signed('/api/epub/grandchild/').content,
b"<epub>")