X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/6d42bc478e3d1bd90eb294464748c21e4de0fc63..2c101e78aee8cd3ccf3f24a0ecaa22fa77593c5c:/src/catalogue/tests/test_bookmedia.py diff --git a/src/catalogue/tests/test_bookmedia.py b/src/catalogue/tests/test_bookmedia.py index 6bc6aa32c..c2a5e0a9a 100644 --- a/src/catalogue/tests/test_bookmedia.py +++ b/src/catalogue/tests/test_bookmedia.py @@ -1,10 +1,10 @@ -# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later. -# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information. +# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later. +# Copyright © Fundacja Wolne Lektury. 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 @@ -17,28 +17,13 @@ class BookMediaTests(WLTestCase): 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="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,56 +35,7 @@ class BookMediaTests(WLTestCase): bm.file.save(None, self.file2) self.assertEqual(bm.file.read(), b'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="Tytul") - self.set_title(bm.name) - bm.file.save(None, self.file) - bm2 = models.BookMedia(book=self.book, type='ogg', name="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(), b'X') - self.assertEqual(bm2.file.read(), b'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(), b'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(), b'X') - self.assertEqual(bm2.file.read(), b'Y') + self.assertEqual(basename(bm.file.name), 'test-book.ogg') def test_zip_audiobooks(self): paths = [