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
path: root/spec/lib
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2020-03-20 18:09:17 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2020-03-20 18:09:17 +0300
commit194b499aa8e26df26ff70a1e1ce0396587bd5243 (patch)
treec873ac9c3096faf4a5da43d6670107461da2a7d7 /spec/lib
parent43b4b3e2d2ddebc0a89b94a8251c162ec5719780 (diff)
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/lib')
-rw-r--r--spec/lib/gitlab/file_detector_spec.rb15
-rw-r--r--spec/lib/gitlab/import_export/relation_tree_restorer_spec.rb56
2 files changed, 69 insertions, 2 deletions
diff --git a/spec/lib/gitlab/file_detector_spec.rb b/spec/lib/gitlab/file_detector_spec.rb
index 3972bd24e80..5bf70ef898a 100644
--- a/spec/lib/gitlab/file_detector_spec.rb
+++ b/spec/lib/gitlab/file_detector_spec.rb
@@ -96,14 +96,25 @@ describe Gitlab::FileDetector do
'swagger.yml', 'swagger.yaml', 'swagger.json',
'gitlab_swagger.yml', 'openapi_gitlab.yml',
'OpenAPI.YML', 'openapi.Yaml', 'openapi.JSON',
- 'openapi.gitlab.yml', 'gitlab.openapi.yml'
+ 'openapi.gitlab.yml', 'gitlab.openapi.yml',
+ 'attention/openapi.yml', 'attention/swagger.yml',
+ 'attention/gitlab_swagger.yml', 'attention/openapi_gitlab.yml',
+ 'openapi/openapi.yml', 'openapi/swagger.yml',
+ 'openapi/my_openapi.yml', 'openapi/swagger_one.yml'
]
openapi_types.each do |type_name|
expect(described_class.type_of(type_name)).to eq(:openapi)
end
- expect(described_class.type_of('openapiyml')).to be_nil
+ openapi_bad_types = [
+ 'openapiyml',
+ 'openapi/attention.yaml', 'swagger/attention.yaml'
+ ]
+
+ openapi_bad_types.each do |type_name|
+ expect(described_class.type_of(type_name)).to be_nil
+ end
end
end
end
diff --git a/spec/lib/gitlab/import_export/relation_tree_restorer_spec.rb b/spec/lib/gitlab/import_export/relation_tree_restorer_spec.rb
index 578418998c0..e36144b1a30 100644
--- a/spec/lib/gitlab/import_export/relation_tree_restorer_spec.rb
+++ b/spec/lib/gitlab/import_export/relation_tree_restorer_spec.rb
@@ -60,6 +60,38 @@ describe Gitlab::ImportExport::RelationTreeRestorer do
end
end
+ shared_examples 'logging of relations creation' do
+ context 'when log_import_export_relation_creation feature flag is enabled' do
+ before do
+ stub_feature_flags(log_import_export_relation_creation: { enabled: true, thing: group })
+ end
+
+ it 'logs top-level relation creation' do
+ expect(relation_tree_restorer.shared.logger)
+ .to receive(:info)
+ .with(hash_including(message: '[Project/Group Import] Created new object relation'))
+ .at_least(:once)
+
+ subject
+ end
+ end
+
+ context 'when log_import_export_relation_creation feature flag is disabled' do
+ before do
+ stub_feature_flags(log_import_export_relation_creation: { enabled: false, thing: group })
+ end
+
+ it 'does not log top-level relation creation' do
+ expect(relation_tree_restorer.shared.logger)
+ .to receive(:info)
+ .with(hash_including(message: '[Project/Group Import] Created new object relation'))
+ .never
+
+ subject
+ end
+ end
+ end
+
context 'when restoring a project' do
let(:path) { 'spec/fixtures/lib/gitlab/import_export/complex/project.json' }
let(:importable) { create(:project, :builds_enabled, :issues_disabled, name: 'project', path: 'project') }
@@ -71,6 +103,30 @@ describe Gitlab::ImportExport::RelationTreeRestorer do
let(:relation_reader) { Gitlab::ImportExport::JSON::LegacyReader::File.new(path, reader.project_relation_names) }
it_behaves_like 'import project successfully'
+
+ context 'logging of relations creation' do
+ let(:group) { create(:group) }
+ let(:importable) { create(:project, :builds_enabled, :issues_disabled, name: 'project', path: 'project', group: group) }
+
+ include_examples 'logging of relations creation'
+ end
+ end
+ end
+
+ context 'when restoring a group' do
+ let(:path) { 'spec/fixtures/lib/gitlab/import_export/group_exports/no_children/group.json' }
+ let(:group) { create(:group) }
+ let(:importable) { create(:group, parent: group) }
+ let(:object_builder) { Gitlab::ImportExport::Group::ObjectBuilder }
+ let(:relation_factory) { Gitlab::ImportExport::Group::RelationFactory }
+ let(:relation_reader) { Gitlab::ImportExport::JSON::LegacyReader::File.new(path, reader.group_relation_names) }
+ let(:reader) do
+ Gitlab::ImportExport::Reader.new(
+ shared: shared,
+ config: Gitlab::ImportExport::Config.new(config: Gitlab::ImportExport.group_config_file).to_h
+ )
end
+
+ include_examples 'logging of relations creation'
end
end