class InternalAttachmentTestCase(TestCase): def setUp(self): self.fake_oembed_site() rand_image = random_image(models.FileField()) self.attachment = InternalAttachment(file=rand_image) self.attachment.save() def test_oembed_creation(self): self.assertTrue(self.attachment.is_oembed_valid()) self.assertEqual(self.attachment.oembed, self.attachment.get_oembed_url()) self.assertEqual(self.attachment.get_oembed_url(), 'http://{domain}/attachments/file/{slug}/'.format( domain='localhost:8000', slug=self.attachment.slug)) def test_metadata(self): self.assertEqual(self.attachment.title, self.attachment.file.filename) self.assertEqual(self.attachment.metadata['url'], self.attachment.oembed) self.assertEqual(self.attachment.type, 'photo') self.assertEqual(self.attachment.author, settings.ATTACHMENTS['author_name']) self.assertEqual(self.attachment.author_url, settings.ATTACHMENTS['author_url']) self.assertTrue('img' in self.attachment.html) def tearDown(self): self.attachment.file.delete() self.attachment.delete()
class AttachmentDetailTestCase(TestCase): def setUp(self): self.client = Client() self.fake_oembed_site() rand_image = random_image(models.FileField()) self.internal = InternalAttachment(file=rand_image) self.internal.save() external = 'http://youtu.be/-auzpsG_aVI' self.external = ExternalAttachment(oembed=external) self.external.save() self.responses = { self.internal: self.client.get( self.internal.get_absolute_url(), follow=True), self.external: self.client.get( self.external.get_absolute_url(), follow=True), } def test_status(self): for response in self.responses.values(): self.assertEqual(response.status_code, 200) def test_template(self): for response in self.responses.values(): self.assertTemplateUsed(response, 'attachments/attachment_detail.yammy') def test_context(self): for attachment, response in self.responses.items(): self.assertEqual(response.context['attachment'], attachment)
def rename_attachment_file(sender, **kwargs): old_file = FileObject(kwargs['path']) new_file = FileObject(path.join(path.dirname(old_file.path), kwargs['new_name'])) try: attachment = InternalAttachment.objects.get(file=old_file) except InternalAttachment.DoesNotExist: attachment = InternalAttachment(file=new_file) else: attachment.file = new_file attachment.save()
def test_rename_signal(self): new_name = 'some_other_name' attachment = InternalAttachment(file=self.filename) attachment.save() signals.filebrowser_post_rename.send( sender=None, path=self.file_obj.path, name=self.file_obj.filename, new_name=new_name) attachments = InternalAttachment.objects.all() self.assertEqual(attachments.count(), 1) self.assertEqual(attachments[0].file.filename, new_name)
def create_attachment(sender, **kwargs): fileobj = kwargs['file'] if InternalAttachment.objects.filter(file=fileobj).count() == 0: attachment = InternalAttachment(file=fileobj) attachment.save()