Skip to content
Snippets Groups Projects
Commit 89a22eb9 authored by Cam Saul's avatar Cam Saul
Browse files

implement some of the test data refactor for H2

parent c7831c5c
No related branches found
No related tags found
No related merge requests found
......@@ -55,8 +55,8 @@
(let [db (ins Database
:engine *engine*
:organization_id @test-org-id
:name (db-name (test-data))
:details {:conn_str (connection-str (test-data))})]
:name (i/db-name (test-data))
:details {:conn_str (i/connection-str (test-data))})]
(driver/sync-database! db)
(log/debug (color/green "Done."))
db))
......@@ -70,14 +70,15 @@
(def db-id
(let [engine-name->db-id (memoize
(fn [engine-name]
{:post [(integer? engine-name)]}
{:post [(keyword? engine-name)
(integer? %)]}
(with-test-data engine-name
(:id (db)))))])
(fn []
(engine-name->db-id *engine*)))
(:id (db)))))]
(fn []
(engine-name->db-id *engine*))))
(defn destroy! []
(cascade-delete Database :name (db-name (test-data))))
(cascade-delete Database :name (i/db-name (test-data))))
(defn table-name->table [table-name]
{:pre [(keyword? table-name)]
......@@ -90,7 +91,7 @@
{:pre [(keyword? table-name)]
:post [(integer? %)]}
(with-test-data engine-name
(i/table-name->id (test-data) (db-id) table-name))))]
(:id (i/table-name->table (test-data) (db-id) table-name)))))]
(fn [table-name]
(engine+table-name->id *engine* table-name))))
......@@ -104,7 +105,7 @@
{:pre [(keyword? table-name)
(keyword? field-name)]
:post [(integer? %)]}
(i/field-name->id (test-data) table-name field-name))
(:id (i/field-name->field (test-data) (table-name->id table-name) field-name)))
;; ## Fns that Run Across *All* Test Datasets
......
(ns metabase.test.data.h2
(:require [metabase.test.data.interface :refer :all]))
(:require [clojure.string :as s]
[metabase.db :refer :all]
(metabase.models [field :refer [Field]]
[table :refer [Table]])
[metabase.test.data.interface :refer :all]))
(deftype H2TestData []
TestData
(load! [_])
(db-name [_]
"Test Database")
(connection-str [_]
(let [filename (format "%s/target/test-data" (System/getProperty "user.dir"))]
(format "file:%s;AUTO_SERVER=TRUE;DB_CLOSE_DELAY=-1" filename))))
(format "file:%s;AUTO_SERVER=TRUE;DB_CLOSE_DELAY=-1" filename)))
(table-name->table [_ db-id table-name]
(sel :one Table :db_id db-id :name (s/upper-case (name table-name))))
(field-name->field [this table-id field-name]
(sel :one Field :table_id table-id :name (s/upper-case (name field-name)))))
......@@ -14,4 +14,4 @@
;; Fetching Fns
(table-name->table [this db-id table-name])
(field-name->field [this table-name field-name]))
(field-name->field [this table-id field-name]))
(ns metabase.test.data.mongo
(:require [metabase.db :refer :all]
(metabase.models [table :refer [Table]])
(metabase.models [field :refer [Field]]
[table :refer [Table]])
[metabase.test.data.interface :refer :all]))
(deftype MongoTestData []
......@@ -9,10 +10,12 @@
(db-name [_]
"Mongo Test")
(connection-str [_]
"mongodb://localhost/metabase-test")
(table-name->table [_ db-id table-name]
(sel :one Table :db_id db-id :name table-name))
(sel :one Table :db_id db-id :name (name table-name)))
(field-name->field [_ table-name field-name]))
(field-name->field [this table-id field-name]
(sel :one Field :table_id table-id :name (name field-name))))
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