Hi,
we use a custom function (extlib::read_url) which we want to stub for every
profile and role class unit test.
We tried using before within Spec.configure:
RSpec.configure do |c|
c.before :each do
Puppet::Functions.create_function(:'profile::read_url') do
dispatch :read_url do
param 'Stdlib::HTTPUrl', :url
return_type 'String'
end
def read_url(url)
'ssh-rsa AAAAAAAAAzuozgouzvouzvf== [email protected]'
end
end
end
end
When stubbing the function in spec_helper_local.rb file, we must add the
dispatch and the def.
But the test still use the original function.
I also tried “overloading” the function in a spec/fixtures/override_modules
directory.
Unit tests still take the original function.
Even adding shared_context is not working.
Has anyone an idea, on how to solve this.
I don’t want to add the function stub (which works flawlessly) into every class
unit test.
This is a working example where we stub inside the class unit test:
require 'spec_helper'
describe 'profile::base::user_accounts' do
on_supported_os.each do |os, os_facts|
context "on #{os}" do
let(:facts) { os_facts }
Puppet::Functions.create_function(:'profile::read_url') do
return 'ssh-rsa AAAAAAAAAzuozgouzvouzvf== [email protected]'
end
it { is_expected.to compile }
end
end
end
Best,
Martin
--
You received this message because you are subscribed to the Google Groups
"Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/puppet-users/422A162D-B1C9-48B1-902C-8E70F1D945A5%40gmail.com.