Skip to content
Snippets Groups Projects
Commit 2ca5cca8 authored by Cam Saül's avatar Cam Saül
Browse files

Merge pull request #1489 from metabase/edn-test-data-def

Move data for OG Test Database to EDN File :yum:
parents 46de1271 ef41a190
No related merge requests found
...@@ -32,7 +32,7 @@ ...@@ -32,7 +32,7 @@
:engine "h2" :engine "h2"
:id $ :id $
:updated_at $ :updated_at $
:name "Test Database" :name "test-data"
:is_sample false :is_sample false
:organization_id nil :organization_id nil
:description nil}) :description nil})
...@@ -46,7 +46,7 @@ ...@@ -46,7 +46,7 @@
:id $ :id $
:details $ :details $
:updated_at $ :updated_at $
:name "Test Database" :name "test-data"
:is_sample false :is_sample false
:organization_id nil :organization_id nil
:description nil}) :description nil})
...@@ -102,7 +102,7 @@ ...@@ -102,7 +102,7 @@
;; ## GET /api/database ;; ## GET /api/database
;; Test that we can get all the DBs for an Org, ordered by name ;; Test that we can get all the DBs for an Org, ordered by name
;; Database details *should not* come back for Rasta since she's not a superuser ;; Database details *should not* come back for Rasta since she's not a superuser
(let [db-name (str "A" (random-name))] ; make sure this name comes before "Test Database" (let [db-name (str "A" (random-name))] ; make sure this name comes before "test-data"
(expect-eval-actual-first (expect-eval-actual-first
(set (filter identity (set (filter identity
(conj (for [dataset-name datasets/all-valid-dataset-names] (conj (for [dataset-name datasets/all-valid-dataset-names]
...@@ -112,7 +112,7 @@ ...@@ -112,7 +112,7 @@
:engine (name $engine) :engine (name $engine)
:id $ :id $
:updated_at $ :updated_at $
:name "Test Database" :name "test-data"
:is_sample false :is_sample false
:organization_id nil :organization_id nil
:description nil}))) :description nil})))
...@@ -145,7 +145,7 @@ ...@@ -145,7 +145,7 @@
:engine "h2" :engine "h2"
:id $ :id $
:updated_at $ :updated_at $
:name "Test Database" :name "test-data"
:is_sample false :is_sample false
:organization_id nil :organization_id nil
:description nil :description nil
......
...@@ -24,7 +24,7 @@ ...@@ -24,7 +24,7 @@
:engine "h2" :engine "h2"
:id $ :id $
:updated_at $ :updated_at $
:name "Test Database" :name "test-data"
:is_sample false :is_sample false
:organization_id nil :organization_id nil
:description nil}) :description nil})
......
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
[foreign-key :refer [ForeignKey]] [foreign-key :refer [ForeignKey]]
[table :refer [Table]]) [table :refer [Table]])
[metabase.test.data :refer :all] [metabase.test.data :refer :all]
(metabase.test.data [data :as data] (metabase.test.data [dataset-definitions :as defs]
[datasets :as datasets] [datasets :as datasets]
[users :refer :all]) [users :refer :all])
[metabase.test.util :refer [match-$ expect-eval-actual-first]])) [metabase.test.util :refer [match-$ expect-eval-actual-first]]))
...@@ -66,7 +66,7 @@ ...@@ -66,7 +66,7 @@
:engine "h2" :engine "h2"
:id $ :id $
:updated_at $ :updated_at $
:name "Test Database" :name "test-data"
:is_sample false :is_sample false
:organization_id nil :organization_id nil
:description nil}) :description nil})
...@@ -129,7 +129,7 @@ ...@@ -129,7 +129,7 @@
:engine "h2" :engine "h2"
:id $ :id $
:updated_at $ :updated_at $
:name "Test Database" :name "test-data"
:is_sample false :is_sample false
:organization_id nil :organization_id nil
:description nil}) :description nil})
...@@ -189,7 +189,7 @@ ...@@ -189,7 +189,7 @@
(+ (.getYear inst) 1900) (+ (.getYear inst) 1900)
(+ (.getMonth inst) 1) (+ (.getMonth inst) 1)
(.getDate inst)))] (.getDate inst)))]
(->> data/test-data (->> defs/test-data
:table-definitions :table-definitions
first first
:rows :rows
...@@ -211,7 +211,7 @@ ...@@ -211,7 +211,7 @@
:engine "h2" :engine "h2"
:id $ :id $
:updated_at $ :updated_at $
:name "Test Database" :name "test-data"
:is_sample false :is_sample false
:organization_id nil :organization_id nil
:description nil}) :description nil})
...@@ -323,7 +323,7 @@ ...@@ -323,7 +323,7 @@
:engine "h2" :engine "h2"
:id $ :id $
:updated_at $ :updated_at $
:name "Test Database" :name "test-data"
:is_sample false :is_sample false
:organization_id nil :organization_id nil
:description nil}) :description nil})
...@@ -419,7 +419,7 @@ ...@@ -419,7 +419,7 @@
:db (match-$ (db) :db (match-$ (db)
{:description nil {:description nil
:organization_id $ :organization_id $
:name "Test Database" :name "test-data"
:is_sample false :is_sample false
:updated_at $ :updated_at $
:details $ :details $
...@@ -488,7 +488,7 @@ ...@@ -488,7 +488,7 @@
:db (match-$ (db) :db (match-$ (db)
{:description nil, {:description nil,
:organization_id nil, :organization_id nil,
:name "Test Database", :name "test-data",
:is_sample false, :is_sample false,
:updated_at $, :updated_at $,
:id $, :id $,
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
(metabase.models [database :refer [Database]] (metabase.models [database :refer [Database]]
[field :refer [Field]] [field :refer [Field]]
[table :refer [Table]]) [table :refer [Table]])
(metabase.test.data [data :as data] (metabase.test.data [dataset-definitions :as defs]
[mongo :as loader]) [mongo :as loader])
[metabase.util :as u])) [metabase.util :as u]))
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
^{:doc "A delay that fetches or creates the Mongo test `Database`. ^{:doc "A delay that fetches or creates the Mongo test `Database`.
If DB is created, `load-data` and `sync-database!` are called to get the DB in a state that we can use for testing."} If DB is created, `load-data` and `sync-database!` are called to get the DB in a state that we can use for testing."}
mongo-test-db mongo-test-db
(delay (@(resolve 'metabase.test.data/get-or-create-database!) (loader/dataset-loader) data/test-data))) (delay (@(resolve 'metabase.test.data/get-or-create-database!) (loader/dataset-loader) defs/test-data)))
(defonce (defonce
^{:doc "A Delay that returns the ID of `mongo-test-db`, forcing creation of it if needed."} ^{:doc "A Delay that returns the ID of `mongo-test-db`, forcing creation of it if needed."}
......
...@@ -8,8 +8,7 @@ ...@@ -8,8 +8,7 @@
[metabase.driver.mongo.test-data :refer :all] [metabase.driver.mongo.test-data :refer :all]
(metabase.models [field :refer [Field]] (metabase.models [field :refer [Field]]
[table :refer [Table]]) [table :refer [Table]])
(metabase.test.data [data :refer [test-data]] [metabase.test.data.datasets :as datasets]
[datasets :as datasets])
[metabase.test.util :refer [expect-eval-actual-first resolve-private-fns]])) [metabase.test.util :refer [expect-eval-actual-first resolve-private-fns]]))
;; ## Logic for selectively running mongo ;; ## Logic for selectively running mongo
......
(ns metabase.test.data (ns metabase.test.data
"Code related to creating and deleting test databases + datasets." "Code related to creating and deleting test databases + datasets."
(:require (clojure [string :as s] (:require [clojure.tools.logging :as log]
[walk :as walk])
[clojure.tools.logging :as log]
[colorize.core :as color]
[medley.core :as m]
(metabase [db :refer :all] (metabase [db :refer :all]
[driver :as driver]) [driver :as driver])
(metabase.models [database :refer [Database]] (metabase.models [database :refer [Database]]
[field :refer [Field] :as field] [field :refer [Field] :as field]
[table :refer [Table]]) [table :refer [Table]])
(metabase.test.data [data :as data] (metabase.test.data [datasets :as datasets :refer [*dataset*]]
[datasets :as datasets :refer [*dataset*]]
[h2 :as h2] [h2 :as h2]
[interface :refer :all]) [interface :refer :all])
[metabase.util :as u]) [metabase.util :as u])
......
This diff is collapsed.
...@@ -3,24 +3,6 @@ ...@@ -3,24 +3,6 @@
(:require [clojure.tools.reader.edn :as edn] (:require [clojure.tools.reader.edn :as edn]
[metabase.test.data.interface :refer [def-database-definition]])) [metabase.test.data.interface :refer [def-database-definition]]))
;; ## Helper Functions
(defn- unix-timestamp-ms
"Create a Unix timestamp (in milliseconds).
(unix-timestamp-ms :year 2012 :month 12 :date 27)"
^Long [& {:keys [year month date hour minute second nano]
:or {year 0, month 1, date 1, hour 0, minute 0, second 0, nano 0}}]
(-> (java.sql.Timestamp. (- year 1900) (- month 1) date hour minute second nano)
.getTime
long)) ; coerce to long since Korma doesn't know how to insert bigints
(defn- unix-timestamp
"Create a Unix timestamp, in seconds."
^Long [& args]
(/ (apply unix-timestamp-ms args) 1000))
;; ## Datasets ;; ## Datasets
...@@ -29,9 +11,12 @@ ...@@ -29,9 +11,12 @@
;; TODO - move this to interface ;; TODO - move this to interface
;; TODO - make rows be lazily loadable for DB definitions from a file ;; TODO - make rows be lazily loadable for DB definitions from a file
(defmacro ^:private def-database-definition-edn [dbname] (defmacro ^:private def-database-definition-edn [dbname]
`(def-database-definition ~dbname `(def-database-definition ~(vary-meta dbname assoc :const true)
~@(edn/read-string (slurp (str edn-definitions-dir (name dbname) ".edn"))))) ~@(edn/read-string (slurp (str edn-definitions-dir (name dbname) ".edn")))))
;; The O.G. "Test Database" dataset
(def-database-definition-edn test-data)
;; Times when the Toucan cried ;; Times when the Toucan cried
(def-database-definition-edn sad-toucan-incidents) (def-database-definition-edn sad-toucan-incidents)
......
This diff is collapsed.
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
[metabase.driver.mongo.test-data :as mongo-data] [metabase.driver.mongo.test-data :as mongo-data]
(metabase.models [field :refer [Field]] (metabase.models [field :refer [Field]]
[table :refer [Table]]) [table :refer [Table]])
(metabase.test.data [data :as data] (metabase.test.data [dataset-definitions :as defs]
[h2 :as h2] [h2 :as h2]
[mongo :as mongo] [mongo :as mongo]
[mysql :as mysql] [mysql :as mysql]
...@@ -71,7 +71,7 @@ ...@@ -71,7 +71,7 @@
(defn- generic-sql-load-data! [{:keys [dbpromise], :as this}] (defn- generic-sql-load-data! [{:keys [dbpromise], :as this}]
(when-not (realized? dbpromise) (when-not (realized? dbpromise)
(deliver dbpromise (@(resolve 'metabase.test.data/get-or-create-database!) (dataset-loader this) data/test-data))) (deliver dbpromise (@(resolve 'metabase.test.data/get-or-create-database!) (dataset-loader this) defs/test-data)))
@dbpromise) @dbpromise)
(def ^:private GenericSQLIDatasetMixin (def ^:private GenericSQLIDatasetMixin
......
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