diff options
Diffstat (limited to 'mediagoblin/tests/test_modelmethods.py')
-rw-r--r-- | mediagoblin/tests/test_modelmethods.py | 98 |
1 files changed, 59 insertions, 39 deletions
diff --git a/mediagoblin/tests/test_modelmethods.py b/mediagoblin/tests/test_modelmethods.py index 7719bd97..427aa47c 100644 --- a/mediagoblin/tests/test_modelmethods.py +++ b/mediagoblin/tests/test_modelmethods.py @@ -17,13 +17,10 @@ # Maybe not every model needs a test, but some models have special # methods, and so it makes sense to test them here. -from nose.tools import assert_equal - from mediagoblin.db.base import Session from mediagoblin.db.models import MediaEntry -from mediagoblin.tests.tools import get_app, \ - fixture_add_user +from mediagoblin.tests.tools import fixture_add_user import mock @@ -35,8 +32,7 @@ UUID_MOCK = mock.Mock(return_value=FakeUUID()) class TestMediaEntrySlugs(object): - def setUp(self): - self.test_app = get_app(dump_old_app=True) + def _setup(self): self.chris_user = fixture_add_user(u'chris') self.emily_user = fixture_add_user(u'emily') self.existing_entry = self._insert_media_entry_fixture( @@ -57,56 +53,78 @@ class TestMediaEntrySlugs(object): return entry - def test_unique_slug_from_title(self): + def test_unique_slug_from_title(self, test_app): + self._setup() + entry = self._insert_media_entry_fixture(u"Totally unique slug!", save=False) entry.generate_slug() assert entry.slug == u'totally-unique-slug' - def test_old_good_unique_slug(self): + def test_old_good_unique_slug(self, test_app): + self._setup() + entry = self._insert_media_entry_fixture( u"A title here", u"a-different-slug-there", save=False) entry.generate_slug() assert entry.slug == u"a-different-slug-there" - def test_old_weird_slug(self): + def test_old_weird_slug(self, test_app): + self._setup() + entry = self._insert_media_entry_fixture( slug=u"wowee!!!!!", save=False) entry.generate_slug() assert entry.slug == u"wowee" - def test_existing_slug_use_id(self): - entry = self._insert_media_entry_fixture( - u"Beware, I exist!!", this_id=9000, save=False) - entry.generate_slug() - assert entry.slug == u"beware-i-exist-9000" - - @mock.patch('uuid.uuid4', UUID_MOCK) - def test_existing_slug_cant_use_id(self): - # This one grabs the nine thousand slug - self._insert_media_entry_fixture( - slug=u"beware-i-exist-9000") + def test_existing_slug_use_id(self, test_app): + self._setup() entry = self._insert_media_entry_fixture( u"Beware, I exist!!", this_id=9000, save=False) entry.generate_slug() - assert entry.slug == u"beware-i-exist-test" - - @mock.patch('uuid.uuid4', UUID_MOCK) - def test_existing_slug_cant_use_id_extra_junk(self): - # This one grabs the nine thousand slug - self._insert_media_entry_fixture( - slug=u"beware-i-exist-9000") - - # This one grabs makes sure the annoyance doesn't stop - self._insert_media_entry_fixture( - slug=u"beware-i-exist-test") - - entry = self._insert_media_entry_fixture( - u"Beware, I exist!!", this_id=9000, save=False) - entry.generate_slug() - assert entry.slug == u"beware-i-exist-testtest" + assert entry.slug == u"beware-i-exist-9000" - def test_garbage_slug(self): + def test_existing_slug_cant_use_id(self, test_app): + self._setup() + + # Getting tired of dealing with test_app and this mock.patch + # thing conflicting, getting lazy. + @mock.patch('uuid.uuid4', UUID_MOCK) + def _real_test(): + # This one grabs the nine thousand slug + self._insert_media_entry_fixture( + slug=u"beware-i-exist-9000") + + entry = self._insert_media_entry_fixture( + u"Beware, I exist!!", this_id=9000, save=False) + entry.generate_slug() + assert entry.slug == u"beware-i-exist-test" + + _real_test() + + def test_existing_slug_cant_use_id_extra_junk(self, test_app): + self._setup() + + # Getting tired of dealing with test_app and this mock.patch + # thing conflicting, getting lazy. + @mock.patch('uuid.uuid4', UUID_MOCK) + def _real_test(): + # This one grabs the nine thousand slug + self._insert_media_entry_fixture( + slug=u"beware-i-exist-9000") + + # This one grabs makes sure the annoyance doesn't stop + self._insert_media_entry_fixture( + slug=u"beware-i-exist-test") + + entry = self._insert_media_entry_fixture( + u"Beware, I exist!!", this_id=9000, save=False) + entry.generate_slug() + assert entry.slug == u"beware-i-exist-testtest" + + _real_test() + + def test_garbage_slug(self, test_app): """ Titles that sound totally like Q*Bert shouldn't have slugs at all. We'll just reference them by id. @@ -126,13 +144,15 @@ class TestMediaEntrySlugs(object): | |#| |#| |#| |#| \|/ \|/ \|/ \|/ """ + self._setup() + qbert_entry = self._insert_media_entry_fixture( u"@!#?@!", save=False) qbert_entry.generate_slug() assert qbert_entry.slug is None -def test_media_data_init(): +def test_media_data_init(test_app): Session.rollback() Session.remove() media = MediaEntry() @@ -144,4 +164,4 @@ def test_media_data_init(): for obj in Session(): obj_in_session += 1 print repr(obj) - assert_equal(obj_in_session, 0) + assert obj_in_session == 0 |