File tree Expand file tree Collapse file tree 2 files changed +32
-2
lines changed
test/ring/middleware/multipart_params/test Expand file tree Collapse file tree 2 files changed +32
-2
lines changed Original file line number Diff line number Diff line change 99 ring.middleware.multipart-params.temp-file/temp-file-store"
1010 (:require [ring.util.codec :refer [assoc-conj]]
1111 [ring.util.request :as req]
12+ [ring.util.response :as response]
1213 [ring.util.parsing :refer [re-charset]])
1314 (:import [org.apache.commons.fileupload UploadContext
1415 FileItemIterator
174175 (try
175176 (handler (multipart-params-request request options))
176177 (catch InvalidFileNameException e
177- { :status 400 :body (.getMessage e)} )))
178+ ( response/bad-request (.getMessage e)) )))
178179 ([request respond raise]
179180 (try
180181 (handler (multipart-params-request request options) respond raise)
181182 (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