From 6d525c8f065e3a0419f1718587182ffb4e6465f3 Mon Sep 17 00:00:00 2001 From: Yorick Peterse Date: Mon, 8 Jan 2018 15:29:23 +0100 Subject: Allow N+1 in NamespacelessProjectDestroyWorker spec --- lib/gitlab/database.rb | 11 +++++++++++ .../workers/namespaceless_project_destroy_worker_spec.rb | 16 ++++++++++------ 2 files changed, 21 insertions(+), 6 deletions(-) diff --git a/lib/gitlab/database.rb b/lib/gitlab/database.rb index e51794fef99..cc0337ec890 100644 --- a/lib/gitlab/database.rb +++ b/lib/gitlab/database.rb @@ -9,6 +9,17 @@ module Gitlab # https://dev.mysql.com/doc/refman/5.7/en/datetime.html MAX_TIMESTAMP_VALUE = Time.at((1 << 31) - 1).freeze + def self.allow_n_plus_1_calls + enabled = Bullet.enable? + + begin + Bullet.enable = false + yield + ensure + Bullet.enable = enabled + end + end + def self.config ActiveRecord::Base.configurations[Rails.env] end diff --git a/spec/workers/namespaceless_project_destroy_worker_spec.rb b/spec/workers/namespaceless_project_destroy_worker_spec.rb index ed8cedc0079..0156aeabbad 100644 --- a/spec/workers/namespaceless_project_destroy_worker_spec.rb +++ b/spec/workers/namespaceless_project_destroy_worker_spec.rb @@ -24,9 +24,11 @@ describe NamespacelessProjectDestroyWorker do context 'project has no namespace' do let!(:project) do - project = build(:project, namespace_id: nil) - project.save(validate: false) - project + Gitlab::Database.allow_n_plus_1_calls do + project = build(:project, namespace_id: nil) + project.save(validate: false) + project + end end context 'project not a fork of another project' do @@ -82,9 +84,11 @@ describe NamespacelessProjectDestroyWorker do context 'project has non-existing namespace' do let!(:project) do - project = build(:project, namespace_id: Namespace.maximum(:id).to_i.succ) - project.save(validate: false) - project + Gitlab::Database.allow_n_plus_1_calls do + project = build(:project, namespace_id: Namespace.maximum(:id).to_i.succ) + project.save(validate: false) + project + end end it 'deletes the project' do -- cgit v1.2.1