1 from django.conf import settings
2 from django.test import TestCase
5 from slughifi import slughifi
7 class WLTestCase(TestCase):
9 Generic base class for tests. Adds settings freeze and clears MEDIA_ROOT.
12 self._MEDIA_ROOT, settings.MEDIA_ROOT = settings.MEDIA_ROOT, tempfile.mkdtemp(prefix='djangotest_')
13 settings.NO_BUILD_PDF = settings.NO_BUILD_EPUB = settings.NO_BUILD_TXT = True
16 shutil.rmtree(settings.MEDIA_ROOT, True)
17 settings.MEDIA_ROOT = self._MEDIA_ROOT
19 class PersonStub(object):
21 def __init__(self, first_names, last_name):
22 self.first_names = first_names
23 self.last_name = last_name
26 class BookInfoStub(object):
28 def __init__(self, **kwargs):
31 def __setattr__(self, key, value):
32 if not key.startswith('_'):
33 self.__dict[key] = value
34 return object.__setattr__(self, key, value)
36 def __getattr__(self, key):
37 return self.__dict[key]
40 return dict((key, unicode(value)) for key, value in self.__dict.items())
44 """ generate some keywords for comfortable BookInfoCreation """
45 slug = unicode(slughifi(title))
47 'title': unicode(title),
49 'url': u"http://wolnelektury.pl/example/%s" % slug,
50 'about': u"http://wolnelektury.pl/example/URI/%s" % slug,