Adjust tests to match new exception handling

This commit is contained in:
Sean Corfield 2020-05-31 17:42:07 -07:00
parent 53c3b5f48e
commit cc1781d3fb

View file

@ -24,20 +24,20 @@
:networkTimeout :schema :transactionIsolation :typeMap :warnings :networkTimeout :schema :transactionIsolation :typeMap :warnings
;; boolean properties ;; boolean properties
:closed :readOnly :closed :readOnly
;; added by bean itself ;; configured to be added as if by clojure.core/bean
:class}) :class})
(deftest connection-datafy-tests (deftest connection-datafy-tests
(testing "connection datafication" (testing "connection datafication"
(with-open [con (jdbc/get-connection (ds))] (with-open [con (jdbc/get-connection (ds))]
(if (derby?) (let [reference-keys (cond-> basic-connection-keys
(is (= #{:exception :cause} ; at least one property not supported (derby?) (-> (disj :networkTimeout)
(set (keys (d/datafy con))))) (conj :networkTimeout/exception)))
(let [data (set (keys (d/datafy con)))] data (set (keys (d/datafy con)))]
(when-let [diff (seq (set/difference data basic-connection-keys))] (when-let [diff (seq (set/difference data reference-keys))]
(println (:dbtype (db)) :connection (sort diff))) (println (:dbtype (db)) :connection (sort diff)))
(is (= basic-connection-keys (is (= reference-keys
(set/intersection basic-connection-keys data)))))))) (set/intersection reference-keys data)))))))
(def ^:private basic-database-metadata-keys (def ^:private basic-database-metadata-keys
"Generic JDBC Connection fields." "Generic JDBC Connection fields."
@ -63,28 +63,33 @@
:typeInfo :userName :typeInfo :userName
;; boolean properties ;; boolean properties
:catalogAtStart :readOnly :catalogAtStart :readOnly
;; added by bean itself ;; configured to be added as if by clojure.core/bean
:class}) :class
;; added by next.jdbc.datafy if the datafication succeeds
:all-tables})
(deftest database-metadata-datafy-tests (deftest database-metadata-datafy-tests
(testing "database metadata datafication" (testing "database metadata datafication"
(with-open [con (jdbc/get-connection (ds))] (with-open [con (jdbc/get-connection (ds))]
(if (or (postgres?) (sqlite?)) (let [reference-keys (cond-> basic-database-metadata-keys
(is (= #{:exception :cause} ; at least one property not supported (postgres?) (-> (disj :rowIdLifetime)
(set (keys (d/datafy (.getMetaData con)))))) (conj :rowIdLifetime/exception))
(let [data (set (keys (d/datafy (.getMetaData con))))] (sqlite?) (-> (disj :clientInfoProperties :rowIdLifetime)
(when-let [diff (seq (set/difference data basic-database-metadata-keys))] (conj :clientInfoProperties/exception
(println (:dbtype (db)) :db-meta (sort diff))) :rowIdLifetime/exception)))
(is (= basic-database-metadata-keys data (set (keys (d/datafy (.getMetaData con))))]
(set/intersection basic-database-metadata-keys data))))))) (when-let [diff (seq (set/difference data reference-keys))]
(println (:dbtype (db)) :db-meta (sort diff)))
(is (= reference-keys
(set/intersection reference-keys data))))))
(testing "nav to catalogs yields object" (testing "nav to catalogs yields object"
(when-not (or (postgres?) (sqlite?)) (with-open [con (jdbc/get-connection (ds))]
(with-open [con (jdbc/get-connection (ds))] (let [data (d/datafy (.getMetaData con))]
(let [data (d/datafy (.getMetaData con))] (doseq [k (cond-> #{:catalogs :clientInfoProperties :schemas :tableTypes :typeInfo}
(doseq [k [:catalogs :clientInfoProperties :schemas :tableTypes :typeInfo]] (sqlite?) (disj :clientInfoProperties))]
(let [rs (d/nav data k nil)] (let [rs (d/nav data k nil)]
(is (vector? rs)) (is (vector? rs))
(is (every? map? rs))))))))) (is (every? map? rs))))))))
(deftest result-set-metadata-datafy-tests (deftest result-set-metadata-datafy-tests
(testing "result set metadata datafication" (testing "result set metadata datafication"