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
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2020-02-28 21:57:47 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2020-02-28 21:57:47 +0300
commit90768b3af0385ae687c3d7d45d0424f572cd6cfd (patch)
tree97457b6c849d22227db78bf7496f685c1e7175a8 /spec
parent40a4f1e07e1575f073bde7b19f960e9cb56fdc6e (diff)
Add latest changes from gitlab-org/security/gitlab@12-8-stable-ee
Diffstat (limited to 'spec')
-rw-r--r--spec/features/merge_request/user_creates_merge_request_spec.rb24
1 files changed, 22 insertions, 2 deletions
diff --git a/spec/features/merge_request/user_creates_merge_request_spec.rb b/spec/features/merge_request/user_creates_merge_request_spec.rb
index 67f6d8ebe32..86ee9fa5aa5 100644
--- a/spec/features/merge_request/user_creates_merge_request_spec.rb
+++ b/spec/features/merge_request/user_creates_merge_request_spec.rb
@@ -5,9 +5,9 @@ require "spec_helper"
describe "User creates a merge request", :js do
include ProjectForksHelper
+ let_it_be(:project) { create(:project, :repository) }
+ let_it_be(:user) { create(:user) }
let(:title) { "Some feature" }
- let(:project) { create(:project, :repository) }
- let(:user) { create(:user) }
before do
project.add_maintainer(user)
@@ -38,6 +38,26 @@ describe "User creates a merge request", :js do
end
end
+ context "XSS branch name exists" do
+ before do
+ project.repository.create_branch("<img/src='x'/onerror=alert('oops')>", "master")
+ end
+
+ it "doesn't execute the dodgy branch name" do
+ visit(project_new_merge_request_path(project))
+
+ find(".js-source-branch").click
+ click_link("<img/src='x'/onerror=alert('oops')>")
+
+ find(".js-target-branch").click
+ click_link("feature")
+
+ click_button("Compare branches")
+
+ expect { page.driver.browser.switch_to.alert }.to raise_error(Selenium::WebDriver::Error::NoSuchAlertError)
+ end
+ end
+
context "to a forked project" do
let(:forked_project) { fork_project(project, user, namespace: user.namespace, repository: true) }