diff options
author | Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> | 2016-10-06 16:59:22 +0300 |
---|---|---|
committer | Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> | 2016-10-06 19:50:48 +0300 |
commit | 42c6555bab47eb042749be1f24d486797eb8d8ee (patch) | |
tree | 2931584b6ce06de3162f0b43aca5ceefd17a3f7c | |
parent | 105260314899303de4c70a1125b5ab69fb50e6d9 (diff) | |
download | gitlab-ce-42c6555bab47eb042749be1f24d486797eb8d8ee.tar.gz |
Make user constrainer lookup same as controller and add more constrainer tests
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
-rw-r--r-- | lib/constraints/user_url_constrainer.rb | 2 | ||||
-rw-r--r-- | spec/lib/constraints/group_url_constrainer_spec.rb | 10 | ||||
-rw-r--r-- | spec/lib/constraints/namespace_url_constrainer_spec.rb | 1 | ||||
-rw-r--r-- | spec/lib/constraints/user_url_constrainer_spec.rb | 10 |
4 files changed, 21 insertions, 2 deletions
diff --git a/lib/constraints/user_url_constrainer.rb b/lib/constraints/user_url_constrainer.rb index ef38d47d5c6..504a0f5d93e 100644 --- a/lib/constraints/user_url_constrainer.rb +++ b/lib/constraints/user_url_constrainer.rb @@ -2,6 +2,6 @@ require 'constraints/namespace_url_constrainer' class UserUrlConstrainer < NamespaceUrlConstrainer def find_resource(id) - User.find_by_username(id) + User.find_by('lower(username) = ?', id.downcase) end end diff --git a/spec/lib/constraints/group_url_constrainer_spec.rb b/spec/lib/constraints/group_url_constrainer_spec.rb new file mode 100644 index 00000000000..f0b75a664f2 --- /dev/null +++ b/spec/lib/constraints/group_url_constrainer_spec.rb @@ -0,0 +1,10 @@ +require 'spec_helper' + +describe GroupUrlConstrainer, lib: true do + let!(:username) { create(:group, path: 'gitlab-org') } + + describe '#find_resource' do + it { expect(!!subject.find_resource('gitlab-org')).to be_truthy } + it { expect(!!subject.find_resource('gitlab-com')).to be_falsey } + end +end diff --git a/spec/lib/constraints/namespace_url_constrainer_spec.rb b/spec/lib/constraints/namespace_url_constrainer_spec.rb index 8940fd6b94e..a5feaacb8ee 100644 --- a/spec/lib/constraints/namespace_url_constrainer_spec.rb +++ b/spec/lib/constraints/namespace_url_constrainer_spec.rb @@ -2,7 +2,6 @@ require 'spec_helper' describe NamespaceUrlConstrainer, lib: true do let!(:group) { create(:group, path: 'gitlab') } - subject { NamespaceUrlConstrainer.new } describe '#matches?' do context 'existing namespace' do diff --git a/spec/lib/constraints/user_url_constrainer_spec.rb b/spec/lib/constraints/user_url_constrainer_spec.rb new file mode 100644 index 00000000000..4b26692672f --- /dev/null +++ b/spec/lib/constraints/user_url_constrainer_spec.rb @@ -0,0 +1,10 @@ +require 'spec_helper' + +describe UserUrlConstrainer, lib: true do + let!(:username) { create(:user, username: 'dz') } + + describe '#find_resource' do + it { expect(!!subject.find_resource('dz')).to be_truthy } + it { expect(!!subject.find_resource('john')).to be_falsey } + end +end |