kopia lustrzana https://github.com/jedie/PyInventory
41 wiersze
1.1 KiB
Python
41 wiersze
1.1 KiB
Python
import tempfile
|
|
|
|
from django.contrib.auth.models import User
|
|
from model_bakery import baker
|
|
from PIL import Image
|
|
|
|
from inventory.permissions import get_or_create_normal_user_group
|
|
|
|
|
|
def get_normal_user():
|
|
user = baker.make(
|
|
User,
|
|
id=1,
|
|
username='NormalUser',
|
|
is_staff=True,
|
|
is_active=True,
|
|
is_superuser=False,
|
|
)
|
|
assert user.user_permissions.count() == 0
|
|
group = get_or_create_normal_user_group()[0]
|
|
user.groups.set([group])
|
|
user.full_clean()
|
|
return user
|
|
|
|
|
|
class TempImageFile:
|
|
def __init__(self, prefix='test_image', format='png', size=(1, 1)):
|
|
self.format = format
|
|
self.image_size = size
|
|
self.temp = tempfile.NamedTemporaryFile(prefix=prefix, suffix=f'.{format}')
|
|
|
|
def __enter__(self):
|
|
self.temp_file = self.temp.__enter__()
|
|
pil_image = Image.new('RGB', self.image_size)
|
|
pil_image.save(self.temp_file, format=self.format)
|
|
self.temp_file.seek(0)
|
|
return self.temp_file
|
|
|
|
def __exit__(self, exc_type, exc_val, exc_tb):
|
|
self.temp_file.__exit__(exc_type, exc_val, exc_tb)
|