diff options
author | Robert Speicher <rspeicher@gmail.com> | 2021-01-20 22:34:23 +0300 |
---|---|---|
committer | Robert Speicher <rspeicher@gmail.com> | 2021-01-20 22:34:23 +0300 |
commit | 6438df3a1e0fb944485cebf07976160184697d72 (patch) | |
tree | 00b09bfd170e77ae9391b1a2f5a93ef6839f2597 /spec/lib/bulk_imports | |
parent | 42bcd54d971da7ef2854b896a7b34f4ef8601067 (diff) |
Add latest changes from gitlab-org/gitlab@13-8-stable-eev13.8.0-rc42
Diffstat (limited to 'spec/lib/bulk_imports')
6 files changed, 16 insertions, 72 deletions
diff --git a/spec/lib/bulk_imports/common/extractors/graphql_extractor_spec.rb b/spec/lib/bulk_imports/common/extractors/graphql_extractor_spec.rb index a7a19fb73fc..2abd3df20fd 100644 --- a/spec/lib/bulk_imports/common/extractors/graphql_extractor_spec.rb +++ b/spec/lib/bulk_imports/common/extractors/graphql_extractor_spec.rb @@ -27,11 +27,8 @@ RSpec.describe BulkImports::Common::Extractors::GraphqlExtractor do allow(graphql_client).to receive(:execute).and_return(response) end - it 'returns an enumerator with fetched results' do - response = subject.extract(context) - - expect(response).to be_instance_of(Enumerator) - expect(response.first).to eq({ foo: :bar }) + it 'returns original hash' do + expect(subject.extract(context)).to eq({ foo: :bar }) end end diff --git a/spec/lib/bulk_imports/groups/pipelines/group_pipeline_spec.rb b/spec/lib/bulk_imports/groups/pipelines/group_pipeline_spec.rb index c9b481388c3..1a91f3d7a78 100644 --- a/spec/lib/bulk_imports/groups/pipelines/group_pipeline_spec.rb +++ b/spec/lib/bulk_imports/groups/pipelines/group_pipeline_spec.rb @@ -75,13 +75,11 @@ RSpec.describe BulkImports::Groups::Pipelines::GroupPipeline do it { expect(described_class).to include_module(BulkImports::Pipeline::Runner) } it 'has extractors' do - expect(described_class.extractors) - .to contain_exactly( - { - klass: BulkImports::Common::Extractors::GraphqlExtractor, - options: { - query: BulkImports::Groups::Graphql::GetGroupQuery - } + expect(described_class.get_extractor) + .to eq( + klass: BulkImports::Common::Extractors::GraphqlExtractor, + options: { + query: BulkImports::Groups::Graphql::GetGroupQuery } ) end @@ -97,9 +95,7 @@ RSpec.describe BulkImports::Groups::Pipelines::GroupPipeline do end it 'has loaders' do - expect(described_class.loaders).to contain_exactly({ - klass: BulkImports::Groups::Loaders::GroupLoader, options: nil - }) + expect(described_class.get_loader).to eq(klass: BulkImports::Groups::Loaders::GroupLoader, options: nil) end end end diff --git a/spec/lib/bulk_imports/groups/pipelines/subgroup_entities_pipeline_spec.rb b/spec/lib/bulk_imports/groups/pipelines/subgroup_entities_pipeline_spec.rb index 788a6e98c45..e5a8ed7f47d 100644 --- a/spec/lib/bulk_imports/groups/pipelines/subgroup_entities_pipeline_spec.rb +++ b/spec/lib/bulk_imports/groups/pipelines/subgroup_entities_pipeline_spec.rb @@ -58,10 +58,7 @@ RSpec.describe BulkImports::Groups::Pipelines::SubgroupEntitiesPipeline do it { expect(described_class).to include_module(BulkImports::Pipeline::Runner) } it 'has extractors' do - expect(described_class.extractors).to contain_exactly( - klass: BulkImports::Groups::Extractors::SubgroupsExtractor, - options: nil - ) + expect(described_class.get_extractor).to eq(klass: BulkImports::Groups::Extractors::SubgroupsExtractor, options: nil) end it 'has transformers' do @@ -72,10 +69,7 @@ RSpec.describe BulkImports::Groups::Pipelines::SubgroupEntitiesPipeline do end it 'has loaders' do - expect(described_class.loaders).to contain_exactly( - klass: BulkImports::Common::Loaders::EntityLoader, - options: nil - ) + expect(described_class.get_loader).to eq(klass: BulkImports::Common::Loaders::EntityLoader, options: nil) end end end diff --git a/spec/lib/bulk_imports/importers/group_importer_spec.rb b/spec/lib/bulk_imports/importers/group_importer_spec.rb index 95dca7fc486..87baf1b8026 100644 --- a/spec/lib/bulk_imports/importers/group_importer_spec.rb +++ b/spec/lib/bulk_imports/importers/group_importer_spec.rb @@ -5,7 +5,7 @@ require 'spec_helper' RSpec.describe BulkImports::Importers::GroupImporter do let(:user) { create(:user) } let(:bulk_import) { create(:bulk_import) } - let(:bulk_import_entity) { create(:bulk_import_entity, bulk_import: bulk_import) } + let(:bulk_import_entity) { create(:bulk_import_entity, :started, bulk_import: bulk_import) } let(:bulk_import_configuration) { create(:bulk_import_configuration, bulk_import: bulk_import) } let(:context) do BulkImports::Pipeline::Context.new( @@ -18,14 +18,13 @@ RSpec.describe BulkImports::Importers::GroupImporter do subject { described_class.new(bulk_import_entity) } before do - allow(Gitlab).to receive(:ee?).and_return(false) allow(BulkImports::Pipeline::Context).to receive(:new).and_return(context) end describe '#execute' do it 'starts the entity and run its pipelines' do - expect(bulk_import_entity).to receive(:start).and_call_original expect_to_run_pipeline BulkImports::Groups::Pipelines::GroupPipeline, context: context + expect_to_run_pipeline('EE::BulkImports::Groups::Pipelines::EpicsPipeline'.constantize, context: context) if Gitlab.ee? expect_to_run_pipeline BulkImports::Groups::Pipelines::SubgroupEntitiesPipeline, context: context subject.execute diff --git a/spec/lib/bulk_imports/importers/groups_importer_spec.rb b/spec/lib/bulk_imports/importers/groups_importer_spec.rb deleted file mode 100644 index 4865034b0cd..00000000000 --- a/spec/lib/bulk_imports/importers/groups_importer_spec.rb +++ /dev/null @@ -1,36 +0,0 @@ -# frozen_string_literal: true - -require 'spec_helper' - -RSpec.describe BulkImports::Importers::GroupsImporter do - let_it_be(:bulk_import) { create(:bulk_import) } - - subject { described_class.new(bulk_import.id) } - - describe '#execute' do - context "when there is entities to be imported" do - let!(:bulk_import_entity) { create(:bulk_import_entity, bulk_import: bulk_import) } - - it "starts the bulk_import and imports its entities" do - expect(BulkImports::Importers::GroupImporter).to receive(:new) - .with(bulk_import_entity).and_return(double(execute: true)) - expect(BulkImportWorker).to receive(:perform_async).with(bulk_import.id) - - subject.execute - - expect(bulk_import.reload).to be_started - end - end - - context "when there is no entities to be imported" do - it "starts the bulk_import and imports its entities" do - expect(BulkImports::Importers::GroupImporter).not_to receive(:new) - expect(BulkImportWorker).not_to receive(:perform_async) - - subject.execute - - expect(bulk_import.reload).to be_finished - end - end - end -end diff --git a/spec/lib/bulk_imports/pipeline_spec.rb b/spec/lib/bulk_imports/pipeline_spec.rb index 94052be7df2..3811a02a7fd 100644 --- a/spec/lib/bulk_imports/pipeline_spec.rb +++ b/spec/lib/bulk_imports/pipeline_spec.rb @@ -24,9 +24,9 @@ RSpec.describe BulkImports::Pipeline do describe 'getters' do it 'retrieves class attributes' do - expect(BulkImports::MyPipeline.extractors).to contain_exactly({ klass: BulkImports::Extractor, options: { foo: :bar } }) + expect(BulkImports::MyPipeline.get_extractor).to eq({ klass: BulkImports::Extractor, options: { foo: :bar } }) expect(BulkImports::MyPipeline.transformers).to contain_exactly({ klass: BulkImports::Transformer, options: { foo: :bar } }) - expect(BulkImports::MyPipeline.loaders).to contain_exactly({ klass: BulkImports::Loader, options: { foo: :bar } }) + expect(BulkImports::MyPipeline.get_loader).to eq({ klass: BulkImports::Loader, options: { foo: :bar } }) expect(BulkImports::MyPipeline.abort_on_failure?).to eq(true) end end @@ -41,20 +41,14 @@ RSpec.describe BulkImports::Pipeline do BulkImports::MyPipeline.loader(klass, options) BulkImports::MyPipeline.abort_on_failure! - expect(BulkImports::MyPipeline.extractors) - .to contain_exactly( - { klass: BulkImports::Extractor, options: { foo: :bar } }, - { klass: klass, options: options }) + expect(BulkImports::MyPipeline.get_extractor).to eq({ klass: klass, options: options }) expect(BulkImports::MyPipeline.transformers) .to contain_exactly( { klass: BulkImports::Transformer, options: { foo: :bar } }, { klass: klass, options: options }) - expect(BulkImports::MyPipeline.loaders) - .to contain_exactly( - { klass: BulkImports::Loader, options: { foo: :bar } }, - { klass: klass, options: options }) + expect(BulkImports::MyPipeline.get_loader).to eq({ klass: klass, options: options }) expect(BulkImports::MyPipeline.abort_on_failure?).to eq(true) end |