diff options
author | Rémy Coutable <remy@rymai.me> | 2017-11-07 14:56:53 +0000 |
---|---|---|
committer | Rémy Coutable <remy@rymai.me> | 2017-11-07 14:56:53 +0000 |
commit | d45fef88f7f0aa249893f9f151185eac5b9bb870 (patch) | |
tree | 9e1d5b214039dabc5fd8e40f4afe2627e4c3b1af /spec/lib | |
parent | dc1e6b436268c00bd1fdf3d15597a4656e029b95 (diff) | |
parent | 60526a52912be977f55b7165bcdce4bbac190927 (diff) | |
download | gitlab-ce-d45fef88f7f0aa249893f9f151185eac5b9bb870.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
Diffstat (limited to 'spec/lib')
-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 |