From c60510b07325e39c98dea7f1d81d80c50d7dd542 Mon Sep 17 00:00:00 2001
From: Robert Roland <rob@metabase.com>
Date: Fri, 11 Sep 2020 16:48:26 -0700
Subject: [PATCH] Skip test when the app db isn't H2 (#13197)

This test fails when the app db is postgres / mysql / mariadb because
the database isn't setup when it runs.

For now, skip this test on anything but H2 to fix a broken master build.
---
 test/metabase/cmd/dump_to_h2_test.clj | 41 ++++++++++++++-------------
 1 file changed, 22 insertions(+), 19 deletions(-)

diff --git a/test/metabase/cmd/dump_to_h2_test.clj b/test/metabase/cmd/dump_to_h2_test.clj
index bf95a2a55e7..36dfcf9ac9e 100644
--- a/test/metabase/cmd/dump_to_h2_test.clj
+++ b/test/metabase/cmd/dump_to_h2_test.clj
@@ -38,24 +38,27 @@
              cols+vals)))))
 
 (deftest dump-deletes-target-db-files-tests
-  (let [tmp-h2-db     (str (u.files/get-path (System/getProperty "java.io.tmpdir") "mbtest_dump.h2"))
-        tmp-h2-db-mv  (str tmp-h2-db ".mv.db")
-        file-contents {tmp-h2-db    "Not really an H2 DB"
-                       tmp-h2-db-mv "Not really another H2 DB"}]
-    ;; keep setup-db!/setup-db!* from changing connection state
-    (with-redefs [mdb/setup-db!  (constantly nil)
-                  mdb/setup-db!* (constantly nil)]
-      (try
-        (doseq [[filename contents] file-contents]
-          (spit filename contents))
-        (dump-to-h2/dump-to-h2! tmp-h2-db)
+  ;; test fails when the application db is anything but H2 presently
+  ;; TODO: make this test work with postgres / mysql / mariadb
+  (when (= :h2 (mdb/db-type))
+    (let [tmp-h2-db     (str (u.files/get-path (System/getProperty "java.io.tmpdir") "mbtest_dump.h2"))
+          tmp-h2-db-mv  (str tmp-h2-db ".mv.db")
+          file-contents {tmp-h2-db    "Not really an H2 DB"
+                         tmp-h2-db-mv "Not really another H2 DB"}]
+     ;; keep setup-db!/setup-db!* from changing connection state
+      (with-redefs [mdb/setup-db!  (constantly nil)
+                    mdb/setup-db!* (constantly nil)]
+       (try
+         (doseq [[filename contents] file-contents]
+           (spit filename contents))
+         (dump-to-h2/dump-to-h2! tmp-h2-db)
 
-        (doseq [filename (keys file-contents)]
-          (testing (str filename " was deleted")
-            (is (false? (.exists (io/file filename))))))
+         (doseq [filename (keys file-contents)]
+           (testing (str filename " was deleted")
+             (is (false? (.exists (io/file filename))))))
 
-        (finally
-          (doseq [filename (keys file-contents)
-                  :let [file (io/file filename)]]
-            (when (.exists file)
-              (io/delete-file file))))))))
+         (finally
+           (doseq [filename (keys file-contents)
+                   :let     [file (io/file filename)]]
+             (when (.exists file)
+               (io/delete-file file)))))))))
-- 
GitLab