From 4da2152263d244493c2de8886f2aa660937b8970 Mon Sep 17 00:00:00 2001
From: Cam Saul <github@camsaul.com>
Date: Tue, 26 May 2020 13:06:43 -0700
Subject: [PATCH] Backport some test tooling changes from master ->
 release-0.35.x [ci all]

---
 test/metabase/test.clj          | 24 +++++++++++++++++++++++-
 test_resources/log4j.properties |  2 +-
 2 files changed, 24 insertions(+), 2 deletions(-)

diff --git a/test/metabase/test.clj b/test/metabase/test.clj
index fcf734580c2..4c29672d49d 100644
--- a/test/metabase/test.clj
+++ b/test/metabase/test.clj
@@ -3,12 +3,15 @@
 
   (Prefer using `metabase.test` to requiring bits and pieces from these various namespaces going forward, since it
   reduces the cognitive load required to write tests.)"
-  (:require [clojure.test :refer :all]
+  (:require [clojure
+             [test :refer :all]
+             [walk :as walk]]
             [java-time :as t]
             [medley.core :as m]
             [metabase
              [driver :as driver]
              [email-test :as et]
+             [http-client :as http]
              [query-processor :as qp]
              [query-processor-test :as qp.test]]
             [metabase.driver.sql-jdbc.test-util :as sql-jdbc.tu]
@@ -39,6 +42,7 @@
   datasets/keep-me
   driver/keep-me
   et/keep-me
+  http/keep-me
   initialize/keep-me
   qp/keep-me
   qp.test-util/keep-me
@@ -88,6 +92,12 @@
   with-expected-messages
   with-fake-inbox]
 
+ [http
+  authenticate
+  build-url
+  client
+  client-full-response]
+
  [initialize
   initialize-if-needed!]
 
@@ -182,6 +192,8 @@
   set-test-drivers!
   with-test-drivers])
 
+;; TODO -- move this stuff into some other namespace and refer to it here
+
 (defn do-with-clock [clock thunk]
   (testing (format "\nsystem clock = %s" (pr-str clock))
     (let [clock (cond
@@ -248,3 +260,13 @@
             :pre      (-> result :data :pre)
             :post     (-> result :data :rows)
             :metadata (update result :data #(dissoc % :pre :rows))}))))))
+
+(defn derecordize
+  "Convert all record types in `form` to plain maps, so tests won't fail."
+  [form]
+  (walk/postwalk
+   (fn [form]
+     (if (record? form)
+       (into {} form)
+       form))
+   form))
diff --git a/test_resources/log4j.properties b/test_resources/log4j.properties
index 0f4ae1fc1e9..1fe23a9b7ae 100644
--- a/test_resources/log4j.properties
+++ b/test_resources/log4j.properties
@@ -15,7 +15,7 @@ log4j.appender.file.layout=org.apache.log4j.PatternLayout
 log4j.appender.file.layout.ConversionPattern=%d [%t] %-5p%c - %m%n
 
 # customizations to logging by package
-log4j.logger.metabase=ERROR
+log4j.logger.metabase=FATAL
 log4j.logger.metabase.driver=INFO
 log4j.logger.metabase.plugins=INFO
 log4j.logger.metabase.test-setup=INFO
-- 
GitLab