File tree 2 files changed +32
-2
lines changed
test/ring/middleware/multipart_params/test
2 files changed +32
-2
lines changed Original file line number Diff line number Diff line change 9
9
ring.middleware.multipart-params.temp-file/temp-file-store"
10
10
(:require [ring.util.codec :refer [assoc-conj]]
11
11
[ring.util.request :as req]
12
+ [ring.util.response :as response]
12
13
[ring.util.parsing :refer [re-charset]])
13
14
(:import [org.apache.commons.fileupload UploadContext
14
15
FileItemIterator
174
175
(try
175
176
(handler (multipart-params-request request options))
176
177
(catch InvalidFileNameException e
177
- { :status 400 :body (.getMessage e)} )))
178
+ ( response/bad-request (.getMessage e)) )))
178
179
([request respond raise]
179
180
(try
180
181
(handler (multipart-params-request request options) respond raise)
181
182
(catch InvalidFileNameException e
182
- {:status 400 :body (.getMessage e)}))))))
183
+ (handler request
184
+ (fn [_] (respond (response/bad-request (.getMessage e))))
185
+ raise)))))))
Original file line number Diff line number Diff line change
1
+ (ns ring.middleware.multipart-params.test.multipart-params
2
+ (:require [clojure.test :refer :all ]
3
+ [ring.middleware.multipart-params :refer :all ]
4
+ [ring.util.response :as response])
5
+ (:import org.apache.commons.fileupload.InvalidFileNameException))
6
+
7
+ (deftest wrap-multipart-params-error-test
8
+ (let [invalid-file-name " foo\\ 0.bar"
9
+ error-msg (str " Invalid file name: " invalid-file-name)]
10
+ (with-redefs [multipart-params-request
11
+ (fn [& _]
12
+ (throw (InvalidFileNameException.
13
+ invalid-file-name
14
+ error-msg)))]
15
+ (testing " Synchronous error response"
16
+ (let [handler (wrap-multipart-params (constantly (response/response " Ok" )))]
17
+ (is (= (response/bad-request error-msg)
18
+ (handler {:uri " /foo/bar" })))))
19
+ (testing " Asynchronous error response"
20
+ (let [handler (wrap-multipart-params (fn [_ respond _]
21
+ (respond (response/response " Ok" ))))
22
+ response (promise )
23
+ exception (promise )]
24
+ (handler {:uri " /foo/bar" } response exception)
25
+ (is (= (response/bad-request error-msg)
26
+ (deref response 2000 :timed-out )))
27
+ (is (not (realized? exception))))))))
You can’t perform that action at this time.
0 commit comments