X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/4298f7948e8963176debf5877fce30c49ae4e3ad..3596cf9db6eabb5f0aa36afe7919bc40e8ff0b9a:/src/catalogue/tests/test_bookmedia.py diff --git a/src/catalogue/tests/test_bookmedia.py b/src/catalogue/tests/test_bookmedia.py index 263e48d9a..795282634 100644 --- a/src/catalogue/tests/test_bookmedia.py +++ b/src/catalogue/tests/test_bookmedia.py @@ -1,11 +1,10 @@ -# -*- coding: utf-8 -*- # This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later. # Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information. # from os.path import basename, exists from unittest import skip -from django.core.files.base import ContentFile +from django.core.files.base import ContentFile, File from catalogue.test_utils import * from catalogue import models, utils @@ -15,31 +14,16 @@ class BookMediaTests(WLTestCase): def setUp(self): WLTestCase.setUp(self) - self.file = ContentFile('X') - self.file2 = ContentFile('Y') + self.file = ContentFile(b'X') + self.file2 = ContentFile(b'Y') self.book = models.Book.objects.create(slug='test-book', title='Test') + with open(join(dirname(__file__), "files/fraszka-do-anusie.xml")) as f: + self.book.xml_file.save(None, File(f)) def set_title(self, title): self.book.title = title self.book.save() - def test_diacritics(self): - bm = models.BookMedia(book=self.book, type="ogg", name=u"Zażółć gęślą jaźń") - self.set_title(bm.name) - bm.file.save(None, self.file) - self.assertEqual(basename(bm.file.name), 'zazolc-gesla-jazn.ogg') - - def test_long_name(self): - bm = models.BookMedia( - book=self.book, type="ogg", - name="Some very very very very very very very very very very very very very very very very long file name") - self.set_title(bm.name) - bm.file.save(bm.name, self.file) - - # reload to see what was really saved - bm = models.BookMedia.objects.get(pk=bm.pk) - self.assertEqual(bm.file.size, 1) - def test_overwrite(self): """ File gets overwritten with same filename on update. @@ -50,57 +34,8 @@ class BookMediaTests(WLTestCase): bm.file.save(None, self.file) bm.file.save(None, self.file2) - self.assertEqual(bm.file.read(), 'Y') - self.assertEqual(basename(bm.file.name), 'some-media.ogg') - - @skip('broken, but is it needed?') - def test_no_clobber(self): - """ - File save doesn't clobber some other media with similar name. - """ - - bm = models.BookMedia(book=self.book, type='ogg', name=u"Tytul") - self.set_title(bm.name) - bm.file.save(None, self.file) - bm2 = models.BookMedia(book=self.book, type='ogg', name=u"Tytuł") - self.set_title(bm2.name) - bm2.file.save(None, self.file2) - self.assertEqual(basename(bm.file.name), 'tytul.ogg') - self.assertNotEqual(basename(bm2.file.name), 'tytul.ogg') - self.assertEqual(bm.file.read(), 'X') - self.assertEqual(bm2.file.read(), 'Y') - - def test_change_name(self): - """ - File name reflects name change. - """ - - bm = models.BookMedia(book=self.book, type='ogg', name="Title") - self.set_title(bm.name) - bm.file.save(None, self.file) - self.set_title("Other Title") - bm.save() - self.assertEqual(basename(bm.file.name), 'other-title.ogg') - self.assertEqual(bm.file.read(), 'X') - - @skip('broken, but is it needed?') - def test_change_name_no_clobber(self): - """ - File name after change won't clobber some other file - with similar name. - """ - - bm = models.BookMedia(book=self.book, type='ogg', name="Title") - self.set_title(bm.name) - bm.file.save(None, self.file) - bm2 = models.BookMedia(book=self.book, type='ogg', name="Other title") - self.set_title(bm2.name) - bm2.file.save(None, self.file2) - self.set_title("Title") - bm2.save() - self.assertNotEqual(basename(bm2.file.name), 'title.ogg') - self.assertEqual(bm.file.read(), 'X') - self.assertEqual(bm2.file.read(), 'Y') + self.assertEqual(bm.file.read(), b'Y') + self.assertEqual(basename(bm.file.name), 'test-book.ogg') def test_zip_audiobooks(self): paths = [