mirror of
https://github.com/netbox-community/netbox.git
synced 2025-09-06 14:23:36 -06:00
Add test
This commit is contained in:
parent
8fd8493d11
commit
ef7880a013
@ -1,6 +1,8 @@
|
|||||||
import datetime
|
import datetime
|
||||||
|
|
||||||
|
from PIL import Image
|
||||||
from django.contrib.contenttypes.models import ContentType
|
from django.contrib.contenttypes.models import ContentType
|
||||||
|
from django.core.files.base import File
|
||||||
from django.urls import reverse
|
from django.urls import reverse
|
||||||
from django.utils.timezone import make_aware, now
|
from django.utils.timezone import make_aware, now
|
||||||
from rest_framework import status
|
from rest_framework import status
|
||||||
@ -616,6 +618,38 @@ class ImageAttachmentTest(
|
|||||||
)
|
)
|
||||||
ImageAttachment.objects.bulk_create(image_attachments)
|
ImageAttachment.objects.bulk_create(image_attachments)
|
||||||
|
|
||||||
|
def test_image_download(self):
|
||||||
|
self.add_permissions('extras.view_imageattachment')
|
||||||
|
ct = ContentType.objects.get_for_model(Site)
|
||||||
|
site = Site.objects.get(name='Site 1', slug='site-1')
|
||||||
|
|
||||||
|
image = Image.new('RGB', size=(1, 1), color=(255, 0, 0))
|
||||||
|
image.save('test_image_download.png', format='PNG')
|
||||||
|
image_file = File(open('test_image_download.png', 'rb'))
|
||||||
|
content = image_file.read()
|
||||||
|
|
||||||
|
attachment = ImageAttachment(
|
||||||
|
object_type=ct,
|
||||||
|
object_id=site.pk,
|
||||||
|
name='Image Attachment 4',
|
||||||
|
image_height=1,
|
||||||
|
image_width=1
|
||||||
|
)
|
||||||
|
attachment.image.save('test_image_download.png', image_file, save=True)
|
||||||
|
attachment.save()
|
||||||
|
|
||||||
|
image = ImageAttachment.objects.get(name='Image Attachment 4')
|
||||||
|
url = reverse('extras-api:imageattachment-download', kwargs={'pk': image.pk})
|
||||||
|
response = self.client.get(url, **self.header)
|
||||||
|
downloaded_content = b''.join(response.streaming_content)
|
||||||
|
|
||||||
|
self.assertEqual(response.headers.get('Content-Type'), 'image/png')
|
||||||
|
self.assertEqual(response.headers.get('Content-Length'), '69')
|
||||||
|
self.assertEqual(
|
||||||
|
response.headers.get('Content-Disposition'), f'inline; filename="site_{site.pk}_Image_Attachment_4.png"'
|
||||||
|
)
|
||||||
|
self.assertEqual(content, downloaded_content)
|
||||||
|
|
||||||
|
|
||||||
class JournalEntryTest(APIViewTestCases.APIViewTestCase):
|
class JournalEntryTest(APIViewTestCases.APIViewTestCase):
|
||||||
model = JournalEntry
|
model = JournalEntry
|
||||||
|
Loading…
Reference in New Issue
Block a user