def test_metaimage_model(self): """ Test fetching and saving a remote image as a new MetaImage instance. In lieu of multiple tests with multiple network requests, I'm consolidating several tests of the MetaImage model into this single testcase. MetaImage wraps around photologue.ImageModel, which wraps around Django's ImageField; this simple test actually hits a lot of layers. """ test_metaimage = MetaImage( title='Django logo', source_url=self.remote_img_url, source_note='The logo of the Django project.', creator=self.foo, ) test_metaimage.save() the_metaimage = MetaImage.objects.get(slug='django-logo') assert the_metaimage.image is not None # Image was downloaded OK. assert the_metaimage.is_public assert the_metaimage.updater == self.foo assert the_metaimage.slug == 'django-logo' assert ( the_metaimage.image.name == 'photologue/photos/media.djangoproject.com_img_site_hdr_logo.gif') assert ( the_metaimage.render() == '<img src="photologue/photos/cache/media.djangoproject.com_img_site_hdr_logo_width500.gif" height="41" width="117" alt="Django logo">' ) # As of Django 1.2.5, the image file is NOT removed when the # database object is deleted. the_metaimage.delete()
def test_metaimage_model(self): """ Test fetching and saving a remote image as a new MetaImage instance. In lieu of multiple tests with multiple network requests, I'm consolidating several tests of the MetaImage model into this single testcase. MetaImage wraps around photologue.ImageModel, which wraps around Django's ImageField; this simple test actually hits a lot of layers. """ test_metaimage = MetaImage( title='Django logo', source_url=self.remote_img_url, source_note='The logo of the Django project.', creator=self.foo, ) test_metaimage.save() the_metaimage = MetaImage.objects.get(slug='django-logo') assert the_metaimage.image is not None # Image was downloaded OK. assert the_metaimage.is_public assert the_metaimage.updater == self.foo assert the_metaimage.slug == 'django-logo' assert (the_metaimage.image.name == 'photologue/photos/media.djangoproject.com_img_site_hdr_logo.gif') assert (the_metaimage.render() == '<img src="photologue/photos/cache/media.djangoproject.com_img_site_hdr_logo_width500.gif" height="41" width="117" alt="Django logo">') # As of Django 1.2.5, the image file is NOT removed when the # database object is deleted. the_metaimage.delete()
def setUp(self): self.client = Client() self.foo = User.objects.create_user('foo', '*****@*****.**', 'bar') self.client.login(username='******', password='******') self.remote_img_url = 'http://www.google.com/images/nav_logo36.png' test_metaimage = MetaImage( title='Google small logo', source_url=self.remote_img_url, source_note='The Google logo, for testing.', creator=self.foo, ) test_metaimage.save() self.test_image = test_metaimage