Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'spec/workers/gitlab/jira_import/stage')
-rw-r--r--spec/workers/gitlab/jira_import/stage/finish_import_worker_spec.rb48
-rw-r--r--spec/workers/gitlab/jira_import/stage/import_attachments_worker_spec.rb25
-rw-r--r--spec/workers/gitlab/jira_import/stage/import_issues_worker_spec.rb66
-rw-r--r--spec/workers/gitlab/jira_import/stage/import_labels_worker_spec.rb43
-rw-r--r--spec/workers/gitlab/jira_import/stage/import_notes_worker_spec.rb25
-rw-r--r--spec/workers/gitlab/jira_import/stage/start_import_worker_spec.rb76
6 files changed, 97 insertions, 186 deletions
diff --git a/spec/workers/gitlab/jira_import/stage/finish_import_worker_spec.rb b/spec/workers/gitlab/jira_import/stage/finish_import_worker_spec.rb
index 4cb6f5e28b8..084302be7d8 100644
--- a/spec/workers/gitlab/jira_import/stage/finish_import_worker_spec.rb
+++ b/spec/workers/gitlab/jira_import/stage/finish_import_worker_spec.rb
@@ -11,47 +11,33 @@ describe Gitlab::JiraImport::Stage::FinishImportWorker do
end
describe '#perform' do
- context 'when feature flag enabled' do
- before do
- stub_feature_flags(jira_issue_import: false)
- end
+ let_it_be(:jira_import, reload: true) { create(:jira_import_state, :scheduled, project: project) }
+ context 'when import did not start' do
it_behaves_like 'cannot do Jira import'
end
- context 'when feature flag enabled' do
- let_it_be(:jira_import, reload: true) { create(:jira_import_state, :scheduled, project: project) }
+ context 'when import started' do
+ let_it_be(:import_label) { create(:label, project: project, title: 'jira-import') }
+ let_it_be(:imported_issues) { create_list(:labeled_issue, 3, project: project, labels: [import_label]) }
before do
- stub_feature_flags(jira_issue_import: true)
- end
+ expect(Gitlab::JiraImport).to receive(:get_import_label_id).and_return(import_label.id)
+ expect(Gitlab::JiraImport).to receive(:issue_failures).and_return(2)
- context 'when import did not start' do
- it_behaves_like 'cannot do Jira import'
+ jira_import.start!
+ worker.perform(project.id)
end
- context 'when import started' do
- let_it_be(:import_label) { create(:label, project: project, title: 'jira-import') }
- let_it_be(:imported_issues) { create_list(:labeled_issue, 3, project: project, labels: [import_label]) }
-
- before do
- expect(Gitlab::JiraImport).to receive(:get_import_label_id).and_return(import_label.id)
- expect(Gitlab::JiraImport).to receive(:issue_failures).and_return(2)
-
- jira_import.start!
- worker.perform(project.id)
- end
-
- it 'changes import state to finished' do
- expect(project.jira_import_status).to eq('finished')
- end
+ it 'changes import state to finished' do
+ expect(project.jira_import_status).to eq('finished')
+ end
- it 'saves imported issues counts' do
- latest_jira_import = project.latest_jira_import
- expect(latest_jira_import.total_issue_count).to eq(5)
- expect(latest_jira_import.failed_to_import_count).to eq(2)
- expect(latest_jira_import.imported_issues_count).to eq(3)
- end
+ it 'saves imported issues counts' do
+ latest_jira_import = project.latest_jira_import
+ expect(latest_jira_import.total_issue_count).to eq(5)
+ expect(latest_jira_import.failed_to_import_count).to eq(2)
+ expect(latest_jira_import.imported_issues_count).to eq(3)
end
end
end
diff --git a/spec/workers/gitlab/jira_import/stage/import_attachments_worker_spec.rb b/spec/workers/gitlab/jira_import/stage/import_attachments_worker_spec.rb
index e6d41ae8bb4..34981d974cd 100644
--- a/spec/workers/gitlab/jira_import/stage/import_attachments_worker_spec.rb
+++ b/spec/workers/gitlab/jira_import/stage/import_attachments_worker_spec.rb
@@ -10,34 +10,19 @@ describe Gitlab::JiraImport::Stage::ImportAttachmentsWorker do
end
describe '#perform' do
- context 'when feature flag disabled' do
- before do
- stub_feature_flags(jira_issue_import: false)
- end
+ let_it_be(:jira_import) { create(:jira_import_state, :scheduled, project: project) }
+ context 'when import did not start' do
it_behaves_like 'cannot do Jira import'
it_behaves_like 'does not advance to next stage'
end
- context 'when feature flag enabled' do
- let_it_be(:jira_import) { create(:jira_import_state, :scheduled, project: project) }
-
+ context 'when import started' do
before do
- stub_feature_flags(jira_issue_import: true)
+ jira_import.start!
end
- context 'when import did not start' do
- it_behaves_like 'cannot do Jira import'
- it_behaves_like 'does not advance to next stage'
- end
-
- context 'when import started' do
- before do
- jira_import.start!
- end
-
- it_behaves_like 'advance to next stage', :notes
- end
+ it_behaves_like 'advance to next stage', :notes
end
end
end
diff --git a/spec/workers/gitlab/jira_import/stage/import_issues_worker_spec.rb b/spec/workers/gitlab/jira_import/stage/import_issues_worker_spec.rb
index f2067522af4..40f6cf75412 100644
--- a/spec/workers/gitlab/jira_import/stage/import_issues_worker_spec.rb
+++ b/spec/workers/gitlab/jira_import/stage/import_issues_worker_spec.rb
@@ -13,65 +13,53 @@ describe Gitlab::JiraImport::Stage::ImportIssuesWorker do
end
describe '#perform' do
- context 'when feature flag disabled' do
- before do
- stub_feature_flags(jira_issue_import: false)
- end
+ let_it_be(:jira_import, reload: true) { create(:jira_import_state, :scheduled, project: project) }
+
+ before do
+ stub_jira_service_test
+ end
+ context 'when import did not start' do
it_behaves_like 'cannot do Jira import'
it_behaves_like 'does not advance to next stage'
end
- context 'when feature flag enabled' do
- let_it_be(:jira_import, reload: true) { create(:jira_import_state, :scheduled, project: project) }
+ context 'when import started', :clean_gitlab_redis_cache do
+ let_it_be(:jira_service) { create(:jira_service, project: project) }
before do
- stub_feature_flags(jira_issue_import: true)
- stub_jira_service_test
+ jira_import.start!
+ allow_next_instance_of(Gitlab::JiraImport::IssuesImporter) do |instance|
+ allow(instance).to receive(:fetch_issues).and_return([])
+ end
end
- context 'when import did not start' do
- it_behaves_like 'cannot do Jira import'
- it_behaves_like 'does not advance to next stage'
+ context 'when start_at is nil' do
+ it_behaves_like 'advance to next stage', :attachments
end
- context 'when import started', :clean_gitlab_redis_cache do
- let_it_be(:jira_service) { create(:jira_service, project: project) }
-
+ context 'when start_at is zero' do
before do
- jira_import.start!
- allow_next_instance_of(Gitlab::JiraImport::IssuesImporter) do |instance|
- allow(instance).to receive(:fetch_issues).and_return([])
- end
- end
-
- context 'when start_at is nil' do
- it_behaves_like 'advance to next stage', :attachments
+ allow(Gitlab::Cache::Import::Caching).to receive(:read).and_return(0)
end
- context 'when start_at is zero' do
- before do
- allow(Gitlab::Cache::Import::Caching).to receive(:read).and_return(0)
- end
+ it_behaves_like 'advance to next stage', :issues
+ end
- it_behaves_like 'advance to next stage', :issues
+ context 'when start_at is greater than zero' do
+ before do
+ allow(Gitlab::Cache::Import::Caching).to receive(:read).and_return(25)
end
- context 'when start_at is greater than zero' do
- before do
- allow(Gitlab::Cache::Import::Caching).to receive(:read).and_return(25)
- end
+ it_behaves_like 'advance to next stage', :issues
+ end
- it_behaves_like 'advance to next stage', :issues
+ context 'when start_at is below zero' do
+ before do
+ allow(Gitlab::Cache::Import::Caching).to receive(:read).and_return(-1)
end
- context 'when start_at is below zero' do
- before do
- allow(Gitlab::Cache::Import::Caching).to receive(:read).and_return(-1)
- end
-
- it_behaves_like 'advance to next stage', :attachments
- end
+ it_behaves_like 'advance to next stage', :attachments
end
end
end
diff --git a/spec/workers/gitlab/jira_import/stage/import_labels_worker_spec.rb b/spec/workers/gitlab/jira_import/stage/import_labels_worker_spec.rb
index 7f289de5422..1215b41bd9f 100644
--- a/spec/workers/gitlab/jira_import/stage/import_labels_worker_spec.rb
+++ b/spec/workers/gitlab/jira_import/stage/import_labels_worker_spec.rb
@@ -13,48 +13,33 @@ describe Gitlab::JiraImport::Stage::ImportLabelsWorker do
end
describe '#perform' do
- context 'when feature flag disabled' do
- before do
- stub_feature_flags(jira_issue_import: false)
- end
+ let_it_be(:jira_import, reload: true) { create(:jira_import_state, :scheduled, project: project) }
+ context 'when import did not start' do
it_behaves_like 'cannot do Jira import'
it_behaves_like 'does not advance to next stage'
end
- context 'when feature flag enabled' do
- let_it_be(:jira_import, reload: true) { create(:jira_import_state, :scheduled, project: project) }
+ context 'when import started' do
+ let!(:jira_service) { create(:jira_service, project: project) }
before do
- stub_feature_flags(jira_issue_import: true)
- end
-
- context 'when import did not start' do
- it_behaves_like 'cannot do Jira import'
- it_behaves_like 'does not advance to next stage'
- end
+ stub_jira_service_test
- context 'when import started' do
- let!(:jira_service) { create(:jira_service, project: project) }
+ jira_import.start!
- before do
- stub_jira_service_test
+ WebMock.stub_request(:get, 'https://jira.example.com/rest/api/2/label?maxResults=500&startAt=0')
+ .to_return(body: {}.to_json )
+ end
- jira_import.start!
+ it_behaves_like 'advance to next stage', :issues
- WebMock.stub_request(:get, 'https://jira.example.com/rest/api/2/label?maxResults=500&startAt=0')
- .to_return(body: {}.to_json )
+ it 'executes labels importer' do
+ expect_next_instance_of(Gitlab::JiraImport::LabelsImporter) do |instance|
+ expect(instance).to receive(:execute).and_return(Gitlab::JobWaiter.new)
end
- it_behaves_like 'advance to next stage', :issues
-
- it 'executes labels importer' do
- expect_next_instance_of(Gitlab::JiraImport::LabelsImporter) do |instance|
- expect(instance).to receive(:execute).and_return(Gitlab::JobWaiter.new)
- end
-
- described_class.new.perform(project.id)
- end
+ described_class.new.perform(project.id)
end
end
end
diff --git a/spec/workers/gitlab/jira_import/stage/import_notes_worker_spec.rb b/spec/workers/gitlab/jira_import/stage/import_notes_worker_spec.rb
index f9bdbd669d8..a0a9ad6f695 100644
--- a/spec/workers/gitlab/jira_import/stage/import_notes_worker_spec.rb
+++ b/spec/workers/gitlab/jira_import/stage/import_notes_worker_spec.rb
@@ -10,34 +10,19 @@ describe Gitlab::JiraImport::Stage::ImportNotesWorker do
end
describe '#perform' do
- context 'when feature flag disabled' do
- before do
- stub_feature_flags(jira_issue_import: false)
- end
+ let_it_be(:jira_import) { create(:jira_import_state, :scheduled, project: project) }
+ context 'when import did not start' do
it_behaves_like 'cannot do Jira import'
it_behaves_like 'does not advance to next stage'
end
- context 'when feature flag enabled' do
- let_it_be(:jira_import) { create(:jira_import_state, :scheduled, project: project) }
-
+ context 'when import started' do
before do
- stub_feature_flags(jira_issue_import: true)
+ jira_import.start!
end
- context 'when import did not start' do
- it_behaves_like 'cannot do Jira import'
- it_behaves_like 'does not advance to next stage'
- end
-
- context 'when import started' do
- before do
- jira_import.start!
- end
-
- it_behaves_like 'advance to next stage', :finish
- end
+ it_behaves_like 'advance to next stage', :finish
end
end
end
diff --git a/spec/workers/gitlab/jira_import/stage/start_import_worker_spec.rb b/spec/workers/gitlab/jira_import/stage/start_import_worker_spec.rb
index 9cffe6e4ff7..a4fc761accf 100644
--- a/spec/workers/gitlab/jira_import/stage/start_import_worker_spec.rb
+++ b/spec/workers/gitlab/jira_import/stage/start_import_worker_spec.rb
@@ -12,80 +12,62 @@ describe Gitlab::JiraImport::Stage::StartImportWorker do
end
describe '#perform' do
- context 'when feature flag not disabled' do
- before do
- stub_feature_flags(jira_issue_import: false)
- end
+ let_it_be(:jira_import, reload: true) { create(:jira_import_state, project: project, jid: jid) }
- it 'exits because import not allowed' do
+ context 'when import is not scheduled' do
+ it 'exits because import not started' do
expect(Gitlab::JiraImport::Stage::ImportLabelsWorker).not_to receive(:perform_async)
worker.perform(project.id)
end
end
- context 'when feature flag enabled' do
- let_it_be(:jira_import, reload: true) { create(:jira_import_state, project: project, jid: jid) }
-
+ context 'when import is scheduled' do
before do
- stub_feature_flags(jira_issue_import: true)
+ jira_import.schedule!
end
- context 'when import is not scheduled' do
- it 'exits because import not started' do
- expect(Gitlab::JiraImport::Stage::ImportLabelsWorker).not_to receive(:perform_async)
+ it 'advances to importing labels' do
+ expect(Gitlab::JiraImport::Stage::ImportLabelsWorker).to receive(:perform_async)
- worker.perform(project.id)
- end
+ worker.perform(project.id)
end
+ end
- context 'when import is scheduled' do
- before do
- jira_import.schedule!
- end
+ context 'when import is started' do
+ before do
+ jira_import.update!(status: :started)
+ end
+ context 'when this is the same worker that stated import' do
it 'advances to importing labels' do
+ allow(worker).to receive(:jid).and_return(jid)
expect(Gitlab::JiraImport::Stage::ImportLabelsWorker).to receive(:perform_async)
worker.perform(project.id)
end
end
- context 'when import is started' do
- before do
- jira_import.update!(status: :started)
- end
-
- context 'when this is the same worker that stated import' do
- it 'advances to importing labels' do
- allow(worker).to receive(:jid).and_return(jid)
- expect(Gitlab::JiraImport::Stage::ImportLabelsWorker).to receive(:perform_async)
-
- worker.perform(project.id)
- end
- end
-
- context 'when this is a different worker that stated import' do
- it 'advances to importing labels' do
- allow(worker).to receive(:jid).and_return('87654321')
- expect(Gitlab::JiraImport::Stage::ImportLabelsWorker).not_to receive(:perform_async)
+ context 'when this is a different worker that stated import' do
+ it 'advances to importing labels' do
+ allow(worker).to receive(:jid).and_return('87654321')
+ expect(Gitlab::JiraImport::Stage::ImportLabelsWorker).not_to receive(:perform_async)
- worker.perform(project.id)
- end
+ worker.perform(project.id)
end
end
+ end
- context 'when import is finished' do
- before do
- jira_import.update!(status: :finished)
- end
+ context 'when import is finished' do
+ before do
+ jira_import.update!(status: :finished)
+ end
- it 'advances to importing labels' do
- allow(worker).to receive(:jid).and_return(jid)
- expect(Gitlab::JiraImport::Stage::ImportLabelsWorker).not_to receive(:perform_async)
+ it 'advances to importing labels' do
+ allow(worker).to receive(:jid).and_return(jid)
+ expect(Gitlab::JiraImport::Stage::ImportLabelsWorker).not_to receive(:perform_async)
- worker.perform(project.id)
- end
+ worker.perform(project.id)
end
end
end