You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: lib/puppet/provider/database_user/mysql.rb
+14-5
Original file line number
Diff line number
Diff line change
@@ -4,8 +4,8 @@
4
4
5
5
defaultfor:kernel=>'Linux'
6
6
7
-
optional_commands:mysql=>'mysql'
8
-
optional_commands:mysqladmin=>'mysqladmin'
7
+
commands:mysql=>'mysql'
8
+
commands:mysqladmin=>'mysqladmin'
9
9
10
10
defself.instances
11
11
users=mysql([defaults_file,"mysql",'-BNe'"select concat(User, '@',Host) as User from mysql.user"].compact).split("\n")
@@ -15,19 +15,28 @@ def self.instances
15
15
end
16
16
17
17
defcreate
18
-
mysql([defaults_file,"mysql","-e","create user '%s' identified by PASSWORD '%s'" % [@resource[:name].sub("@","'@'"),@resource.value(:password_hash)]].compact)
18
+
merged_name=@resource[:name].sub("@","'@'")
19
+
password_hash=@resource.value(:password_hash)
20
+
mysql([defaults_file,"mysql","-e","create user '#{merged_name}' identified by PASSWORD '#{password_hash}'"].compact)
21
+
22
+
exists? ? (returntrue) : (returnfalse)
19
23
end
20
24
21
25
defdestroy
22
-
mysql([defaults_file,"mysql","-e","drop user '%s'" % @resource.value(:name).sub("@","'@'")].compact)
26
+
merged_name=@resource[:name].sub("@","'@'")
27
+
mysql([defaults_file,"mysql","-e","drop user '#{merged_name}'"].compact)
28
+
29
+
exists? ? (returnfalse) : (returntrue)
23
30
end
24
31
25
32
defpassword_hash
26
-
mysql([defaults_file,"mysql","-NBe","select password from mysql.user where CONCAT(user, '@', host) = '%s'" % @resource.value(:name)].compact).chomp
33
+
mysql([defaults_file,"mysql","-NBe","select password from mysql.user where CONCAT(user, '@', host) = '#{@resource[:name]}'"].compact).chomp
27
34
end
28
35
29
36
defpassword_hash=(string)
30
37
mysql([defaults_file,"mysql","-e","SET PASSWORD FOR '%s' = '%s'" % [@resource[:name].sub("@","'@'"),string]].compact)
subject.expects(:mysql).with([defaults_file,'mysql','-e',"create user 'joe'@'localhost' identified by PASSWORD '*6C8989366EAF75BB670AD8EA7A7FC1176A95CEF4'"])
51
-
@provider.create
50
+
@provider.expects(:exists?).returns(true)
51
+
@provider.create.shouldbe_true
52
52
end
53
53
end
54
54
55
55
describe'destroy'do
56
56
it'removes a user if present'do
57
57
subject.expects(:mysql).with([defaults_file,'mysql','-e',"drop user 'joe'@'localhost'"])
58
-
@provider.destroy
58
+
@provider.expects(:exists?).returns(false)
59
+
@provider.destroy.shouldbe_true
59
60
end
60
61
end
61
62
62
63
describe'password_hash'do
63
64
it'returns a hash'do
64
65
subject.expects(:mysql).with([defaults_file,'mysql','-NBe',"select password from mysql.user where CONCAT(user, '@', host) = 'joe@localhost'"]).returns('*6C8989366EAF75BB670AD8EA7A7FC1176A95CEF4')
0 commit comments