Skip to content
Snippets Groups Projects
Unverified Commit e12e3604 authored by Noah Moss's avatar Noah Moss Committed by GitHub
Browse files

Fix non-bool value in CSV upload availability check for stats ping (#48167)

parent e8deecc5
No related branches found
No related tags found
No related merge requests found
......@@ -588,12 +588,12 @@
(defn- csv-upload-available?
"Is CSV upload currently available to be used on this instance?"
[]
(let [major-version (config/current-major-version)
minor-version (config/current-minor-version)
engines (t2/select-fn-set :engine :model/Database
{:where [:in :engine (map name (keys csv-upload-version-availability))]})]
(when (and major-version minor-version)
(boolean
(boolean
(let [major-version (config/current-major-version)
minor-version (config/current-minor-version)
engines (t2/select-fn-set :engine :model/Database
{:where [:in :engine (map name (keys csv-upload-version-availability))]})]
(when (and major-version minor-version)
(some
(fn [engine]
(when-let [[required-major required-minor] (csv-upload-version-availability engine)]
......
......@@ -4,6 +4,7 @@
[clojure.test :refer :all]
[java-time.api :as t]
[metabase.analytics.stats :as stats :refer [legacy-anonymous-usage-stats]]
[metabase.config :as config]
[metabase.core :as mbc]
[metabase.db :as mdb]
[metabase.email :as email]
......@@ -392,6 +393,34 @@
(mt/with-temp [:model/QueryExecution _ query-execution-defaults]
(is (true? (@#'stats/sufficient-queries? 1)))))))
(deftest csv-upload-available-test
(mt/with-temp-empty-app-db [_conn :h2]
(mdb/setup-db! :create-sample-content? true)
(testing "csv-upload-available? currently detects upload availability based on the current MB version"
(mt/with-temp [:model/Database _ {:engine :postgres}]
(with-redefs [config/current-major-version (constantly 46)
config/current-minor-version (constantly 0)]
(is false? (@#'stats/csv-upload-available?)))
(with-redefs [config/current-major-version (constantly 47)
config/current-minor-version (constantly 1)]
(is true? (@#'stats/csv-upload-available?))))
(mt/with-temp [:model/Database _ {:engine :redshift}]
(with-redefs [config/current-major-version (constantly 49)
config/current-minor-version (constantly 5)]
(is false? (@#'stats/csv-upload-available?)))
(with-redefs [config/current-major-version (constantly 49)
config/current-minor-version (constantly 6)]
(is true? (@#'stats/csv-upload-available?))))
;; If we can't detect the MB version, return nil
(with-redefs [config/current-major-version (constantly nil)
config/current-minor-version (constantly nil)]
(is false? (@#'stats/csv-upload-available?))))))
(def ^:private excluded-features
"Set of features intentionally excluded from the daily stats ping. If you add a new feature, either add it to the stats ping
or to this set, so that [[every-feature-is-accounted-for-test]] passes."
......
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