Commit 96fd31af authored by Jan Provaznik's avatar Jan Provaznik

Merge branch '339410-gitlab-migration-migrate-auto-devops' into 'master'

Resolve "GitLab Migration - Migrate Auto DevOps"

See merge request gitlab-org/gitlab!74437
parents 0845b8a9 256de77c
......@@ -21,6 +21,7 @@ RSpec.describe BulkImports::Projects::Stage do
[4, BulkImports::Projects::Pipelines::ProjectFeaturePipeline],
[5, BulkImports::Common::Pipelines::WikiPipeline],
[5, BulkImports::Common::Pipelines::UploadsPipeline],
[5, BulkImports::Projects::Pipelines::AutoDevopsPipeline],
[6, BulkImports::Common::Pipelines::EntityFinisher]
]
end
......
# frozen_string_literal: true
module BulkImports
module Projects
module Pipelines
class AutoDevopsPipeline
include NdjsonPipeline
relation_name 'auto_devops'
extractor ::BulkImports::Common::Extractors::NdjsonExtractor, relation: relation
end
end
end
end
......@@ -67,6 +67,10 @@ module BulkImports
pipeline: BulkImports::Common::Pipelines::UploadsPipeline,
stage: 5
},
auto_devops: {
pipeline: BulkImports::Projects::Pipelines::AutoDevopsPipeline,
stage: 5
},
finisher: {
pipeline: BulkImports::Common::Pipelines::EntityFinisher,
stage: 6
......
# frozen_string_literal: true
require 'spec_helper'
RSpec.describe BulkImports::Projects::Pipelines::AutoDevopsPipeline do
let_it_be(:user) { create(:user) }
let_it_be(:group) { create(:group) }
let_it_be(:project) { create(:project, group: group) }
let_it_be(:bulk_import) { create(:bulk_import, user: user) }
let_it_be(:entity) do
create(
:bulk_import_entity,
:project_entity,
project: project,
bulk_import: bulk_import,
source_full_path: 'source/full/path',
destination_name: 'My Destination Project',
destination_namespace: group.full_path
)
end
let_it_be(:tracker) { create(:bulk_import_tracker, entity: entity) }
let_it_be(:context) { BulkImports::Pipeline::Context.new(tracker) }
let(:auto_devops) do
{
'created_at' => '2016-06-13T15:02:47.967Z',
'updated_at' => '2016-06-14T15:02:47.967Z',
'enabled' => true,
'deploy_strategy' => 'continuous'
}
end
subject(:pipeline) { described_class.new(context) }
describe '#run' do
it 'imports auto devops options into destination project' do
group.add_owner(user)
allow_next_instance_of(BulkImports::Common::Extractors::NdjsonExtractor) do |extractor|
allow(extractor).to receive(:extract).and_return(BulkImports::Pipeline::ExtractedData.new(data: [auto_devops]))
end
pipeline.run
expect(project.auto_devops.enabled).to be_truthy
expect(project.auto_devops.deploy_strategy).to eq('continuous')
expect(project.auto_devops.created_at).to eq('2016-06-13T15:02:47.967Z')
expect(project.auto_devops.updated_at).to eq('2016-06-14T15:02:47.967Z')
end
end
end
......@@ -22,6 +22,7 @@ RSpec.describe BulkImports::Projects::Stage do
[4, BulkImports::Projects::Pipelines::ProjectFeaturePipeline],
[5, BulkImports::Common::Pipelines::WikiPipeline],
[5, BulkImports::Common::Pipelines::UploadsPipeline],
[5, BulkImports::Projects::Pipelines::AutoDevopsPipeline],
[6, BulkImports::Common::Pipelines::EntityFinisher]
]
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