diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2022-07-05 18:08:48 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2022-07-05 18:08:48 +0300 |
commit | 205b6baf2677879c35968d2b659225b58e8a1227 (patch) | |
tree | 10ed06185aae2f6ed6e7c61349a92acab605daca /spec/workers | |
parent | f34077e88198da754b4efecd1ce1d996ce982286 (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/workers')
7 files changed, 65 insertions, 5 deletions
diff --git a/spec/workers/concerns/gitlab/github_import/object_importer_spec.rb b/spec/workers/concerns/gitlab/github_import/object_importer_spec.rb index 3cd82b8bf4d..5a32c1b40bb 100644 --- a/spec/workers/concerns/gitlab/github_import/object_importer_spec.rb +++ b/spec/workers/concerns/gitlab/github_import/object_importer_spec.rb @@ -22,6 +22,7 @@ RSpec.describe Gitlab::GithubImport::ObjectImporter, :aggregate_failures do end let_it_be(:project) { create(:project, :import_started) } + let_it_be(:project2) { create(:project, :import_canceled) } let(:importer_class) { double(:importer_class, name: 'klass_name') } let(:importer_instance) { double(:importer_instance) } @@ -110,6 +111,27 @@ RSpec.describe Gitlab::GithubImport::ObjectImporter, :aggregate_failures do }) end + it 'logs info if the import state is canceled' do + expect(project2.import_state.status).to eq('canceled') + + expect(importer_class).not_to receive(:new) + + expect(importer_instance).not_to receive(:execute) + + expect(Gitlab::GithubImport::Logger) + .to receive(:info) + .with( + { + github_identifiers: nil, + message: 'project import canceled', + project_id: project2.id, + importer: 'klass_name' + } + ) + + worker.import(project2, client, { 'number' => 11, 'github_id' => 2 } ) + end + it 'logs error when the import fails' do expect(importer_class) .to receive(:new) diff --git a/spec/workers/concerns/gitlab/github_import/stage_methods_spec.rb b/spec/workers/concerns/gitlab/github_import/stage_methods_spec.rb index 1e088929f66..0ac1733781a 100644 --- a/spec/workers/concerns/gitlab/github_import/stage_methods_spec.rb +++ b/spec/workers/concerns/gitlab/github_import/stage_methods_spec.rb @@ -4,6 +4,7 @@ require 'spec_helper' RSpec.describe Gitlab::GithubImport::StageMethods do let_it_be(:project) { create(:project, :import_started, import_url: 'https://t0ken@github.com/repo/repo.git') } + let_it_be(:project2) { create(:project, :import_canceled) } let(:worker) do Class.new do @@ -22,6 +23,37 @@ RSpec.describe Gitlab::GithubImport::StageMethods do worker.perform(-1) end + it 'returns if the import state is canceled' do + allow(worker) + .to receive(:find_project) + .with(project2.id) + .and_return(project2) + + expect(worker).not_to receive(:try_import) + + expect(Gitlab::GithubImport::Logger) + .to receive(:info) + .with( + { + message: 'starting stage', + project_id: project2.id, + import_stage: 'DummyStage' + } + ) + + expect(Gitlab::GithubImport::Logger) + .to receive(:info) + .with( + { + message: 'project import canceled', + project_id: project2.id, + import_stage: 'DummyStage' + } + ) + + worker.perform(project2.id) + end + it 'imports the data when the project exists' do allow(worker) .to receive(:find_project) diff --git a/spec/workers/gitlab/github_import/import_diff_note_worker_spec.rb b/spec/workers/gitlab/github_import/import_diff_note_worker_spec.rb index af15f465107..15bc55c1526 100644 --- a/spec/workers/gitlab/github_import/import_diff_note_worker_spec.rb +++ b/spec/workers/gitlab/github_import/import_diff_note_worker_spec.rb @@ -7,7 +7,8 @@ RSpec.describe Gitlab::GithubImport::ImportDiffNoteWorker do describe '#import' do it 'imports a diff note' do - project = double(:project, full_path: 'foo/bar', id: 1, import_state: nil) + import_state = create(:import_state, :started) + project = double(:project, full_path: 'foo/bar', id: 1, import_state: import_state) client = double(:client) importer = double(:importer) hash = { diff --git a/spec/workers/gitlab/github_import/import_issue_event_worker_spec.rb b/spec/workers/gitlab/github_import/import_issue_event_worker_spec.rb index 6af450151e3..03a6503fb84 100644 --- a/spec/workers/gitlab/github_import/import_issue_event_worker_spec.rb +++ b/spec/workers/gitlab/github_import/import_issue_event_worker_spec.rb @@ -6,8 +6,10 @@ RSpec.describe Gitlab::GithubImport::ImportIssueEventWorker do subject(:worker) { described_class.new } describe '#import' do + let(:import_state) { create(:import_state, :started) } + let(:project) do - instance_double('Project', full_path: 'foo/bar', id: 1, import_state: nil) + instance_double('Project', full_path: 'foo/bar', id: 1, import_state: import_state) end let(:client) { instance_double('Gitlab::GithubImport::Client') } diff --git a/spec/workers/gitlab/github_import/import_issue_worker_spec.rb b/spec/workers/gitlab/github_import/import_issue_worker_spec.rb index 29f21c1d184..c2a7639fde4 100644 --- a/spec/workers/gitlab/github_import/import_issue_worker_spec.rb +++ b/spec/workers/gitlab/github_import/import_issue_worker_spec.rb @@ -7,7 +7,8 @@ RSpec.describe Gitlab::GithubImport::ImportIssueWorker do describe '#import' do it 'imports an issue' do - project = double(:project, full_path: 'foo/bar', id: 1, import_state: nil) + import_state = create(:import_state, :started) + project = double(:project, full_path: 'foo/bar', id: 1, import_state: import_state) client = double(:client) importer = double(:importer) hash = { diff --git a/spec/workers/gitlab/github_import/import_note_worker_spec.rb b/spec/workers/gitlab/github_import/import_note_worker_spec.rb index f4598340938..16ca5658f77 100644 --- a/spec/workers/gitlab/github_import/import_note_worker_spec.rb +++ b/spec/workers/gitlab/github_import/import_note_worker_spec.rb @@ -7,7 +7,8 @@ RSpec.describe Gitlab::GithubImport::ImportNoteWorker do describe '#import' do it 'imports a note' do - project = double(:project, full_path: 'foo/bar', id: 1, import_state: nil) + import_state = create(:import_state, :started) + project = double(:project, full_path: 'foo/bar', id: 1, import_state: import_state) client = double(:client) importer = double(:importer) hash = { diff --git a/spec/workers/gitlab/github_import/import_pull_request_worker_spec.rb b/spec/workers/gitlab/github_import/import_pull_request_worker_spec.rb index faed2f8f340..59f45b437c4 100644 --- a/spec/workers/gitlab/github_import/import_pull_request_worker_spec.rb +++ b/spec/workers/gitlab/github_import/import_pull_request_worker_spec.rb @@ -7,7 +7,8 @@ RSpec.describe Gitlab::GithubImport::ImportPullRequestWorker do describe '#import' do it 'imports a pull request' do - project = double(:project, full_path: 'foo/bar', id: 1, import_state: nil) + import_state = create(:import_state, :started) + project = double(:project, full_path: 'foo/bar', id: 1, import_state: import_state) client = double(:client) importer = double(:importer) hash = { |