diff options
Diffstat (limited to 'test/03-api/03-fields/files.janet')
| -rw-r--r-- | test/03-api/03-fields/files.janet | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/test/03-api/03-fields/files.janet b/test/03-api/03-fields/files.janet new file mode 100644 index 0000000..ea015d2 --- /dev/null +++ b/test/03-api/03-fields/files.janet @@ -0,0 +1,44 @@ +(use ../../../jurl) +(import spork/json) + +(def fone "file 1") +(def ftwo "file 2") + +# POST +(def one (->> "https://pie.dev/post" + (http :post) + # the way to do file uploads in post is with mime/multipart + (body [{:name "one" + :data fone + :filename "remote.file"} + {:name "two" + :data ftwo + :filename "other.remote"}]))) +(def two (->> one + # multipart mimes come as a bundle, so this overwrites + (body [{:name "one" + :data fone + :filename "remote.file"}]))) + +(def rone (one)) +(assert (= 200 (rone :status))) + +(def rtwo (two)) +(assert (= 200 (rtwo :status))) + +(def jone ((json/decode (rone :body) true) :files)) +(def jtwo ((json/decode (rtwo :body) true) :files)) + +(assert (= fone (jone :one))) +(assert (= ftwo (jone :two))) +(assert (= fone (jtwo :one))) +(assert (= :nothing (get jtwo :two :nothing))) + +# PUT +(def pst (->> "https://pie.dev/put" + (http :put) + (body-plain fone))) +(def rpst (pst)) +(assert (= 200 (rpst :status))) +(def jpst (json/decode (rpst :body) true)) +(assert (= fone (jpst :data))) |
