Commit 5acfcb37 authored by Stan Hu's avatar Stan Hu

Use deletion truncation strategy since it's faster on CI

parent b2681e0f
......@@ -26,9 +26,9 @@ describe Geo::AttachmentRegistryFinder, :geo do
stub_current_geo_node(secondary)
end
# Disable transactions via :truncate method because a foreign table
# Disable transactions via :delete method because a foreign table
# can't see changes inside a transaction of a different connection.
context 'FDW', :truncate do
context 'FDW', :delete do
before do
skip('FDW is not configured') if Gitlab::Database.postgresql? && !Gitlab::Geo.fdw?
end
......
......@@ -3,9 +3,9 @@ require 'spec_helper'
describe Geo::ExpireUploadsFinder, :geo do
let(:project) { create(:project) }
# Disable transactions via :truncate method because a foreign table
# Disable transactions via :delete method because a foreign table
# can't see changes inside a transaction of a different connection.
context 'FDW', :truncate do
context 'FDW', :delete do
before do
skip('FDW is not configured') if Gitlab::Database.postgresql? && !Gitlab::Geo.fdw?
end
......
......@@ -152,9 +152,9 @@ describe Geo::ProjectRegistryFinder, :geo do
end
end
# Disable transactions via :truncate method because a foreign table
# Disable transactions via :delete method because a foreign table
# can't see changes inside a transaction of a different connection.
context 'FDW', :truncate do
context 'FDW', :delete do
before do
skip('FDW is not configured') if Gitlab::Database.postgresql? && !Gitlab::Geo.fdw?
end
......
......@@ -50,9 +50,9 @@ describe GeoNodeStatus, :geo do
end
end
# Disable transactions via :truncate method because a foreign table
# Disable transactions via :delete method because a foreign table
# can't see changes inside a transaction of a different connection.
describe '#attachments_synced_count', :truncate do
describe '#attachments_synced_count', :delete do
it 'only counts successful syncs' do
create_list(:user, 3, avatar: fixture_file_upload(Rails.root + 'spec/fixtures/dk.png', 'image/png'))
uploads = Upload.all.pluck(:id)
......@@ -95,7 +95,7 @@ describe GeoNodeStatus, :geo do
end
end
describe '#attachments_failed_count', :truncate do
describe '#attachments_failed_count', :delete do
it 'counts failed avatars, attachment, personal snippets and files' do
# These two should be ignored
create(:geo_file_registry, :lfs, :with_file, success: false)
......@@ -110,7 +110,7 @@ describe GeoNodeStatus, :geo do
end
end
describe '#attachments_synced_in_percentage', :truncate do
describe '#attachments_synced_in_percentage', :delete do
let(:avatar) { fixture_file_upload(Rails.root.join('spec/fixtures/dk.png')) }
let(:upload_1) { create(:upload, model: group, path: avatar) }
let(:upload_2) { create(:upload, model: project_1, path: avatar) }
......
require 'spec_helper'
# Disable transactions via :truncate method because a foreign table
# Disable transactions via :delete method because a foreign table
# can't see changes inside a transaction of a different connection.
describe Geo::FilesExpireService, :geo, :truncate do
describe Geo::FilesExpireService, :geo, :delete do
let(:project) { create(:project) }
let!(:old_full_path) { project.full_path }
subject { described_class.new(project, old_full_path) }
......
......@@ -21,6 +21,10 @@ RSpec.configure do |config|
DatabaseCleaner.strategy = :truncation, { except: %w[licenses] }
end
config.before(:each, :delete) do
DatabaseCleaner.strategy = :deletion, { except: %w[licenses plans] }
end
config.before(:each, :migration) do
DatabaseCleaner.strategy = :truncation, { cache_tables: false }
end
......
require 'spec_helper'
# Disable transactions via :truncate method because a foreign table
# can't see changes inside a transaction of a different connection.
describe Geo::FileDownloadDispatchWorker, :geo do
include ::EE::GeoHelpers
......@@ -171,7 +169,9 @@ describe Geo::FileDownloadDispatchWorker, :geo do
end
end
describe 'when PostgreSQL FDW is available', :geo, :truncate do
# Disable transactions via :delete method because a foreign table
# can't see changes inside a transaction of a different connection.
describe 'when PostgreSQL FDW is available', :geo, :delete do
# Skip if FDW isn't activated on this database
it_behaves_like '#perform', Gitlab::Database.postgresql? && !Gitlab::Geo.fdw?
end
......
require 'spec_helper'
# Disable transactions via :truncate method because a foreign table
# Disable transactions via :delete method because a foreign table
# can't see changes inside a transaction of a different connection.
describe Geo::RepositoryShardSyncWorker, :geo, :truncate, :clean_gitlab_redis_cache do
describe Geo::RepositoryShardSyncWorker, :geo, :delete, :clean_gitlab_redis_cache do
include ::EE::GeoHelpers
let!(:primary) { create(:geo_node, :primary) }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment