| Total Complexity | 2 |
| Total Lines | 21 |
| Duplicated Lines | 0 % |
| Changes | 1 | ||
| Bugs | 0 | Features | 0 |
| 1 | from django.core.files.storage import DefaultStorage |
||
| 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 |