mirror of
https://github.com/penpot/penpot.git
synced 2026-08-30 00:29:17 +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
55 lines
1.9 KiB
Clojure
55 lines
1.9 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.db-test
|
|
(:require
|
|
[app.common.uuid :as uuid]
|
|
[app.db :as db]
|
|
[backend-tests.helpers :as th]
|
|
[clojure.test :as t])
|
|
(:import
|
|
com.zaxxer.hikari.HikariConfig
|
|
com.zaxxer.hikari.HikariDataSource
|
|
java.sql.Connection))
|
|
|
|
(t/use-fixtures :once th/state-init)
|
|
|
|
(t/deftest pool-stats-returns-expected-keys
|
|
(let [stats (db/pool-stats th/*pool*)]
|
|
(t/testing "all expected keys are present"
|
|
(t/is (contains? stats :active-connections))
|
|
(t/is (contains? stats :idle-connections))
|
|
(t/is (contains? stats :threads-awaiting-connection))
|
|
(t/is (contains? stats :total-connections))
|
|
(t/is (contains? stats :maximum-pool-size))
|
|
(t/is (contains? stats :minimum-idle)))
|
|
|
|
(t/testing "values are non-negative integers"
|
|
(t/is (>= (:active-connections stats) 0))
|
|
(t/is (>= (:idle-connections stats) 0))
|
|
(t/is (>= (:threads-awaiting-connection stats) 0))
|
|
(t/is (>= (:total-connections stats) 0))
|
|
(t/is (>= (:maximum-pool-size stats) 0))
|
|
(t/is (>= (:minimum-idle stats) 0)))
|
|
|
|
(t/testing "total connections equals active + idle"
|
|
(t/is (= (:total-connections stats)
|
|
(+ (:active-connections stats)
|
|
(:idle-connections stats)))))
|
|
|
|
(t/testing "maximum pool size is reasonable"
|
|
(t/is (pos? (:maximum-pool-size stats))))))
|
|
|
|
(t/deftest uuid->hash-code-is-deterministic
|
|
(t/is (= (db/uuid->hash-code uuid/zero)
|
|
(db/uuid->hash-code uuid/zero))))
|
|
|
|
(t/deftest uuid->hash-code-returns-long
|
|
(t/is (instance? Long (db/uuid->hash-code uuid/zero))))
|
|
|
|
(t/deftest uuid->hash-code-stable-for-zero-uuid
|
|
(t/is (= 3659997967308761462 (db/uuid->hash-code uuid/zero))))
|