Skip to content

Commit b941c56

Browse files
authored
Merge pull request #1036 from hunner/wayland-ticket/3623-Centralise-MySQL-calls-3
(MODULES-3623) Centralise MySQL calls...
2 parents 20599ea + f009d68 commit b941c56

File tree

10 files changed

+92
-80
lines changed

10 files changed

+92
-80
lines changed

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1324,3 +1324,4 @@ This module is based on work by David Schmitt. The following contributors have c
13241324
* Chris Weyl
13251325
* Daniël van Eeden
13261326
* Jan-Otto Kröpke
1327+
* Timothy Sven Nelson

lib/puppet/provider/mysql.rb

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ class Puppet::Provider::Mysql < Puppet::Provider
77
ENV['PATH'] = ENV['PATH'] + ':/usr/libexec:/usr/local/libexec:/usr/local/bin'
88

99
# rubocop:disable Style/HashSyntax
10-
commands :mysql => 'mysql'
10+
commands :mysql_raw => 'mysql'
1111
commands :mysqld => 'mysqld'
1212
commands :mysqladmin => 'mysqladmin'
1313
# rubocop:enable Style/HashSyntax
@@ -54,8 +54,18 @@ def defaults_file
5454
self.class.defaults_file
5555
end
5656

57+
def self.mysql_caller(text_of_sql, type)
58+
if type.eql? 'system'
59+
mysql_raw([defaults_file, '--host=', system_database, '-e', text_of_sql].flatten.compact)
60+
elsif type.eql? 'regular'
61+
mysql_raw([defaults_file, '-NBe', text_of_sql].flatten.compact)
62+
else
63+
raise Puppet::Error, _("#mysql_caller: Unrecognised type '%{type}'" % { type: type })
64+
end
65+
end
66+
5767
def self.users
58-
mysql([defaults_file, '-NBe', "SELECT CONCAT(User, '@',Host) AS User FROM mysql.user"].compact).split("\n")
68+
mysql_caller("SELECT CONCAT(User, '@',Host) AS User FROM mysql.user", 'regular').split("\n")
5969
end
6070

6171
# Optional parameter to run a statement on the MySQL system database.

lib/puppet/provider/mysql_database/mysql.rb

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,12 @@
22
Puppet::Type.type(:mysql_database).provide(:mysql, parent: Puppet::Provider::Mysql) do
33
desc 'Manages MySQL databases.'
44

5-
commands mysql: 'mysql'
5+
commands mysql_raw: 'mysql'
66

77
def self.instances
8-
mysql([defaults_file, '-NBe', 'show databases'].compact).split("\n").map do |name|
8+
mysql_caller('show databases', 'regular').split("\n").map do |name|
99
attributes = {}
10-
mysql([defaults_file, '-NBe', "show variables like '%_database'", name].compact).split("\n").each do |line|
10+
mysql_caller(["show variables like '%_database'", name], 'regular').split("\n").each do |line|
1111
k, v = line.split(%r{\s})
1212
attributes[k] = v
1313
end
@@ -29,7 +29,7 @@ def self.prefetch(resources)
2929
end
3030

3131
def create
32-
mysql([defaults_file, '-NBe', "create database if not exists `#{@resource[:name]}` character set `#{@resource[:charset]}` collate `#{@resource[:collate]}`"].compact)
32+
self.class.mysql_caller("create database if not exists `#{@resource[:name]}` character set `#{@resource[:charset]}` collate `#{@resource[:collate]}`", 'regular')
3333

3434
@property_hash[:ensure] = :present
3535
@property_hash[:charset] = @resource[:charset]
@@ -39,7 +39,7 @@ def create
3939
end
4040

4141
def destroy
42-
mysql([defaults_file, '-NBe', "drop database if exists `#{@resource[:name]}`"].compact)
42+
self.class.mysql_caller("drop database if exists `#{@resource[:name]}`", 'regular')
4343

4444
@property_hash.clear
4545
exists? ? (return false) : (return true)
@@ -52,13 +52,13 @@ def exists?
5252
mk_resource_methods
5353

5454
def charset=(value)
55-
mysql([defaults_file, '-NBe', "alter database `#{resource[:name]}` CHARACTER SET #{value}"].compact)
55+
self.class.mysql_caller("alter database `#{resource[:name]}` CHARACTER SET #{value}", 'regular')
5656
@property_hash[:charset] = value
5757
(charset == value) ? (return true) : (return false)
5858
end
5959

6060
def collate=(value)
61-
mysql([defaults_file, '-NBe', "alter database `#{resource[:name]}` COLLATE #{value}"].compact)
61+
self.class.mysql_caller("alter database `#{resource[:name]}` COLLATE #{value}", 'regular')
6262
@property_hash[:collate] = value
6363
(collate == value) ? (return true) : (return false)
6464
end

lib/puppet/provider/mysql_grant/mysql.rb

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,15 @@
22
Puppet::Type.type(:mysql_grant).provide(:mysql, parent: Puppet::Provider::Mysql) do
33
desc 'Set grants for users in MySQL.'
44

5+
commands mysql_raw: 'mysql'
6+
57
def self.instances
68
instances = []
79
users.map do |user|
810
user_string = cmd_user(user)
911
query = "SHOW GRANTS FOR #{user_string};"
1012
begin
11-
grants = mysql([defaults_file, '-NBe', query].compact)
13+
grants = mysql_caller(query, 'regular')
1214
rescue Puppet::ExecutionFailure => e
1315
# Silently ignore users with no grants. Can happen e.g. if user is
1416
# defined with fqdn and server is run with skip-name-resolve. Example:
@@ -80,7 +82,7 @@ def grant(user, table, privileges, options)
8082
query << " ON #{table_string}"
8183
query << " TO #{user_string}"
8284
query << self.class.cmd_options(options) unless options.nil?
83-
mysql([defaults_file, system_database, '-e', query].compact)
85+
self.class.mysql_caller(query, 'system')
8486
end
8587

8688
def create
@@ -106,10 +108,10 @@ def revoke(user, table, revoke_privileges = ['ALL'])
106108
# exist to be executed successfully
107109
if revoke_privileges.include?('ALL') && !revoke_privileges.include?('PROXY')
108110
query = "REVOKE GRANT OPTION ON #{table_string} FROM #{user_string}"
109-
mysql([defaults_file, system_database, '-e', query].compact)
111+
self.class.mysql_caller(query, 'system')
110112
end
111113
query = "REVOKE #{priv_string} ON #{table_string} FROM #{user_string}"
112-
mysql([defaults_file, system_database, '-e', query].compact)
114+
self.class.mysql_caller(query, 'system')
113115
end
114116

115117
def destroy
@@ -133,7 +135,7 @@ def exists?
133135

134136
def flush
135137
@property_hash.clear
136-
mysql([defaults_file, '-NBe', 'FLUSH PRIVILEGES'].compact)
138+
self.class.mysql_caller('FLUSH PRIVILEGES', 'regular')
137139
end
138140

139141
mk_resource_methods

lib/puppet/provider/mysql_plugin/mysql.rb

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22
Puppet::Type.type(:mysql_plugin).provide(:mysql, parent: Puppet::Provider::Mysql) do
33
desc 'Manages MySQL plugins.'
44

5-
commands mysql: 'mysql'
5+
commands mysql_raw: 'mysql'
66

77
def self.instances
8-
mysql([defaults_file, '-NBe', 'show plugins'].compact).split("\n").map do |line|
8+
mysql_caller('show plugins', 'regular').split("\n").map do |line|
99
name, _status, _type, library, _license = line.split(%r{\t})
1010
new(name: name,
1111
ensure: :present,
@@ -28,7 +28,7 @@ def create
2828
# Use plugin_name.so as soname if it's not specified. This won't work on windows as
2929
# there it should be plugin_name.dll
3030
@resource[:soname].nil? ? (soname = @resource[:name] + '.so') : (soname = @resource[:soname])
31-
mysql([defaults_file, '-NBe', "install plugin #{@resource[:name]} soname '#{soname}'"].compact)
31+
self.class.mysql_caller("install plugin #{@resource[:name]} soname '#{soname}'", 'regular')
3232

3333
@property_hash[:ensure] = :present
3434
@property_hash[:soname] = @resource[:soname]
@@ -37,7 +37,7 @@ def create
3737
end
3838

3939
def destroy
40-
mysql([defaults_file, '-NBe', "uninstall plugin #{@resource[:name]}"].compact)
40+
self.class.mysql_caller("uninstall plugin #{@resource[:name]}", 'regular')
4141

4242
@property_hash.clear
4343
exists? ? (return false) : (return true)

lib/puppet/provider/mysql_user/mysql.rb

Lines changed: 19 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,12 @@
11
require File.expand_path(File.join(File.dirname(__FILE__), '..', 'mysql'))
22
Puppet::Type.type(:mysql_user).provide(:mysql, parent: Puppet::Provider::Mysql) do
33
desc 'manage users for a mysql database.'
4-
commands mysql: 'mysql'
4+
commands mysql_raw: 'mysql'
55

66
# Build a property_hash containing all the discovered information about MySQL
77
# users.
88
def self.instances
9-
users = mysql([defaults_file, '-NBe',
10-
"SELECT CONCAT(User, '@',Host) AS User FROM mysql.user"].compact).split("\n")
9+
users = mysql_caller("SELECT CONCAT(User, '@',Host) AS User FROM mysql.user", 'regular').split("\n")
1110
# To reduce the number of calls to MySQL we collect all the properties in
1211
# one big swoop.
1312
users.map do |name|
@@ -22,7 +21,7 @@ def self.instances
2221
end
2322
@max_user_connections, @max_connections_per_hour, @max_queries_per_hour,
2423
@max_updates_per_hour, ssl_type, ssl_cipher, x509_issuer, x509_subject,
25-
@password, @plugin = mysql([defaults_file, '-NBe', query].compact).split(%r{\s})
24+
@password, @plugin = mysql_caller(query, 'regular').split(%r{\s})
2625
@tls_options = parse_tls_options(ssl_type, ssl_cipher, x509_issuer, x509_subject)
2726
# rubocop:enable Metrics/LineLength
2827
new(name: name,
@@ -64,19 +63,19 @@ def create
6463
# This is also required if you want to specify a authentication plugin
6564
if !plugin.nil?
6665
if plugin == 'sha256_password' && !password_hash.nil?
67-
mysql([defaults_file, system_database, '-e', "CREATE USER '#{merged_name}' IDENTIFIED WITH '#{plugin}' AS '#{password_hash}'"].compact)
66+
self.class.mysql_caller("CREATE USER '#{merged_name}' IDENTIFIED WITH '#{plugin}' AS '#{password_hash}'", 'system')
6867
else
69-
mysql([defaults_file, system_database, '-e', "CREATE USER '#{merged_name}' IDENTIFIED WITH '#{plugin}'"].compact)
68+
self.class.mysql_caller("CREATE USER '#{merged_name}' IDENTIFIED WITH '#{plugin}'", 'system')
7069
end
7170
@property_hash[:ensure] = :present
7271
@property_hash[:plugin] = plugin
7372
else
74-
mysql([defaults_file, system_database, '-e', "CREATE USER '#{merged_name}' IDENTIFIED BY PASSWORD '#{password_hash}'"].compact)
73+
self.class.mysql_caller("CREATE USER '#{merged_name}' IDENTIFIED BY PASSWORD '#{password_hash}'", 'system')
7574
@property_hash[:ensure] = :present
7675
@property_hash[:password_hash] = password_hash
7776
end
7877
# rubocop:disable Metrics/LineLength
79-
mysql([defaults_file, system_database, '-e', "GRANT USAGE ON *.* TO '#{merged_name}' WITH MAX_USER_CONNECTIONS #{max_user_connections} MAX_CONNECTIONS_PER_HOUR #{max_connections_per_hour} MAX_QUERIES_PER_HOUR #{max_queries_per_hour} MAX_UPDATES_PER_HOUR #{max_updates_per_hour}"].compact)
78+
self.class.mysql_caller("GRANT USAGE ON *.* TO '#{merged_name}' WITH MAX_USER_CONNECTIONS #{max_user_connections} MAX_CONNECTIONS_PER_HOUR #{max_connections_per_hour} MAX_QUERIES_PER_HOUR #{max_queries_per_hour} MAX_UPDATES_PER_HOUR #{max_updates_per_hour}", 'system')
8079
# rubocop:enable Metrics/LineLength
8180
@property_hash[:max_user_connections] = max_user_connections
8281
@property_hash[:max_connections_per_hour] = max_connections_per_hour
@@ -86,9 +85,9 @@ def create
8685
merged_tls_options = tls_options.join(' AND ')
8786
if ((mysqld_type == 'mysql' || mysqld_type == 'percona') && Puppet::Util::Package.versioncmp(mysqld_version, '5.7.6') >= 0) ||
8887
(mysqld_type == 'mariadb' && Puppet::Util::Package.versioncmp(mysqld_version, '10.2.0') >= 0)
89-
mysql([defaults_file, system_database, '-e', "ALTER USER '#{merged_name}' REQUIRE #{merged_tls_options}"].compact)
88+
self.class.mysql_caller("ALTER USER '#{merged_name}' REQUIRE #{merged_tls_options}", 'system')
9089
else
91-
mysql([defaults_file, system_database, '-e', "GRANT USAGE ON *.* TO '#{merged_name}' REQUIRE #{merged_tls_options}"].compact)
90+
self.class.mysql_caller("GRANT USAGE ON *.* TO '#{merged_name}' REQUIRE #{merged_tls_options}", 'system')
9291
end
9392
@property_hash[:tls_options] = tls_options
9493

@@ -97,7 +96,7 @@ def create
9796

9897
def destroy
9998
merged_name = @resource[:name].sub('@', "'@'")
100-
mysql([defaults_file, system_database, '-e', "DROP USER '#{merged_name}'"].compact)
99+
self.class.mysql_caller("DROP USER '#{merged_name}'", 'system')
101100

102101
@property_hash.clear
103102
exists? ? (return false) : (return true)
@@ -120,41 +119,41 @@ def password_hash=(string)
120119
# We have a fact for the mysql version ...
121120
if mysqld_version.nil?
122121
# default ... if mysqld_version does not work
123-
mysql([defaults_file, system_database, '-e', "SET PASSWORD FOR #{merged_name} = '#{string}'"].compact)
122+
self.class.mysql_caller("SET PASSWORD FOR #{merged_name} = '#{string}'", 'system')
124123
elsif (mysqld_type == 'mysql' || mysqld_type == 'percona') && Puppet::Util::Package.versioncmp(mysqld_version, '5.7.6') >= 0
125124
raise ArgumentError, _('Only mysql_native_password (*ABCD...XXX) hashes are supported.') unless string =~ %r{^\*}
126-
mysql([defaults_file, system_database, '-e', "ALTER USER #{merged_name} IDENTIFIED WITH mysql_native_password AS '#{string}'"].compact)
125+
self.class.mysql_caller("ALTER USER #{merged_name} IDENTIFIED WITH mysql_native_password AS '#{string}'", 'system')
127126
else
128-
mysql([defaults_file, system_database, '-e', "SET PASSWORD FOR #{merged_name} = '#{string}'"].compact)
127+
self.class.mysql_caller("SET PASSWORD FOR #{merged_name} = '#{string}'", 'system')
129128
end
130129

131130
(password_hash == string) ? (return true) : (return false)
132131
end
133132

134133
def max_user_connections=(int)
135134
merged_name = self.class.cmd_user(@resource[:name])
136-
mysql([defaults_file, system_database, '-e', "GRANT USAGE ON *.* TO #{merged_name} WITH MAX_USER_CONNECTIONS #{int}"].compact).chomp
135+
self.class.mysql_caller("GRANT USAGE ON *.* TO #{merged_name} WITH MAX_USER_CONNECTIONS #{int}", 'system').chomp
137136

138137
(max_user_connections == int) ? (return true) : (return false)
139138
end
140139

141140
def max_connections_per_hour=(int)
142141
merged_name = self.class.cmd_user(@resource[:name])
143-
mysql([defaults_file, system_database, '-e', "GRANT USAGE ON *.* TO #{merged_name} WITH MAX_CONNECTIONS_PER_HOUR #{int}"].compact).chomp
142+
self.class.mysql_caller("GRANT USAGE ON *.* TO #{merged_name} WITH MAX_CONNECTIONS_PER_HOUR #{int}", 'system').chomp
144143

145144
(max_connections_per_hour == int) ? (return true) : (return false)
146145
end
147146

148147
def max_queries_per_hour=(int)
149148
merged_name = self.class.cmd_user(@resource[:name])
150-
mysql([defaults_file, system_database, '-e', "GRANT USAGE ON *.* TO #{merged_name} WITH MAX_QUERIES_PER_HOUR #{int}"].compact).chomp
149+
self.class.mysql_caller("GRANT USAGE ON *.* TO #{merged_name} WITH MAX_QUERIES_PER_HOUR #{int}", 'system').chomp
151150

152151
(max_queries_per_hour == int) ? (return true) : (return false)
153152
end
154153

155154
def max_updates_per_hour=(int)
156155
merged_name = self.class.cmd_user(@resource[:name])
157-
mysql([defaults_file, system_database, '-e', "GRANT USAGE ON *.* TO #{merged_name} WITH MAX_UPDATES_PER_HOUR #{int}"].compact).chomp
156+
self.class.mysql_caller("GRANT USAGE ON *.* TO #{merged_name} WITH MAX_UPDATES_PER_HOUR #{int}", 'system').chomp
158157

159158
(max_updates_per_hour == int) ? (return true) : (return false)
160159
end
@@ -164,9 +163,9 @@ def tls_options=(array)
164163
merged_tls_options = array.join(' AND ')
165164
if ((mysqld_type == 'mysql' || mysqld_type == 'percona') && Puppet::Util::Package.versioncmp(mysqld_version, '5.7.6') >= 0) ||
166165
(mysqld_type == 'mariadb' && Puppet::Util::Package.versioncmp(mysqld_version, '10.2.0') >= 0)
167-
mysql([defaults_file, system_database, '-e', "ALTER USER #{merged_name} REQUIRE #{merged_tls_options}"].compact)
166+
self.class.mysql_caller("ALTER USER #{merged_name} REQUIRE #{merged_tls_options}", 'system')
168167
else
169-
mysql([defaults_file, system_database, '-e', "GRANT USAGE ON *.* TO #{merged_name} REQUIRE #{merged_tls_options}"].compact)
168+
self.class.mysql_caller("GRANT USAGE ON *.* TO #{merged_name} REQUIRE #{merged_tls_options}", 'system')
170169
end
171170

172171
(tls_options == array) ? (return true) : (return false)

spec/acceptance/types/mysql_grant_spec.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -617,7 +617,7 @@ class { 'mysql::server':
617617

618618
mysql_cmd = shell('which mysql').stdout.chomp
619619
shell("mv #{mysql_cmd} #{mysql_cmd}.bak")
620-
expect(apply_manifest(pp, expect_failures: true).stderr).to match(%r{Command mysql is missing})
620+
expect(apply_manifest(pp, expect_failures: true).stderr).to match(%r{Could not find a suitable provider for mysql_grant})
621621
shell("mv #{mysql_cmd}.bak #{mysql_cmd}")
622622
end
623623

spec/unit/puppet/provider/mysql_database/mysql_spec.rb

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -30,17 +30,17 @@
3030
Facter.stubs(:value).with(:root_home).returns('/root')
3131
Puppet::Util.stubs(:which).with('mysql').returns('/usr/bin/mysql')
3232
File.stubs(:file?).with('/root/.my.cnf').returns(true)
33-
provider.class.stubs(:mysql).with([defaults_file, '-NBe', 'show databases']).returns('new_database')
34-
provider.class.stubs(:mysql).with([defaults_file, '-NBe', "show variables like '%_database'", 'new_database']).returns("character_set_database latin1\ncollation_database latin1_swedish_ci\nskip_show_database OFF") # rubocop:disable Metrics/LineLength
33+
provider.class.stubs(:mysql_caller).with('show databases', 'regular').returns('new_database')
34+
provider.class.stubs(:mysql_caller).with(["show variables like '%_database'", 'new_database'], 'regular').returns("character_set_database latin1\ncollation_database latin1_swedish_ci\nskip_show_database OFF") # rubocop:disable Metrics/LineLength
3535
end
3636

3737
let(:instance) { provider.class.instances.first }
3838

3939
describe 'self.instances' do
4040
it 'returns an array of databases' do
41-
provider.class.stubs(:mysql).with([defaults_file, '-NBe', 'show databases']).returns(raw_databases)
41+
provider.class.stubs(:mysql_caller).with('show databases', 'regular').returns(raw_databases)
4242
raw_databases.each_line do |db|
43-
provider.class.stubs(:mysql).with([defaults_file, '-NBe', "show variables like '%_database'", db.chomp]).returns("character_set_database latin1\ncollation_database latin1_swedish_ci\nskip_show_database OFF") # rubocop:disable Metrics/LineLength
43+
provider.class.stubs(:mysql_caller).with(["show variables like '%_database'", db.chomp], 'regular').returns("character_set_database latin1\ncollation_database latin1_swedish_ci\nskip_show_database OFF") # rubocop:disable Metrics/LineLength
4444
end
4545
databases = provider.class.instances.map { |x| x.name }
4646
expect(parsed_databases).to match_array(databases)
@@ -56,15 +56,15 @@
5656

5757
describe 'create' do
5858
it 'makes a database' do
59-
provider.expects(:mysql).with([defaults_file, '-NBe', "create database if not exists `#{resource[:name]}` character set `#{resource[:charset]}` collate `#{resource[:collate]}`"])
59+
provider.class.expects(:mysql_caller).with("create database if not exists `#{resource[:name]}` character set `#{resource[:charset]}` collate `#{resource[:collate]}`", 'regular')
6060
provider.expects(:exists?).returns(true)
6161
expect(provider.create).to be_truthy
6262
end
6363
end
6464

6565
describe 'destroy' do
6666
it 'removes a database if present' do
67-
provider.expects(:mysql).with([defaults_file, '-NBe', "drop database if exists `#{resource[:name]}`"])
67+
provider.class.expects(:mysql_caller).with("drop database if exists `#{resource[:name]}`", 'regular')
6868
provider.expects(:exists?).returns(false)
6969
expect(provider.destroy).to be_truthy
7070
end
@@ -95,7 +95,7 @@
9595

9696
describe 'charset=' do
9797
it 'changes the charset' do
98-
provider.expects(:mysql).with([defaults_file, '-NBe', "alter database `#{resource[:name]}` CHARACTER SET blah"]).returns('0')
98+
provider.class.expects(:mysql_caller).with("alter database `#{resource[:name]}` CHARACTER SET blah", 'regular').returns('0')
9999

100100
provider.charset = 'blah'
101101
end
@@ -109,7 +109,7 @@
109109

110110
describe 'collate=' do
111111
it 'changes the collate' do
112-
provider.expects(:mysql).with([defaults_file, '-NBe', "alter database `#{resource[:name]}` COLLATE blah"]).returns('0')
112+
provider.class.expects(:mysql_caller).with("alter database `#{resource[:name]}` COLLATE blah", 'regular').returns('0')
113113

114114
provider.collate = 'blah'
115115
end

spec/unit/puppet/provider/mysql_plugin/mysql_spec.rb

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
Facter.stubs(:value).with(:root_home).returns('/root')
1818
Puppet::Util.stubs(:which).with('mysql').returns('/usr/bin/mysql')
1919
File.stubs(:file?).with('/root/.my.cnf').returns(true)
20-
provider.class.stubs(:mysql).with([defaults_file, '-NBe', 'show plugins']).returns('auth_socket ACTIVE AUTHENTICATION auth_socket.so GPL')
20+
provider.class.stubs(:mysql_caller).with('show plugins', 'regular').returns('auth_socket ACTIVE AUTHENTICATION auth_socket.so GPL')
2121
end
2222

2323
let(:instance) { provider.class.instances.first }
@@ -31,15 +31,15 @@
3131

3232
describe 'create' do
3333
it 'loads a plugin' do
34-
provider.expects(:mysql).with([defaults_file, '-NBe', "install plugin #{resource[:name]} soname '#{resource[:soname]}'"])
34+
provider.class.expects(:mysql_caller).with("install plugin #{resource[:name]} soname '#{resource[:soname]}'", 'regular')
3535
provider.expects(:exists?).returns(true)
3636
expect(provider.create).to be_truthy
3737
end
3838
end
3939

4040
describe 'destroy' do
4141
it 'unloads a plugin if present' do
42-
provider.expects(:mysql).with([defaults_file, '-NBe', "uninstall plugin #{resource[:name]}"])
42+
provider.class.expects(:mysql_caller).with("uninstall plugin #{resource[:name]}", 'regular')
4343
provider.expects(:exists?).returns(false)
4444
expect(provider.destroy).to be_truthy
4545
end

0 commit comments

Comments
 (0)