Completed
Push — master ( 646ecf...07a97f )
by
unknown
48s
created

OverloadTestStorageMixin.setUp()   A

Complexity

Conditions 1

Size

Total Lines 6

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
c 1
b 0
f 0
dl 0
loc 6
rs 9.4285
1
from django.core.files.storage import DefaultStorage
2
3
4
class OverloadTestStorageMixin(object):
5
    """Mixin allows to overload FileField's storage.
6
7
    It can be useful when we use custom storages.
8
    For using setup the model attribute.
9
    """
10
    # ToDo: Add ability to work with models with more than 1 FileFields
11
12
    storage_class = DefaultStorage
13
    field_name = 'file'
14
15
    def setUp(self):
16
        self._file_field = self.model._meta.get_field_by_name(self.field_name)[0]
17
        self._default_storage = self._file_field.storage
18
        test_storage = self.storage_class()
19
        self._file_field.storage = test_storage
20
        super(OverloadTestStorageMixin, self).setUp()
21
22
    def tearDown(self):
23
        self._file_field.storage = self._default_storage
24
        super(OverloadTestStorageMixin, self).tearDown()
25