summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAsh McKenzie <amckenzie@gitlab.com>2019-04-30 17:43:01 +1200
committerAsh McKenzie <amckenzie@gitlab.com>2019-04-30 18:27:56 +1000
commit3d0fc7fe2e9a5e9f3a24d3eed875044c196e5050 (patch)
treed58ab7a31850053cff06bd0886fa2093a648838d
parent1cbdc5326c779999350481b0aae78364837f3bb6 (diff)
downloadgitlab-ce-3d0fc7fe2e9a5e9f3a24d3eed875044c196e5050.tar.gz
Ensure Issue & MR note_html cannot be imported
-rw-r--r--spec/lib/gitlab/import_export/project.json6
-rw-r--r--spec/lib/gitlab/import_export/project_tree_restorer_spec.rb26
2 files changed, 16 insertions, 16 deletions
diff --git a/spec/lib/gitlab/import_export/project.json b/spec/lib/gitlab/import_export/project.json
index 24d376999fc..43afc067e08 100644
--- a/spec/lib/gitlab/import_export/project.json
+++ b/spec/lib/gitlab/import_export/project.json
@@ -158,8 +158,8 @@
{
"id": 351,
"note": "Quo reprehenderit aliquam qui dicta impedit cupiditate eligendi.",
- "note_html": "<p>dodgy html</p>",
- "cached_markdown_version": 434343,
+ "note_html": "<p>something else entirely</p>",
+ "cached_markdown_version": 917504,
"noteable_type": "Issue",
"author_id": 26,
"created_at": "2016-06-14T15:02:47.770Z",
@@ -2367,6 +2367,8 @@
{
"id": 671,
"note": "Sit voluptatibus eveniet architecto quidem.",
+ "note_html": "<p>something else entirely</p>",
+ "cached_markdown_version": 917504,
"noteable_type": "MergeRequest",
"author_id": 26,
"created_at": "2016-06-14T15:02:56.632Z",
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 7fd0ea539c2..056a1d52d78 100644
--- a/spec/lib/gitlab/import_export/project_tree_restorer_spec.rb
+++ b/spec/lib/gitlab/import_export/project_tree_restorer_spec.rb
@@ -10,7 +10,6 @@ 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')
@@ -22,7 +21,6 @@ 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)
- @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,20 +59,20 @@ describe Gitlab::ImportExport::ProjectTreeRestorer do
end
context 'when importing a project with cached_markdown_version and note_html' do
- 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(/Quo reprehenderit aliquam qui dicta impedit cupiditate eligendi/)
- end
-
- it 'does not set the old cached_markdown_version' do
- expect(note2.cached_markdown_version).not_to eq(121212)
+ context 'for an Issue' do
+ it 'does not import note_html' do
+ note_content = 'Quo reprehenderit aliquam qui dicta impedit cupiditate eligendi'
+ issue_note = Issue.find_by(description: 'Aliquam enim illo et possimus.').notes.select { |n| n.note.match(/#{note_content}/)}.first
+ expect(issue_note.note_html).to match(/#{note_content}/)
+ end
end
- it 'does not import the note_html' do
- expect(note2.note_html).to match(/Est reprehenderit quas aut aspernatur autem recusandae voluptatem/)
+ context 'for a Merge Request' do
+ it 'does not import note_html' do
+ note_content = 'Sit voluptatibus eveniet architecto quidem'
+ merge_request_note = MergeRequest.find_by(title: 'MR1').notes.select { |n| n.note.match(/#{note_content}/)}.first
+ expect(merge_request_note.note_html).to match(/#{note_content}/)
+ end
end
end