Skip to content

Commit fbd3469

Browse files
authored
Merge pull request #505 from ekohl/coding-style
Clean up coding styles
2 parents fa66548 + 4bfff25 commit fbd3469

7 files changed

Lines changed: 78 additions & 99 deletions

File tree

lib/puppet/provider/mongodb.rb

Lines changed: 17 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,11 @@ def mongorc_file
1818
end
1919

2020
def self.mongod_conf_file
21-
file = if File.exist? '/etc/mongod.conf'
22-
'/etc/mongod.conf'
23-
else
24-
'/etc/mongodb.conf'
25-
end
26-
file
21+
if File.exist? '/etc/mongod.conf'
22+
'/etc/mongod.conf'
23+
else
24+
'/etc/mongodb.conf'
25+
end
2726
end
2827

2928
def self.mongo_conf
@@ -50,7 +49,7 @@ def self.ipv6_is_enabled(config = nil)
5049
def self.ssl_is_enabled(config = nil)
5150
config ||= mongo_conf
5251
ssl_mode = config.fetch('ssl')
53-
ssl_mode.nil? ? false : ssl_mode != 'disabled'
52+
!ssl_mode.nil? && ssl_mode != 'disabled'
5453
end
5554

5655
def self.ssl_invalid_hostnames(config = nil)
@@ -113,7 +112,7 @@ def self.db_ismaster
113112
cmd_ismaster = mongorc_file + cmd_ismaster if mongorc_file
114113
db = 'admin'
115114
res = mongo_cmd(db, conn_string, cmd_ismaster).to_s.chomp
116-
res.eql?('true') ? true : false
115+
res.eql?('true')
117116
end
118117

119118
def db_ismaster
@@ -132,19 +131,19 @@ def self.mongo_eval(cmd, db = 'admin', retries = 10, host = nil)
132131
cmd = mongorc_file + cmd if mongorc_file
133132

134133
out = nil
135-
retry_count.times do |n|
136-
begin
137-
out = if host
138-
mongo_cmd(db, host, cmd)
139-
else
140-
mongo_cmd(db, conn_string, cmd)
141-
end
142-
rescue => e
134+
begin
135+
out = if host
136+
mongo_cmd(db, host, cmd)
137+
else
138+
mongo_cmd(db, conn_string, cmd)
139+
end
140+
rescue => e
141+
retry_count -= 1
142+
if retry_count > 0
143143
Puppet.debug "Request failed: '#{e.message}' Retry: '#{n}'"
144144
sleep retry_sleep
145-
next
145+
retry
146146
end
147-
break
148147
end
149148

150149
unless out

lib/puppet/provider/mongodb_user/mongodb.rb

Lines changed: 30 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ def self.instances
2929
def self.prefetch(resources)
3030
users = instances
3131
resources.each do |name, resource|
32-
provider = users.find { |user| user.username == (resource[:username]) && user.database == (resource[:database]) }
32+
provider = users.find { |user| user.username == resource[:username] && user.database == resource[:database] }
3333
resources[name].provider = provider if provider
3434
end
3535
end
@@ -39,22 +39,21 @@ def self.prefetch(resources)
3939
def create
4040
if db_ismaster
4141
password_hash = @resource[:password_hash]
42-
43-
if password_hash
44-
elsif @resource[:password]
42+
if !password_hash && @resource[:password]
4543
password_hash = Puppet::Util::MongodbMd5er.md5(@resource[:username], @resource[:password])
4644
end
47-
cmd_json = <<-EOS.gsub(%r{^\s*}, '').gsub(%r{$\n}, '')
48-
{
49-
"createUser": "#{@resource[:username]}",
50-
"pwd": "#{password_hash}",
51-
"customData": {"createdBy": "Puppet Mongodb_user['#{@resource[:name]}']"},
52-
"roles": #{@resource[:roles].to_json},
53-
"digestPassword": false
54-
}
55-
EOS
56-
57-
mongo_eval("db.runCommand(#{cmd_json})", @resource[:database])
45+
46+
command = {
47+
createUser: @resource[:username],
48+
pwd: password_hash,
49+
customData: {
50+
createdBy: "Puppet Mongodb_user['#{@resource[:name]}']"
51+
},
52+
roles: @resource[:roles],
53+
digestPassword: false
54+
}
55+
56+
mongo_eval("db.runCommand(#{command.to_json})", @resource[:database])
5857
else
5958
Puppet.warning 'User creation is available only from master host'
6059

@@ -64,12 +63,12 @@ def create
6463
@property_hash[:password_hash] = ''
6564
@property_hash[:roles] = @resource[:roles]
6665

67-
exists? ? (return true) : (return false)
66+
exists?
6867
end
6968
end
7069

7170
def destroy
72-
mongo_eval("db.dropUser('#{@resource[:username]}')")
71+
mongo_eval("db.dropUser(#{@resource[:username].to_json})")
7372
end
7473

7574
def exists?
@@ -78,45 +77,42 @@ def exists?
7877

7978
def password_hash=(_value)
8079
if db_ismaster
81-
cmd_json = <<-EOS.gsub(%r{^\s*}, '').gsub(%r{$\n}, '')
82-
{
83-
"updateUser": "#{@resource[:username]}",
84-
"pwd": "#{@resource[:password_hash]}",
85-
"digestPassword": false
80+
command = {
81+
updateUser: @resource[:username],
82+
pwd: @resource[:password_hash],
83+
digestPassword: false
8684
}
87-
EOS
88-
mongo_eval("db.runCommand(#{cmd_json})", @resource[:database])
85+
86+
mongo_eval("db.runCommand(#{command.to_json})", @resource[:database])
8987
else
9088
Puppet.warning 'User password operations are available only from master host'
9189
end
9290
end
9391

9492
def password=(value)
9593
if mongo_26?
96-
mongo_eval("db.changeUserPassword('#{@resource[:username]}','#{value}')", @resource[:database])
94+
mongo_eval("db.changeUserPassword(#{@resource[:username].to_json}, #{value.to_json})", @resource[:database])
9795
else
98-
cmd_json = <<-EOS.gsub(%r{^\s*}, '').gsub(%r{$\n}, '')
99-
{
100-
"updateUser": "#{@resource[:username]}",
101-
"pwd": "#{@resource[:password]}",
102-
"digestpassword": true
96+
command = {
97+
updateUser: @resource[:username],
98+
pwd: @resource[:password],
99+
digestpassword: true
103100
}
104-
EOS
105101

106-
mongo_eval("db.runCommand(#{cmd_json})", @resource[:database])
102+
mongo_eval("db.runCommand(#{command.to_json})", @resource[:database])
107103
end
108104
end
109105

110106
def roles=(roles)
111107
if db_ismaster
112108
grant = roles - @property_hash[:roles]
113109
unless grant.empty?
114-
mongo_eval("db.getSiblingDB('#{@resource[:database]}').grantRolesToUser('#{@resource[:username]}', #{grant. to_json})")
110+
mongo_eval("db.getSiblingDB(#{@resource[:database].to_json}).grantRolesToUser(#{@resource[:username].to_json}, #{grant.to_json})")
115111
end
116112

117113
revoke = @property_hash[:roles] - roles
118114
unless revoke.empty?
119-
mongo_eval("db.getSiblingDB('#{@resource[:database]}').revokeRolesFromUser('#{@resource[:username]}', #{revoke.to_json})")
115+
mongo_eval("db.getSiblingDB(#{@resource[:database].to_json}).revokeRolesFromUser(#{@resource[:username].to_json}, #{revoke.to_json})")
120116
end
121117
else
122118
Puppet.warning 'User roles operations are available only from master host'

manifests/mongos/service.pp

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,6 @@
1717
default => true
1818
}
1919

20-
if $port {
21-
$port_real = $port
22-
} else {
23-
$port_real = '27017'
24-
}
25-
2620
if $bind_ip == '0.0.0.0' {
2721
$bind_ip_real = '127.0.0.1'
2822
} else {
@@ -60,7 +54,7 @@
6054
if $service_ensure_real {
6155
mongodb_conn_validator { 'mongos':
6256
server => $bind_ip_real,
63-
port => $port_real,
57+
port => pick($port, 27017),
6458
timeout => '240',
6559
require => Service['mongos'],
6660
}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
require 'spec_helper'
2+
3+
describe 'mongodb_database' do
4+
let(:title) { 'test' }
5+
6+
it do
7+
is_expected.to be_valid_type.
8+
with_provider(:mongodb).
9+
with_properties('ensure').
10+
with_parameters(%w[name tries])
11+
end
12+
13+
it { is_expected.to be_valid_type.with_set_attributes(tries: 5) }
14+
it { expect { is_expected.to be_valid_type.with_set_attributes(tries: 'a') }.to raise_error(Puppet::Error) }
15+
end

spec/unit/puppet/provider/mongodb_user/mongodb_spec.rb

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -53,11 +53,11 @@
5353
it 'creates a user' do
5454
cmd_json = <<-EOS.gsub(%r{^\s*}, '').gsub(%r{$\n}, '')
5555
{
56-
"createUser": "new_user",
57-
"pwd": "pass",
58-
"customData": {"createdBy": "Puppet Mongodb_user['new_user']"},
59-
"roles": ["role1","role2"],
60-
"digestPassword": false
56+
"createUser":"new_user",
57+
"pwd":"pass",
58+
"customData":{"createdBy":"Puppet Mongodb_user['new_user']"},
59+
"roles":["role1","role2"],
60+
"digestPassword":false
6161
}
6262
EOS
6363

@@ -68,7 +68,7 @@
6868

6969
describe 'destroy' do
7070
it 'removes a user' do
71-
expect(provider).to receive(:mongo_eval).with("db.dropUser('new_user')")
71+
expect(provider).to receive(:mongo_eval).with('db.dropUser("new_user")')
7272
provider.destroy
7373
end
7474
end
@@ -89,9 +89,9 @@
8989
it 'changes a password_hash' do
9090
cmd_json = <<-EOS.gsub(%r{^\s*}, '').gsub(%r{$\n}, '')
9191
{
92-
"updateUser": "new_user",
93-
"pwd": "pass",
94-
"digestPassword": false
92+
"updateUser":"new_user",
93+
"pwd":"pass",
94+
"digestPassword":false
9595
}
9696
EOS
9797
expect(provider).to receive(:mongo_eval).
@@ -128,24 +128,24 @@
128128
it 'grant a role' do
129129
resource.provider.set(name: 'new_user', ensure: :present, roles: %w[role1 role2])
130130
expect(provider).to receive(:mongo_eval).
131-
with("db.getSiblingDB('new_database').grantRolesToUser('new_user', [\"role3\"])")
131+
with('db.getSiblingDB("new_database").grantRolesToUser("new_user", ["role3"])')
132132
provider.roles = %w[role1 role2 role3]
133133
end
134134

135135
it 'revokes a role' do
136136
resource.provider.set(name: 'new_user', ensure: :present, roles: %w[role1 role2])
137137
expect(provider).to receive(:mongo_eval).
138-
with("db.getSiblingDB('new_database').revokeRolesFromUser('new_user', [\"role1\"])")
138+
with('db.getSiblingDB("new_database").revokeRolesFromUser("new_user", ["role1"])')
139139
provider.roles = ['role2']
140140
end
141141

142142
# rubocop:disable RSpec/MultipleExpectations
143143
it 'exchanges a role' do
144144
resource.provider.set(name: 'new_user', ensure: :present, roles: %w[role1 role2])
145145
expect(provider).to receive(:mongo_eval).
146-
with("db.getSiblingDB('new_database').revokeRolesFromUser('new_user', [\"role1\"])")
146+
with('db.getSiblingDB("new_database").revokeRolesFromUser("new_user", ["role1"])')
147147
expect(provider).to receive(:mongo_eval).
148-
with("db.getSiblingDB('new_database').grantRolesToUser('new_user', [\"role3\"])")
148+
with('db.getSiblingDB("new_database").grantRolesToUser("new_user", ["role3"])')
149149

150150
provider.roles = %w[role2 role3]
151151
end

spec/unit/puppet/type/mongodb_database_spec.rb

Lines changed: 0 additions & 21 deletions
This file was deleted.

templates/mongorc.js.erb

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,8 @@ function rsReconfigSettings(settings){
1818

1919
function authRequired() {
2020
try {
21-
if (db.serverCmdLineOpts().code == 13) {
22-
return true;
23-
}
24-
return false;
25-
}
26-
catch (err) {
21+
return db.serverCmdLineOpts().code == 13;
22+
} catch (err) {
2723
return false;
2824
}
2925
}

0 commit comments

Comments
 (0)