From 4c85e5517633131e4219d72718586422f5b125bb Mon Sep 17 00:00:00 2001 From: Andrey Antukh Date: Thu, 2 Mar 2023 17:57:37 +0100 Subject: [PATCH] :paperclip: Improve tests performance making all tables as unlogged --- backend/test/backend_tests/helpers.clj | 44 ++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/backend/test/backend_tests/helpers.clj b/backend/test/backend_tests/helpers.clj index d81b30cb39..cdc9336514 100644 --- a/backend/test/backend_tests/helpers.clj +++ b/backend/test/backend_tests/helpers.clj @@ -65,6 +65,47 @@ :enable-smtp :enable-quotes]) +(def test-init-sql + ["alter table project_profile_rel set unlogged;\n" + "alter table file_profile_rel set unlogged;\n" + "alter table presence set unlogged;\n" + "alter table presence set unlogged;\n" + "alter table http_session set unlogged;\n" + "alter table team_profile_rel set unlogged;\n" + "alter table team_project_profile_rel set unlogged;\n" + "alter table comment_thread_status set unlogged;\n" + "alter table comment set unlogged;\n" + "alter table comment_thread set unlogged;\n" + "alter table profile_complaint_report set unlogged;\n" + "alter table file_change set unlogged;\n" + "alter table team_font_variant set unlogged;\n" + "alter table share_link set unlogged;\n" + "alter table usage_quote set unlogged;\n" + "alter table access_token set unlogged;\n" + "alter table profile set unlogged;\n" + "alter table file_library_rel set unlogged;\n" + "alter table file_thumbnail set unlogged;\n" + "alter table file_object_thumbnail set unlogged;\n" + "alter table file_media_object set unlogged;\n" + "alter table file_data_fragment set unlogged;\n" + "alter table file set unlogged;\n" + "alter table project set unlogged;\n" + "alter table team_invitation set unlogged;\n" + "alter table webhook_delivery set unlogged;\n" + "alter table webhook set unlogged;\n" + "alter table team set unlogged;\n" + ;; For some reason, modifying the task realted tables is very very + ;; slow (5s); so we just don't alter them + ;; "alter table task set unlogged;\n" + ;; "alter table task_default set unlogged;\n" + ;; "alter table task_completed set unlogged;\n" + "alter table audit_log_default set unlogged ;\n" + "alter table storage_object set unlogged;\n" + "alter table server_error_report set unlogged;\n" + "alter table server_prop set unlogged;\n" + "alter table global_complaint_report set unlogged;\n" +]) + (defn state-init [next] (with-redefs [app.config/flags (flags/parse flags/default default-flags) @@ -108,6 +149,9 @@ (try (binding [*system* system *pool* (:app.db/pool system)] + (db/with-atomic [conn *pool*] + (doseq [sql test-init-sql] + (db/exec! conn [sql]))) (next)) (finally (ig/halt! system))))))