@@ -30,14 +30,32 @@ def test_process_request(self, rf):
30
30
request = rf .post (
31
31
"/" ,
32
32
data = {
33
- "file" : '[ "custom/location/tmp/s3file/s3_file.txt"]' ,
34
- "s3file" : '[ "file"]' ,
33
+ "file" : "custom/location/tmp/s3file/s3_file.txt" ,
34
+ "s3file" : "file" ,
35
35
},
36
36
)
37
37
S3FileMiddleware (lambda x : None )(request )
38
38
assert request .FILES .getlist ("file" )
39
39
assert request .FILES .get ("file" ).read () == b"s3file"
40
40
41
+ def test_process_request__multiple_files (self , rf ):
42
+ storage .save ("tmp/s3file/s3_file.txt" , ContentFile (b"s3file" ))
43
+ storage .save ("tmp/s3file/s3_other_file.txt" , ContentFile (b"other s3file" ))
44
+ request = rf .post (
45
+ "/" ,
46
+ data = {
47
+ "file" : [
48
+ "custom/location/tmp/s3file/s3_file.txt" ,
49
+ "custom/location/tmp/s3file/s3_other_file.txt" ,
50
+ ],
51
+ "s3file" : ["file" , "other_file" ],
52
+ },
53
+ )
54
+ S3FileMiddleware (lambda x : None )(request )
55
+ files = request .FILES .getlist ("file" )
56
+ assert files [0 ].read () == b"s3file"
57
+ assert files [1 ].read () == b"other s3file"
58
+
41
59
def test_process_request__no_location (self , rf , settings ):
42
60
settings .AWS_LOCATION = ""
43
61
uploaded_file = SimpleUploadedFile ("uploaded_file.txt" , b"uploaded" )
@@ -48,16 +66,14 @@ def test_process_request__no_location(self, rf, settings):
48
66
49
67
storage .save ("tmp/s3file/s3_file.txt" , ContentFile (b"s3file" ))
50
68
request = rf .post (
51
- "/" , data = {"file" : '[ "tmp/s3file/s3_file.txt"]' , "s3file" : '[ "file"]' }
69
+ "/" , data = {"file" : "tmp/s3file/s3_file.txt" , "s3file" : "file" }
52
70
)
53
71
S3FileMiddleware (lambda x : None )(request )
54
72
assert request .FILES .getlist ("file" )
55
73
assert request .FILES .get ("file" ).read () == b"s3file"
56
74
57
75
def test_process_request__no_file (self , rf , caplog ):
58
- request = rf .post (
59
- "/" , data = {"file" : '["does_not_exist.txt"]' , "s3file" : '["file"]' }
60
- )
76
+ request = rf .post ("/" , data = {"file" : "does_not_exist.txt" , "s3file" : "file" })
61
77
S3FileMiddleware (lambda x : None )(request )
62
78
assert not request .FILES .getlist ("file" )
63
79
assert "File not found: does_not_exist.txt" in caplog .text
0 commit comments