mirror of
https://github.com/penpot/penpot.git
synced 2025-07-21 22:07:12 +02:00
test(backend): fix image create/upload test
This commit is contained in:
parent
af8d19ab60
commit
4291c80259
2 changed files with 39 additions and 30 deletions
|
@ -90,26 +90,31 @@
|
||||||
;; :opt-un [::us/id ::collection]))
|
;; :opt-un [::us/id ::collection]))
|
||||||
|
|
||||||
(defn create-image
|
(defn create-image
|
||||||
[{user :identity data :data}]
|
{:parameters {:multipart {:upload [st/required]
|
||||||
#_(let [{:keys [file id width height
|
:id [st/uuid-str]
|
||||||
mimetype collection]} (us/conform ::create-image data)
|
:width [st/required st/integer-str]
|
||||||
id (or id (uuid/random))
|
:height [st/required st/integer-str]
|
||||||
filename (fs/name file)
|
:mimetype [st/required st/string]
|
||||||
|
:collection [st/uuid-str]}}}
|
||||||
|
[{:keys [user parameters] :as ctx}]
|
||||||
|
(prn "create-image" (:body-params ctx) (:multipart-params ctx))
|
||||||
|
(let [params (get parameters :multipart)
|
||||||
|
upload (get params :upload)
|
||||||
|
filename (fs/name (:filename upload))
|
||||||
|
tempfile (:tempfile upload)
|
||||||
storage media/images-storage]
|
storage media/images-storage]
|
||||||
(letfn [(persist-image-entry [path]
|
(letfn [(persist-image-entry [path]
|
||||||
(sv/novelty {:id id
|
(let [message (select-keys params [:id :width :height :collection :mimetype])]
|
||||||
:type :create-image
|
(sv/novelty (assoc message
|
||||||
:user user
|
:id (or (:id params) (uuid/random))
|
||||||
:width width
|
:type :create-image
|
||||||
:height height
|
:name filename
|
||||||
:mimetype mimetype
|
:path (str path)
|
||||||
:collection collection
|
:user user))))
|
||||||
:name filename
|
|
||||||
:path (str path)}))
|
|
||||||
(create-response [entry]
|
(create-response [entry]
|
||||||
(let [loc (str "/api/library/images/" (:id entry))]
|
(let [loc (str "/api/library/images/" (:id entry))]
|
||||||
(http/created loc (rsp entry))))]
|
(http/created loc entry)))]
|
||||||
(->> (st/save storage filename file)
|
(->> (ds/save storage filename tempfile)
|
||||||
(p/mapcat persist-image-entry)
|
(p/mapcat persist-image-entry)
|
||||||
(p/map populate-thumbnails)
|
(p/map populate-thumbnails)
|
||||||
(p/map populate-urls)
|
(p/map populate-urls)
|
||||||
|
|
|
@ -72,20 +72,24 @@
|
||||||
result (sc/fetch conn sqlv)]
|
result (sc/fetch conn sqlv)]
|
||||||
(t/is (empty? result))))))))
|
(t/is (empty? result))))))))
|
||||||
|
|
||||||
;; ;; (t/deftest test-http-create-image
|
(t/deftest test-http-create-image
|
||||||
;; ;; (with-open [conn (db/connection)]
|
(with-open [conn (db/connection)]
|
||||||
;; ;; (let [user (th/create-user conn 1)]
|
(let [user (th/create-user conn 1)]
|
||||||
;; ;; (with-server {:handler (uft/routes)}
|
(th/with-server {:handler uapi/app}
|
||||||
;; ;; (let [uri (str th/+base-url+ "/api/library/images")
|
(let [uri (str th/+base-url+ "/api/library/images")
|
||||||
;; ;; params [{:name "sample.jpg"
|
parts [{:name "sample.jpg"
|
||||||
;; ;; :part-name "file"
|
:part-name "upload"
|
||||||
;; ;; :content (io/input-stream
|
:content (io/input-stream
|
||||||
;; ;; (io/resource "uxbox/tests/_files/sample.jpg"))}]
|
(io/resource "uxbox/tests/_files/sample.jpg"))}
|
||||||
;; ;; [status data] (th/http-multipart user uri params)]
|
{:part-name "user" :content (str (:id user))}
|
||||||
;; ;; ;; (println "RESPONSE:" status data)
|
{:part-name "width" :content "100"}
|
||||||
;; ;; (t/is (= 201 status))
|
{:part-name "height" :content "100"}
|
||||||
;; ;; (t/is (= (:user data) (:id user)))
|
{:part-name "mimetype" :content "image/png"}]
|
||||||
;; ;; (t/is (= (:name data) "sample.jpg")))))))
|
[status data] (th/http-multipart user uri parts)]
|
||||||
|
;; (println "RESPONSE:" status data)
|
||||||
|
(t/is (= 201 status))
|
||||||
|
(t/is (= (:user data) (:id user)))
|
||||||
|
(t/is (= (:name data) "sample.jpg")))))))
|
||||||
|
|
||||||
(t/deftest test-http-update-image
|
(t/deftest test-http-update-image
|
||||||
(with-open [conn (db/connection)]
|
(with-open [conn (db/connection)]
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue