Commit 8756cf51 authored by Rémy Coutable's avatar Rémy Coutable

Improve the en/dis-ablement of the ES feature in a flaky test

Signed-off-by: default avatarRémy Coutable <remy@rymai.me>
parent 50967e64
......@@ -2,45 +2,52 @@
require 'spec_helper'
RSpec.describe ElasticNamespaceIndexerWorker, :elastic do
RSpec.describe ElasticNamespaceIndexerWorker do
subject { described_class.new }
before do
stub_ee_application_setting(elasticsearch_indexing: true)
stub_ee_application_setting(elasticsearch_limit_indexing: true)
end
it 'returns true if ES disabled' do
stub_ee_application_setting(elasticsearch_indexing: false)
context 'when ES is disabled' do
before do
stub_ee_application_setting(elasticsearch_indexing: false)
stub_ee_application_setting(elasticsearch_limit_indexing: false)
end
expect(Elastic::ProcessInitialBookkeepingService).not_to receive(:backfill_projects!)
it 'returns true' do
expect(Elastic::ProcessInitialBookkeepingService).not_to receive(:backfill_projects!)
expect(subject.perform(1, "index")).to be_truthy
expect(subject.perform(1, "index")).to be_truthy
end
end
it 'returns true if limited indexing is not enabled' do
stub_ee_application_setting(elasticsearch_limit_indexing: false)
context 'when ES is enabled', :elastic do
before do
stub_ee_application_setting(elasticsearch_indexing: true)
stub_ee_application_setting(elasticsearch_limit_indexing: true)
end
expect(Elastic::ProcessInitialBookkeepingService).not_to receive(:backfill_projects!)
it 'returns true if limited indexing is not enabled' do
stub_ee_application_setting(elasticsearch_limit_indexing: false)
expect(subject.perform(1, "index")).to be_truthy
end
expect(Elastic::ProcessInitialBookkeepingService).not_to receive(:backfill_projects!)
expect(subject.perform(1, "index")).to be_truthy
end
describe 'indexing and deleting' do
let_it_be(:namespace) { create :namespace }
let(:projects) { create_list :project, 3, namespace: namespace }
describe 'indexing and deleting' do
let_it_be(:namespace) { create :namespace }
let(:projects) { create_list :project, 3, namespace: namespace }
it 'indexes all projects belonging to the namespace' do
expect(Elastic::ProcessInitialBookkeepingService).to receive(:backfill_projects!).with(*projects)
it 'indexes all projects belonging to the namespace' do
expect(Elastic::ProcessInitialBookkeepingService).to receive(:backfill_projects!).with(*projects)
subject.perform(namespace.id, :index)
end
subject.perform(namespace.id, :index)
end
it 'deletes all projects belonging to the namespace' do
args = projects.map { |project| [project.id, project.es_id] }
expect(ElasticDeleteProjectWorker).to receive(:bulk_perform_async).with(args)
it 'deletes all projects belonging to the namespace' do
args = projects.map { |project| [project.id, project.es_id] }
expect(ElasticDeleteProjectWorker).to receive(:bulk_perform_async).with(args)
subject.perform(namespace.id, :delete)
subject.perform(namespace.id, :delete)
end
end
end
end
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