From 2b0a6c79d7e330eceb81e1c68f1f19ef23b74ccf Mon Sep 17 00:00:00 2001 From: Cam Saul <1455846+camsaul@users.noreply.github.com> Date: Wed, 29 Sep 2021 13:15:10 -0700 Subject: [PATCH] Remove special cases in tests for Snowflake (#18127) --- .../row_level_restrictions_test.clj | 44 ++++++++----------- .../nested_queries_test.clj | 30 ++++--------- 2 files changed, 27 insertions(+), 47 deletions(-) diff --git a/enterprise/backend/test/metabase_enterprise/sandbox/query_processor/middleware/row_level_restrictions_test.clj b/enterprise/backend/test/metabase_enterprise/sandbox/query_processor/middleware/row_level_restrictions_test.clj index d100e80a72f..73393962db6 100644 --- a/enterprise/backend/test/metabase_enterprise/sandbox/query_processor/middleware/row_level_restrictions_test.clj +++ b/enterprise/backend/test/metabase_enterprise/sandbox/query_processor/middleware/row_level_restrictions_test.clj @@ -914,10 +914,10 @@ (deftest pivot-query-test (mt/test-drivers (disj - (mt/normal-drivers-with-feature :foreign-keys :nested-queries :left-join) - ;; this test relies on a FK relation between $product_id->products.category, so skip for Presto - ;; JDBC, because that driver doesn't support resolving FKs from the JDBC metadata - :presto-jdbc) + (mt/normal-drivers-with-feature :foreign-keys :nested-queries :left-join) + ;; this test relies on a FK relation between $product_id->products.category, so skip for Presto + ;; JDBC, because that driver doesn't support resolving FKs from the JDBC metadata + :presto-jdbc) (testing "Pivot table queries should work with sandboxed users (#14969)" (mt/dataset sample-dataset (mt/with-gtaps {:gtaps (mt/$ids @@ -925,28 +925,20 @@ :products {:remappings {:user_cat [:dimension $products.category]}}}) :attributes {:user_id 1, :user_cat "Widget"}} (perms/grant-permissions! &group (perms/table-query-path (Table (mt/id :people)))) - ;; not sure why Snowflake has slightly different results - (is (= (if (= driver/*driver* :snowflake) - [["Twitter" "Widget" 0 510.82] - ["Twitter" nil 0 407.93] - [nil "Widget" 1 510.82] - [nil nil 1 407.93] - ["Twitter" nil 2 918.75] - [nil nil 3 918.75]] - (->> [["Twitter" nil 0 401.51] - ["Twitter" "Widget" 0 498.59] - [nil nil 1 401.51] - [nil "Widget" 1 498.59] - ["Twitter" nil 2 900.1] - [nil nil 3 900.1]] - (sort-by (let [nil-first? (mt/sorts-nil-first? driver/*driver* :type/Text) - sort-str (fn [s] - (cond - (some? s) s - nil-first? "A" - :else "Z"))] - (fn [[x y group]] - [group (sort-str x) (sort-str y)]))))) + (is (= (->> [["Twitter" nil 0 401.51] + ["Twitter" "Widget" 0 498.59] + [nil nil 1 401.51] + [nil "Widget" 1 498.59] + ["Twitter" nil 2 900.1] + [nil nil 3 900.1]] + (sort-by (let [nil-first? (mt/sorts-nil-first? driver/*driver* :type/Text) + sort-str (fn [s] + (cond + (some? s) s + nil-first? "A" + :else "Z"))] + (fn [[x y group]] + [group (sort-str x) (sort-str y)])))) (mt/formatted-rows [str str int 2.0] (qp.pivot/run-pivot-query (mt/mbql-query orders diff --git a/test/metabase/query_processor_test/nested_queries_test.clj b/test/metabase/query_processor_test/nested_queries_test.clj index 656883f043e..2296fb69a72 100644 --- a/test/metabase/query_processor_test/nested_queries_test.clj +++ b/test/metabase/query_processor_test/nested_queries_test.clj @@ -1054,13 +1054,9 @@ (mt/test-drivers (mt/normal-drivers-with-feature :foreign-keys :nested-queries :left-join) (mt/dataset sample-dataset (testing "Do nested queries in combination with joins and expressions still work correctly? (#14969)" - ;; not sure why Snowflake has slightly different results - (is (= (if (= driver/*driver* :snowflake) - [["Twitter" "Widget" 0 510.82] - ["Twitter" nil 0 407.93]] - (cond-> [["Twitter" "Widget" 0 498.59] - ["Twitter" nil 0 401.51]] - (mt/sorts-nil-first? driver/*driver* :type/Text) reverse)) + (is (= (cond-> [["Twitter" "Widget" 0 498.59] + ["Twitter" nil 0 401.51]] + (mt/sorts-nil-first? driver/*driver* :type/Text) reverse) (mt/formatted-rows [str str int 2.0] (mt/run-mbql-query orders {:source-query {:source-table $$orders @@ -1106,18 +1102,11 @@ (mt/test-drivers (mt/normal-drivers-with-feature :foreign-keys :nested-queries) (testing "Multi-level aggregations with filter is the last section (#14872)" (mt/dataset sample-dataset - ;; not 100% sure why Snowflake has slightly different results - (is (= (if (= driver/*driver* :snowflake) - [["Awesome Bronze Plate" 115.22] - ["Mediocre Rubber Shoes" 101.06] - ["Mediocre Wooden Bench" 117.04] - ["Sleek Steel Table" 134.94] - ["Small Marble Hat" 102.77]] - [["Awesome Bronze Plate" 115.23] - ["Mediocre Rubber Shoes" 101.04] - ["Mediocre Wooden Bench" 117.03] - ["Sleek Steel Table" 134.91] - ["Small Marble Hat" 102.8]]) + (is (= [["Awesome Bronze Plate" 115.23] + ["Mediocre Rubber Shoes" 101.04] + ["Mediocre Wooden Bench" 117.03] + ["Sleek Steel Table" 134.91] + ["Small Marble Hat" 102.8]] (mt/formatted-rows [str 2.0] (mt/run-mbql-query orders {:source-query {:source-query {:source-table $$orders @@ -1203,7 +1192,6 @@ :type :card :card-id (u/the-id card)}}})] (is (= [["2016-04-01T00:00:00Z" 1] - ;; not sure why Snowflake gives slightly different results, it must be a timezone bug. - ["2016-05-01T00:00:00Z" (if (= driver/*driver* :snowflake) 4 5)]] + ["2016-05-01T00:00:00Z" 5]] (mt/formatted-rows [str int] (qp/process-query query)))))))))) -- GitLab