diff --git a/test/metabase/api/login_history_test.clj b/test/metabase/api/login_history_test.clj index 638b8e386bd20398fcec8ed19dea3b8d5fe40dd2..ffcf28ec8cd961be0d7351646d1745070437b0cb 100644 --- a/test/metabase/api/login_history_test.clj +++ b/test/metabase/api/login_history_test.clj @@ -3,8 +3,7 @@ [metabase.models :refer [LoginHistory Session User]] [metabase.test :as mt] [metabase.util :as u] - [schema.core :as s] - [toucan.db :as db])) + [schema.core :as s])) ;; don't run these tests when running driver tests (i.e., `DRIVERS` is set) because they tend to flake (use-fixtures :each (fn [thunk] diff --git a/test/metabase/server/middleware/session_test.clj b/test/metabase/server/middleware/session_test.clj index 82082b2185eedbfb553b2985c209a3c6ba9fab4f..62f354d8d026d7b95e898667b26bece2f1401122 100644 --- a/test/metabase/server/middleware/session_test.clj +++ b/test/metabase/server/middleware/session_test.clj @@ -222,17 +222,17 @@ ;; for some reason Toucan seems to be busted with models with non-integer IDs and `with-temp` doesn't seem to work ;; the way we'd expect :/ (try - (mt/with-temp Session [_ {:id (str test-uuid), :user_id (mt/user->id :lucky)}] - (is (= {:metabase-user-id (mt/user->id :lucky), :is-superuser? false, :is-group-manager? false, :user-locale nil} - (#'mw.session/current-user-info-for-session (str test-uuid) nil)))) + (db/insert! Session {:id (str test-uuid), :user_id (mt/user->id :lucky)}) + (is (= {:metabase-user-id (mt/user->id :lucky), :is-superuser? false, :is-group-manager? false, :user-locale nil} + (#'mw.session/current-user-info-for-session (str test-uuid) nil))) (finally (db/delete! Session :id (str test-uuid))))) (testing "superusers should come back as `:is-superuser?`" (try - (mt/with-temp Session [_ {:id (str test-uuid), :user_id (mt/user->id :crowberto)}] - (is (= {:metabase-user-id (mt/user->id :crowberto), :is-superuser? true, :is-group-manager? false, :user-locale nil} - (#'mw.session/current-user-info-for-session (str test-uuid) nil)))) + (db/insert! Session {:id (str test-uuid), :user_id (mt/user->id :crowberto)}) + (is (= {:metabase-user-id (mt/user->id :crowberto), :is-superuser? true, :is-group-manager? false, :user-locale nil} + (#'mw.session/current-user-info-for-session (str test-uuid) nil))) (finally (db/delete! Session :id (str test-uuid))))) @@ -261,59 +261,59 @@ (testing "full-app-embed sessions shouldn't come back if we don't explicitly specifiy the anti-csrf token" (try - (mt/with-temp Session [_ {:id (str test-uuid) - :user_id (mt/user->id :lucky) - :anti_csrf_token test-anti-csrf-token}] - (is (= nil - (#'mw.session/current-user-info-for-session (str test-uuid) nil)))) + (db/insert! Session {:id (str test-uuid) + :user_id (mt/user->id :lucky) + :anti_csrf_token test-anti-csrf-token}) + (is (= nil + (#'mw.session/current-user-info-for-session (str test-uuid) nil))) (finally (db/delete! Session :id (str test-uuid)))) (testing "...but if we do specifiy the token, they should come back" (try - (mt/with-temp Session [_ {:id (str test-uuid) - :user_id (mt/user->id :lucky) - :anti_csrf_token test-anti-csrf-token}] - (is (= {:metabase-user-id (mt/user->id :lucky), :is-superuser? false, :is-group-manager? false, :user-locale nil} - (#'mw.session/current-user-info-for-session (str test-uuid) test-anti-csrf-token)))) + (db/insert! Session {:id (str test-uuid) + :user_id (mt/user->id :lucky) + :anti_csrf_token test-anti-csrf-token}) + (is (= {:metabase-user-id (mt/user->id :lucky), :is-superuser? false, :is-group-manager? false, :user-locale nil} + (#'mw.session/current-user-info-for-session (str test-uuid) test-anti-csrf-token))) (finally (db/delete! Session :id (str test-uuid)))) (testing "(unless the token is wrong)" (try - (mt/with-temp Session [_ {:id (str test-uuid) - :user_id (mt/user->id :lucky) - :anti_csrf_token test-anti-csrf-token}] - (is (= nil - (#'mw.session/current-user-info-for-session (str test-uuid) (str/join (reverse test-anti-csrf-token)))))) + (db/insert! Session {:id (str test-uuid) + :user_id (mt/user->id :lucky) + :anti_csrf_token test-anti-csrf-token}) + (is (= nil + (#'mw.session/current-user-info-for-session (str test-uuid) (str/join (reverse test-anti-csrf-token))))) (finally (db/delete! Session :id (str test-uuid))))))) (testing "if we specify an anti-csrf token we shouldn't get back a session without that token" (try - (mt/with-temp Session [_ {:id (str test-uuid) - :user_id (mt/user->id :lucky)}] - (is (= nil - (#'mw.session/current-user-info-for-session (str test-uuid) test-anti-csrf-token)))) + (db/insert! Session {:id (str test-uuid) + :user_id (mt/user->id :lucky)}) + (is (= nil + (#'mw.session/current-user-info-for-session (str test-uuid) test-anti-csrf-token))) (finally (db/delete! Session :id (str test-uuid))))) (testing "shouldn't fetch expired sessions" (try - (mt/with-temp Session [_ {:id (str test-uuid) - :user_id (mt/user->id :lucky)}] + (db/insert! Session {:id (str test-uuid) + :user_id (mt/user->id :lucky)}) ;; use low-level `execute!` because updating is normally disallowed for Sessions - (db/execute! {:update Session, :set {:created_at (java.sql.Date. 0)}, :where [:= :id (str test-uuid)]}) - (is (= nil - (#'mw.session/current-user-info-for-session (str test-uuid) nil)))) + (db/execute! {:update Session, :set {:created_at (java.sql.Date. 0)}, :where [:= :id (str test-uuid)]}) + (is (= nil + (#'mw.session/current-user-info-for-session (str test-uuid) nil))) (finally (db/delete! Session :id (str test-uuid))))) (testing "shouldn't fetch sessions for inactive users" (try - (mt/with-temp Session [_ {:id (str test-uuid), :user_id (mt/user->id :trashbird)}] - (is (= nil - (#'mw.session/current-user-info-for-session (str test-uuid) nil)))) + (db/insert! Session {:id (str test-uuid), :user_id (mt/user->id :trashbird)}) + (is (= nil + (#'mw.session/current-user-info-for-session (str test-uuid) nil))) (finally (db/delete! Session :id (str test-uuid))))))