Completed
Push — master ( 2c9b9e...f52de9 )
by Johannes
01:02
created

  A

Complexity

Total Complexity 12

Size/Duplication

Total Lines 33
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
wmc 12
dl 0
loc 33
rs 10
c 0
b 0
f 0

6 Methods

Rating   Name   Duplication   Size   Complexity  
A estUploadTo.test_name_pattern() 0 7 2
A estUploadTo.test_file_name_kwargs() 0 4 2
A estUploadTo.test_file_name_no_ext() 0 3 2
A estUploadTo.test_file_name() 0 3 2
A estUploadTo.test_file_name_lower() 0 3 2
A estUploadTo.test_path_pattern() 0 7 2
1
import os
2
3
import pytest
4
from PIL import Image
5
6
from stdimage.utils import UploadTo, render_variations
7
from tests.models import ManualVariationsModel
8
from tests.test_models import IMG_DIR
9
10
11
@pytest.mark.django_db
12
class TestRenderVariations(object):
13
    def test_render_variations(self, image_upload_file):
14
        instance = ManualVariationsModel.customer_manager.create(
15
            image=image_upload_file
16
        )
17
        path = os.path.join(IMG_DIR, 'image.thumbnail.jpg')
18
        assert not os.path.exists(path)
19
        render_variations(
20
            file_name=instance.image.name,
21
            variations={
22
                'thumbnail': {
23
                    'name': 'thumbnail',
24
                    'width': 150,
25
                    'height': 150,
26
                    'crop': True,
27
                    'resample': Image.ANTIALIAS
28
                }
29
            }
30
        )
31
        assert os.path.exists(path)
32
33
34
class TestUploadTo(object):
35
    def test_file_name(self):
36
        file_name = UploadTo()(object(), '/path/to/file.jpeg')
37
        assert file_name == '/path/to/file.jpeg'
38
39
    def test_file_name_lower(self):
40
        file_name = UploadTo()(object(), '/path/To/File.JPEG')
41
        assert file_name == '/path/to/file.jpeg'
42
43
    def test_file_name_no_ext(self):
44
        file_name = UploadTo()(object(), '/path/to/file')
45
        assert file_name == '/path/to/file'
46
47
    def test_file_name_kwargs(self):
48
        file_name = UploadTo(path='/foo', name='bar', ext='.BAZ')(
49
            object(), '/path/to/file')
50
        assert file_name == '/foo/bar.baz'
51
52
    def test_path_pattern(self):
53
        class U2(UploadTo):
54
            path_pattern = '/foo'
55
56
        file_name = U2()(
57
            object(), '/path/to/file.jpeg')
58
        assert file_name == '/foo/file.jpeg'
59
60
    def test_name_pattern(self):
61
        class U2(UploadTo):
62
            file_pattern = ".%(name)s%(ext)s"
63
64
        file_name = U2()(
65
            object(), '/path/to/file.jpeg')
66
        assert file_name == '/path/to/.file.jpeg'
67