Esempio n. 1
0
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)
Esempio n. 2
0
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()
Esempio n. 3
0
 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)
Esempio n. 4
0
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()
Esempio n. 5
0
    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),
                }
Esempio n. 6
0
def create_attachment(sender, **kwargs):
    fileobj = kwargs['file']
    if InternalAttachment.objects.filter(file=fileobj).count() == 0:
        attachment = InternalAttachment(file=fileobj)
        attachment.save()
Esempio n. 7
0
 def test_delete_signal(self):
     attachment = InternalAttachment(file=self.filename)
     signals.filebrowser_pre_delete.send(
             sender=None, path=self.file_obj.path, 
             name=self.file_obj.filename)
     self.assertEqual(InternalAttachment.objects.count(), 0)
Esempio n. 8
0
 def setUp(self):
     self.fake_oembed_site()
     rand_image = random_image(models.FileField())
     self.attachment = InternalAttachment(file=rand_image)
     self.attachment.save()