summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRémy Coutable <remy@rymai.me>2019-03-13 13:38:28 +0000
committerRémy Coutable <remy@rymai.me>2019-03-13 13:38:28 +0000
commit535410a9f1661f7437614e21de95edcde0af292e (patch)
treec9cfa3ed2b52ac139b12a21f67dc06373d86a04a
parent266b432894652f552d4a51bb6e7b807538aff0df (diff)
parent5137fce2fd4fc739e2ab1d8c61dc8b72eda7c353 (diff)
downloadgitlab-ce-535410a9f1661f7437614e21de95edcde0af292e.tar.gz
Merge branch 'sh-fix-blank-codeowners-ce' into 'master'
Fix 500 error caused by CODEOWNERS with no matches Closes gitlab-ee#10282 See merge request gitlab-org/gitlab-ce!26072
-rw-r--r--changelogs/unreleased/sh-fix-blank-codeowners-ce.yml5
-rw-r--r--lib/gitlab/user_extractor.rb1
-rw-r--r--spec/lib/gitlab/user_extractor_spec.rb8
3 files changed, 14 insertions, 0 deletions
diff --git a/changelogs/unreleased/sh-fix-blank-codeowners-ce.yml b/changelogs/unreleased/sh-fix-blank-codeowners-ce.yml
new file mode 100644
index 00000000000..05ea5869eb1
--- /dev/null
+++ b/changelogs/unreleased/sh-fix-blank-codeowners-ce.yml
@@ -0,0 +1,5 @@
+---
+title: Fix 500 error caused by CODEOWNERS with no matches
+merge_request: 26072
+author:
+type: fixed
diff --git a/lib/gitlab/user_extractor.rb b/lib/gitlab/user_extractor.rb
index 874599688bb..b41d085ee77 100644
--- a/lib/gitlab/user_extractor.rb
+++ b/lib/gitlab/user_extractor.rb
@@ -16,6 +16,7 @@ module Gitlab
def users
return User.none unless @text.present?
+ return User.none if references.empty?
@users ||= User.from_union(union_relations)
end
diff --git a/spec/lib/gitlab/user_extractor_spec.rb b/spec/lib/gitlab/user_extractor_spec.rb
index fcc05ab3a0c..6e2bb81fbda 100644
--- a/spec/lib/gitlab/user_extractor_spec.rb
+++ b/spec/lib/gitlab/user_extractor_spec.rb
@@ -48,6 +48,14 @@ describe Gitlab::UserExtractor do
it 'includes all mentioned usernames' do
expect(extractor.matches[:usernames]).to contain_exactly('user-1', 'user-2', 'user-4')
end
+
+ context 'input has no matching e-mail or usernames' do
+ it 'returns an empty list of users' do
+ extractor = described_class.new('My test')
+
+ expect(extractor.users).to be_empty
+ end
+ end
end
describe '#references' do