mirror of
https://github.com/penpot/penpot.git
synced 2026-08-29 16:18:48 +00:00
Update several JVM dependencies across backend and common: - passay 1.6.6 -> 2.0.0 (package reorg, ctor-based rules) - siphash 2.0.0 -> 3.0.0 (SipHasher* renamed to SipHash*) - lettuce-core, guava, sqlite-jdbc, jsoup, lz4-java, markdown-clj, awssdk s3/sts, selmer, jackson-core/databind, shadow-cljs Adapt passay validation to the new API (moved packages, constructor configuration) and siphash to the renamed classes. Add tests for password validation and UUID advisory-lock hashing. AI-assisted-by: deepseek-v4-flash
51 lines
1.8 KiB
Clojure
51 lines
1.8 KiB
Clojure
;; This Source Code Form is subject to the terms of the Mozilla Public
|
|
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
;;
|
|
;; Copyright (c) KALEIDOS INC Sucursal en España SL
|
|
|
|
(ns backend-tests.passwords-test
|
|
(:require
|
|
[app.auth.passwords :as passwords]
|
|
[backend-tests.helpers :as th]
|
|
[clojure.test :as t]))
|
|
|
|
(defn- run-validation
|
|
[password]
|
|
(try
|
|
(passwords/validate-password password)
|
|
nil
|
|
(catch Throwable e
|
|
e)))
|
|
|
|
(t/deftest validate-password-accepts-strong-password
|
|
(t/is (nil? (run-validation "Str0ng!Pass"))))
|
|
|
|
(t/deftest validate-password-rejects-too-short-password
|
|
(let [error (run-validation "Ab1!x")]
|
|
(t/is (th/ex-of-code? error :weak-password))
|
|
(t/is (= ["errors.weak-password.too-short"] (:details (ex-data error))))))
|
|
|
|
(t/deftest validate-password-rejects-missing-lowercase
|
|
(let [error (run-validation "ABCDEFG1!")]
|
|
(t/is (th/ex-of-code? error :weak-password))
|
|
(t/is (= ["errors.weak-password.insufficient-lowercase"]
|
|
(:details (ex-data error))))))
|
|
|
|
(t/deftest validate-password-rejects-missing-uppercase
|
|
(let [error (run-validation "abcdefg1!")]
|
|
(t/is (th/ex-of-code? error :weak-password))
|
|
(t/is (= ["errors.weak-password.insufficient-uppercase"]
|
|
(:details (ex-data error))))))
|
|
|
|
(t/deftest validate-password-rejects-missing-digit
|
|
(let [error (run-validation "Abcdefgh!")]
|
|
(t/is (th/ex-of-code? error :weak-password))
|
|
(t/is (= ["errors.weak-password.insufficient-digits"]
|
|
(:details (ex-data error))))))
|
|
|
|
(t/deftest validate-password-rejects-missing-special
|
|
(let [error (run-validation "Abcdefgh1")]
|
|
(t/is (th/ex-of-code? error :weak-password))
|
|
(t/is (= ["errors.weak-password.insufficient-special"]
|
|
(:details (ex-data error)))))) |