mirror of
https://github.com/penpot/penpot.git
synced 2025-01-10 08:50:57 -05:00
53 lines
1.9 KiB
Clojure
53 lines
1.9 KiB
Clojure
(ns uxbox.tests.test-auth
|
|
(:require [clojure.test :as t]
|
|
[promesa.core :as p]
|
|
[clj-http.client :as http]
|
|
[catacumba.testing :refer (with-server)]
|
|
[buddy.hashers :as hashers]
|
|
[uxbox.db :as db]
|
|
[uxbox.frontend :as uft]
|
|
[uxbox.services.users :as usu]
|
|
[uxbox.services :as usv]
|
|
[uxbox.tests.helpers :as th]))
|
|
|
|
(t/use-fixtures :each th/database-reset)
|
|
|
|
(t/deftest test-http-success-auth
|
|
(let [data {:username "user1"
|
|
:fullname "user 1"
|
|
:metadata "1"
|
|
:password "user1"
|
|
:email "user1@uxbox.io"}
|
|
user (with-open [conn (db/connection)]
|
|
(usu/create-user conn data))]
|
|
(with-server {:handler (uft/routes)}
|
|
(let [data {:username "user1"
|
|
:password "user1"
|
|
:metadata "1"
|
|
:scope "foobar"}
|
|
uri (str th/+base-url+ "/api/auth/token")
|
|
[status data] (th/http-post uri {:body data})]
|
|
;; (println "RESPONSE:" status data)
|
|
(t/is (= status 200))
|
|
(t/is (contains? data :token))))))
|
|
|
|
(t/deftest test-http-failed-auth
|
|
(let [data {:username "user1"
|
|
:fullname "user 1"
|
|
:metadata "1"
|
|
:password (hashers/encrypt "user1")
|
|
:email "user1@uxbox.io"}
|
|
user (with-open [conn (db/connection)]
|
|
(usu/create-user conn data))]
|
|
(with-server {:handler (uft/routes)}
|
|
(let [data {:username "user1"
|
|
:password "user2"
|
|
:metadata "2"
|
|
:scope "foobar"}
|
|
uri (str th/+base-url+ "/api/auth/token")
|
|
[status data] (th/http-post uri {:body data})]
|
|
;; (println "RESPONSE:" status data)
|
|
(t/is (= 400 status))
|
|
(t/is (= (:type data) :validation))
|
|
(t/is (= (:code data) :uxbox.services.auth/wrong-credentials))))))
|
|
|