diff options
author | Rémy Coutable <remy@rymai.me> | 2017-11-07 14:56:53 +0000 |
---|---|---|
committer | Winnie Hellmann <winnie@gitlab.com> | 2017-11-07 20:33:55 +0100 |
commit | 1bc43e657bf116bbeec2e0e2e8664cdf6261a4c4 (patch) | |
tree | 4642ca2e36d7fbf4891c8e1e73cb51ee66b1f398 /spec | |
parent | 7521d0cb07f70a1193146b7c7c7556d4f25b35aa (diff) | |
download | gitlab-ce-1bc43e657bf116bbeec2e0e2e8664cdf6261a4c4.tar.gz |
Merge branch 'fix-mysql-grant-check' into 'master'
Fix TRIGGER checks for MySQL
Closes #38372
See merge request gitlab-org/gitlab-ce!15226
(cherry picked from commit d45fef88f7f0aa249893f9f151185eac5b9bb870)
Diffstat (limited to 'spec')
-rw-r--r-- | spec/lib/gitlab/database/grant_spec.rb | 22 |
1 files changed, 5 insertions, 17 deletions
diff --git a/spec/lib/gitlab/database/grant_spec.rb b/spec/lib/gitlab/database/grant_spec.rb index 651da3e8476..5ebf3f399b6 100644 --- a/spec/lib/gitlab/database/grant_spec.rb +++ b/spec/lib/gitlab/database/grant_spec.rb @@ -1,16 +1,6 @@ require 'spec_helper' describe Gitlab::Database::Grant do - describe '.scope_to_current_user' do - it 'scopes the relation to the current user' do - user = Gitlab::Database.username - column = Gitlab::Database.postgresql? ? :grantee : :User - names = described_class.scope_to_current_user.pluck(column).uniq - - expect(names).to eq([user]) - end - end - describe '.create_and_execute_trigger' do it 'returns true when the user can create and execute a trigger' do # We assume the DB/user is set up correctly so that triggers can be @@ -18,13 +8,11 @@ describe Gitlab::Database::Grant do expect(described_class.create_and_execute_trigger?('users')).to eq(true) end - it 'returns false when the user can not create and/or execute a trigger' do - allow(described_class).to receive(:scope_to_current_user) - .and_return(described_class.none) - - result = described_class.create_and_execute_trigger?('kittens') - - expect(result).to eq(false) + it 'returns false when the user can not create and/or execute a trigger', :postgresql do + # In case of MySQL the user may have SUPER permissions, making it + # impossible to have `false` returned when running tests; hence we only + # run these tests on PostgreSQL. + expect(described_class.create_and_execute_trigger?('foo')).to eq(false) end end end |