Skip to content
Snippets Groups Projects
Commit 7e1447c6 authored by Cam Saül's avatar Cam Saül Committed by GitHub
Browse files

Merge pull request #3297 from metabase/private-things-should-be-private

Make things that should be private private :lock:
parents 0492ac2a 95db168e
No related branches found
No related tags found
No related merge requests found
......@@ -45,7 +45,7 @@
;; if we don't have an absolute path then make sure we start from "user.dir"
[(System/getProperty "user.dir") "/" db-file-name options]))))))
(defn parse-connection-string
(defn- parse-connection-string
"Parse a DB connection URI like `postgres://cam@localhost.com:5432/cams_cool_db?ssl=true&sslfactory=org.postgresql.ssl.NonValidatingFactory` and return a broken-out map."
[uri]
(when-let [[_ protocol user pass host port db query] (re-matches #"^([^:/@]+)://(?:([^:/@]+)(?::([^:@]+))?@)?([^:@]+)(?::(\d+))?/([^/?]+)(?:\?(.*))?$" uri)]
......
(ns metabase.db-test
(:require [expectations :refer :all]
[metabase.db :as db]))
[metabase.db :as db]
[metabase.test.util :as tu]))
(tu/resolve-private-fns metabase.db parse-connection-string)
;; parse minimal connection string
(expect {:type :postgres :user nil :password nil :host "localhost" :port nil :dbname "toms_cool_db" }
(db/parse-connection-string "postgres://localhost/toms_cool_db"))
(parse-connection-string "postgres://localhost/toms_cool_db"))
;; parse all fields and query string arguments
(expect {:type :postgres :user "tom" :password "1234" :host "localhost" :port "5432" :dbname "toms_cool_db" :ssl "true" :sslfactory "org.postgresql.ssl.NonValidatingFactory"}
(db/parse-connection-string "postgres://tom:1234@localhost:5432/toms_cool_db?ssl=true&sslfactory=org.postgresql.ssl.NonValidatingFactory"))
(parse-connection-string "postgres://tom:1234@localhost:5432/toms_cool_db?ssl=true&sslfactory=org.postgresql.ssl.NonValidatingFactory"))
;;; call counting
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment