summaryrefslogtreecommitdiff
path: root/spec/lib/gitlab/import_export
diff options
context:
space:
mode:
authorcharlieablett <cablett@gitlab.com>2019-04-24 14:31:20 +1200
committercharlieablett <cablett@gitlab.com>2019-04-24 14:31:20 +1200
commit7e6befc05de87ba44115bbae0274c65727f9c2b9 (patch)
tree33465e8177975f59044c46f7d1ef3f6e8feacc8c /spec/lib/gitlab/import_export
parentb8c3e60ea23cd8c6f32ed438fd3c155add47a8e1 (diff)
downloadgitlab-ce-7e6befc05de87ba44115bbae0274c65727f9c2b9.tar.gz
Add disallowed fields to AttributeCleaner
Diffstat (limited to 'spec/lib/gitlab/import_export')
-rw-r--r--spec/lib/gitlab/import_export/attribute_cleaner_spec.rb6
-rw-r--r--spec/lib/gitlab/import_export/project_tree_restorer_spec.rb12
2 files changed, 8 insertions, 10 deletions
diff --git a/spec/lib/gitlab/import_export/attribute_cleaner_spec.rb b/spec/lib/gitlab/import_export/attribute_cleaner_spec.rb
index 536cc359d39..99669285d5b 100644
--- a/spec/lib/gitlab/import_export/attribute_cleaner_spec.rb
+++ b/spec/lib/gitlab/import_export/attribute_cleaner_spec.rb
@@ -18,7 +18,11 @@ describe Gitlab::ImportExport::AttributeCleaner do
'notid' => 99,
'import_source' => 'whatever',
'import_type' => 'whatever',
- 'non_existent_attr' => 'whatever'
+ 'non_existent_attr' => 'whatever',
+ 'some_html' => '<p>dodgy html</p>',
+ 'legit_html' => '<p>legit html</p>',
+ '_html' => '<p>perfectly ordinary html</p>',
+ 'cached_markdown_version' => 12345
}
end
diff --git a/spec/lib/gitlab/import_export/project_tree_restorer_spec.rb b/spec/lib/gitlab/import_export/project_tree_restorer_spec.rb
index 8853a922e47..7fd0ea539c2 100644
--- a/spec/lib/gitlab/import_export/project_tree_restorer_spec.rb
+++ b/spec/lib/gitlab/import_export/project_tree_restorer_spec.rb
@@ -10,6 +10,7 @@ describe Gitlab::ImportExport::ProjectTreeRestorer do
create(:user, username: 'bernard_willms'),
create(:user, username: 'saul_will')
]
+ @markdown_classes = [AbuseReport, Appearance, ApplicationSetting, BroadcastMessage, Issue, Label, MergeRequest, Milestone, Namespace, Project, Release, ResourceLabelEvent, Snippet, UserStatus]
RSpec::Mocks.with_temporary_scope do
@project = create(:project, :builds_enabled, :issues_disabled, name: 'project', path: 'project')
@@ -21,8 +22,7 @@ describe Gitlab::ImportExport::ProjectTreeRestorer do
expect_any_instance_of(Gitlab::Git::Repository).to receive(:create_branch).with('feature', 'DCBA')
allow_any_instance_of(Gitlab::Git::Repository).to receive(:create_branch)
- allow_any_instance_of(Project).to receive(:latest_cached_markdown_version).and_return(434343)
- allow_any_instance_of(Note).to receive(:latest_cached_markdown_version).and_return(434343)
+ @markdown_classes.each {|klass| allow_any_instance_of(klass).to receive(:latest_cached_markdown_version).and_return(434343)}
@project_tree_restorer = described_class.new(user: @user, shared: @shared, project: @project)
@@ -61,18 +61,12 @@ describe Gitlab::ImportExport::ProjectTreeRestorer do
end
context 'when importing a project with cached_markdown_version and note_html' do
- before do
- expect(Gitlab::ImportExport::RelationFactory).not_to receive(:create).with(hash_including(excluded_keys: ['whatever']))
- expect(Gitlab::ImportExport::RelationFactory).to receive(:create).with(hash_including(excluded_keys: %w(note_html, cached_markdown_version))).and_call_original.at_least(:once)
- allow(@project_tree_restorer).to receive(:excluded_keys_for_relation).and_return(%w(note_html, cached_markdown_version))
- end
-
let!(:issue) { Issue.find_by(description: 'Aliquam enim illo et possimus.') }
let(:note1) { issue.notes.select {|n| n.note.match(/Quo reprehenderit aliquam qui dicta impedit cupiditate eligendi/)}.first }
let(:note2) { issue.notes.select {|n| n.note.match(/Est reprehenderit quas aut aspernatur autem recusandae voluptatem/)}.first }
it 'does not import the note_html' do
- expect(note1.note_html).to match(/Et hic est id similique et non nesciunt voluptate/)
+ expect(note1.note_html).to match(/Quo reprehenderit aliquam qui dicta impedit cupiditate eligendi/)
end
it 'does not set the old cached_markdown_version' do