Skip to content

Commit 5c04065

Browse files
committed
Rewrite mocking and stubbing to only rspec
Previously it was a mixed style. This unifies it to pure rspec style.
1 parent 768902e commit 5c04065

8 files changed

Lines changed: 28 additions & 32 deletions

File tree

.sync.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,5 +6,5 @@
66
appveyor.yml:
77
delete: true
88
spec/spec_helper.rb:
9-
allow_deprecations: true
9+
mock_with: :rspec
1010
spec_overrides: "require 'spec_helper_local'"

spec/spec_helper.rb

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
RSpec.configure do |c|
2+
c.mock_with :rspec
3+
end
4+
15
require 'puppetlabs_spec_helper/module_spec_helper'
26
require 'rspec-puppet-facts'
37
include RspecPuppetFacts

spec/spec_helper_local.rb

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,3 @@
1-
RSpec.configure do |config|
2-
config.mock_with :rspec
3-
end
4-
51
def with_debian_facts
62
let :facts do
73
{

spec/unit/mongodb_version_spec.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@
88
describe 'mongodb_version' do
99
context 'with value' do
1010
before do
11-
Facter::Core::Execution.stubs(:which).with('mongo').returns(true)
12-
Facter::Core::Execution.stubs(:execute).with('mongo --version 2>&1').returns('MongoDB shell version: 3.2.1')
11+
allow(Facter::Core::Execution).to receive(:which).with('mongo').and_return(true)
12+
allow(Facter::Core::Execution).to receive(:execute).with('mongo --version 2>&1').and_return('MongoDB shell version: 3.2.1')
1313
end
1414
it {
1515
expect(Facter.fact(:mongodb_version).value).to eq('3.2.1')

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

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,6 @@
2020
}.to_json
2121
end
2222

23-
let(:parsed_dbs) { %w[admin local] }
24-
2523
let(:resource) do
2624
Puppet::Type.type(:mongodb_database).new(
2725
ensure: :present,
@@ -38,27 +36,26 @@
3836
tmp = Tempfile.new('test')
3937
mongodconffile = tmp.path
4038
allow(provider.class).to receive(:mongod_conf_file).and_return(mongodconffile)
41-
provider.class.stubs(:mongo_eval).with('rs.slaveOk();printjson(db.getMongo().getDBs())').returns(raw_dbs)
39+
allow(provider.class).to receive(:mongo_eval).with('rs.slaveOk();printjson(db.getMongo().getDBs())').and_return(raw_dbs)
4240
allow(provider.class).to receive(:db_ismaster).and_return(true)
4341
end
4442

4543
describe 'self.instances' do
4644
it 'returns an array of dbs' do
47-
dbs = provider.class.instances.map(&:name)
48-
expect(parsed_dbs).to match_array(dbs)
45+
expect(provider.class.instances.map(&:name)).to match_array(%w[admin local])
4946
end
5047
end
5148

5249
describe 'create' do
5350
it 'makes a database' do
54-
provider.expects(:mongo_eval)
51+
expect(provider).to receive(:mongo_eval)
5552
provider.create
5653
end
5754
end
5855

5956
describe 'destroy' do
6057
it 'removes a database' do
61-
provider.expects(:mongo_eval)
58+
expect(provider).to receive(:mongo_eval)
6259
provider.destroy
6360
end
6461
end

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

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -37,13 +37,12 @@
3737
EOT
3838
end
3939

40-
# rubocop:disable RSpec/MessageSpies
4140
it 'creates a replicaset' do
42-
allow(provider.class).to receive(:replset_properties)
43-
allow(provider).to receive(:alive_members).and_return(valid_members)
44-
allow(provider).to receive(:master_host).and_return(false)
41+
expect(provider.class).to receive(:replset_properties)
42+
expect(provider).to receive(:get_hosts_status).and_return([valid_members, []])
43+
expect(provider).to receive(:master_host).and_return(false)
4544
expect(provider).to receive(:rs_initiate).with('{"_id":"rs_test","members":[{"host":"mongo1:27017","_id":0},{"host":"mongo2:27017","_id":1},{"host":"mongo3:27017","_id":2}],"settings":{}}', 'mongo1:27017').and_return('info' => 'Config now saved locally. Should come online in about a minute.', 'ok' => 1)
46-
allow(provider).to receive(:db_ismaster).and_return('{"ismaster" : true}')
45+
expect(provider).to receive(:db_ismaster).and_return('{"ismaster" : true}')
4746
provider.create
4847
provider.flush
4948
end

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@
3737
end
3838

3939
before do
40-
provider.class.stubs(:mongo_command).with('sh.status()').returns(raw_shards)
40+
allow(provider.class).to receive(:mongo_command).with('sh.status()').and_return(raw_shards)
4141
end
4242

4343
describe 'self.instances' do
@@ -49,11 +49,11 @@
4949

5050
describe '#create' do
5151
it 'makes a shard' do
52-
provider.expects('sh_addshard').with('rs_test/mongo1:27018').returns(
52+
expect(provider).to receive(:sh_addshard).with('rs_test/mongo1:27018').and_return(
5353
'shardAdded' => 'rs_test',
5454
'ok' => 1
5555
)
56-
provider.expects('sh_enablesharding').with('rs_test').returns(
56+
expect(provider).to receive(:sh_enablesharding).with('rs_test').and_return(
5757
'ok' => 1
5858
)
5959
provider.create

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

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,8 @@
3030
tmp = Tempfile.new('test')
3131
mongodconffile = tmp.path
3232
allow(provider.class).to receive(:mongod_conf_file).and_return(mongodconffile)
33-
provider.class.stubs(:mongo_eval).with('printjson(db.system.users.find().toArray())').returns(raw_users)
34-
provider.class.stubs(:mongo_version).returns('2.6.x')
33+
allow(provider.class).to receive(:mongo_eval).with('printjson(db.system.users.find().toArray())').and_return(raw_users)
34+
allow(provider.class).to receive(:mongo_version).and_return('2.6.x')
3535
allow(provider.class).to receive(:db_ismaster).and_return(true)
3636
end
3737

@@ -61,14 +61,14 @@
6161
}
6262
EOS
6363

64-
provider.expects(:mongo_eval).with("db.runCommand(#{cmd_json})", 'new_database')
64+
expect(provider).to receive(:mongo_eval).with("db.runCommand(#{cmd_json})", 'new_database')
6565
provider.create
6666
end
6767
end
6868

6969
describe 'destroy' do
7070
it 'removes a user' do
71-
provider.expects(: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
@@ -94,7 +94,7 @@
9494
"digestPassword": false
9595
}
9696
EOS
97-
provider.expects(:mongo_eval).
97+
expect(provider).to receive(:mongo_eval).
9898
with("db.runCommand(#{cmd_json})", 'new_database')
9999
provider.password_hash = 'newpass'
100100
end
@@ -121,29 +121,29 @@
121121
describe 'roles=' do
122122
it 'changes nothing' do
123123
resource.provider.set(name: 'new_user', ensure: :present, roles: %w[role1 role2])
124-
provider.expects(:mongo_eval).times(0)
124+
expect(provider).not_to receive(:mongo_eval)
125125
provider.roles = %w[role1 role2]
126126
end
127127

128128
it 'grant a role' do
129129
resource.provider.set(name: 'new_user', ensure: :present, roles: %w[role1 role2])
130-
provider.expects(:mongo_eval).
130+
expect(provider).to receive(:mongo_eval).
131131
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])
137-
provider.expects(:mongo_eval).
137+
expect(provider).to receive(:mongo_eval).
138138
with("db.getSiblingDB('new_database').revokeRolesFromUser('new_user', [\"role1\"])")
139139
provider.roles = ['role2']
140140
end
141141

142142
it 'exchanges a role' do
143143
resource.provider.set(name: 'new_user', ensure: :present, roles: %w[role1 role2])
144-
provider.expects(:mongo_eval).
144+
expect(provider).to receive(:mongo_eval).
145145
with("db.getSiblingDB('new_database').revokeRolesFromUser('new_user', [\"role1\"])")
146-
provider.expects(:mongo_eval).
146+
expect(provider).to receive(:mongo_eval).
147147
with("db.getSiblingDB('new_database').grantRolesToUser('new_user', [\"role3\"])")
148148

149149
provider.roles = %w[role2 role3]

0 commit comments

Comments
 (0)