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

Merge branch...

Merge branch '224097-flaky-elasticindexerworker-specs-fail-for-400-error-ee-spec-workers' into 'master'

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

Closes #224097

See merge request gitlab-org/gitlab!36326
parents 03603d33 8756cf51
......@@ -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