33from contextlib import contextmanager
44
55import pytest
6- from django .core .files .storage import default_storage
76from django .forms import ClearableFileInput
87from selenium .common .exceptions import NoSuchElementException
98from selenium .webdriver .support .expected_conditions import staleness_of
109from selenium .webdriver .support .wait import WebDriverWait
1110
11+ from s3file .storages import storage
1212from tests .testapp .forms import UploadForm
1313
1414try :
@@ -35,11 +35,14 @@ def url(self):
3535 @pytest .fixture
3636 def freeze (self , monkeypatch ):
3737 """Freeze datetime and UUID."""
38- monkeypatch .setattr ('s3file.forms.S3FileInputMixin.upload_folder' , 'tmp' )
38+ monkeypatch .setattr (
39+ 's3file.forms.S3FileInputMixin.upload_folder' ,
40+ os .path .join (storage .location , 'tmp' ),
41+ )
3942
4043 def test_value_from_datadict (self , client , upload_file ):
4144 with open (upload_file ) as f :
42- uploaded_file = default_storage .save ('test.jpg' , f )
45+ uploaded_file = storage .save ('test.jpg' , f )
4346 response = client .post (reverse ('upload' ), {
4447 'file' : json .dumps ([uploaded_file ]),
4548 's3file' : '["file"]' ,
@@ -96,7 +99,7 @@ def test_get_conditions(self, freeze):
9699 assert all (condition in conditions for condition in [
97100 {"bucket" : 'test-bucket' },
98101 {"success_action_status" : "201" },
99- ['starts-with' , '$key' , 'tmp' ],
102+ ['starts-with' , '$key' , 'custom/location/ tmp' ],
100103 ["starts-with" , "$Content-Type" , "" ]
101104 ]), conditions
102105
@@ -139,7 +142,7 @@ def test_file_insert(self, request, driver, live_server, upload_file, freeze):
139142 assert file_input .get_attribute ('name' ) == 'file'
140143 with wait_for_page_load (driver , timeout = 10 ):
141144 file_input .submit ()
142- assert default_storage .exists ('tmp/%s.txt' % request .node .name )
145+ assert storage .exists ('tmp/%s.txt' % request .node .name )
143146
144147 with pytest .raises (NoSuchElementException ):
145148 error = driver .find_element_by_xpath ('//body[@JSError]' )
@@ -208,5 +211,7 @@ def test_media(self):
208211 assert ClearableFileInput ().media ._js == ['s3file/js/s3file.js' ]
209212
210213 def test_upload_folder (self ):
211- assert ClearableFileInput ().upload_folder .startswith ('tmp/s3file/' )
212- assert len (ClearableFileInput ().upload_folder ) == 33
214+ assert ClearableFileInput ().upload_folder .startswith (
215+ 'custom/location/tmp/s3file/'
216+ )
217+ assert len (ClearableFileInput ().upload_folder ) == 49
0 commit comments