diff options
author | Spencer Krum <nibz@spencerkrum.com> | 2015-07-09 10:53:56 -0700 |
---|---|---|
committer | Spencer Krum <nibz@spencerkrum.com> | 2015-07-30 15:51:54 -0700 |
commit | f411ee7119cab1277baffee2fe2b2f978f402072 (patch) | |
tree | d9037eedae96fc42c18c525a12574b5ac4f75c76 /spec | |
parent | 1282649b91b482dd547b674f4d52af166a5eab69 (diff) | |
download | puppet-stdlib-f411ee7119cab1277baffee2fe2b2f978f402072.tar.gz puppet-stdlib-f411ee7119cab1277baffee2fe2b2f978f402072.tar.bz2 |
Add load_metadata_json function
This function loads the metadata.json into a puppet variable. This enables a number of neat things such as:
* Which version of the module am I using? 2.x? 3.x?
* Which author of the module am I using? puppetlabs? example42?
Diffstat (limited to 'spec')
-rwxr-xr-x | spec/functions/load_module_metadata.rb | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/spec/functions/load_module_metadata.rb b/spec/functions/load_module_metadata.rb new file mode 100755 index 0000000..ba542eb --- /dev/null +++ b/spec/functions/load_module_metadata.rb @@ -0,0 +1,16 @@ +require 'spec_helper' + +describe 'load_module_metadata' do + it { is_expected.not_to eq(nil) } + it { is_expected.to run.with_params().and_raise_error(Puppet::ParseError, /wrong number of arguments/i) } + it { is_expected.to run.with_params("one", "two").and_raise_error(Puppet::ParseError, /wrong number of arguments/i) } + + it "should json parse the file" do + allow(scope).to receive(:function_get_module_path).with(['science']).and_return('/path/to/module/') + allow(File).to receive(:exists?).with(/metadata.json/).and_return(true) + allow(File).to receive(:read).with(/metadata.json/).and_return('{"name": "spencer-science"}') + + result = subject.call(['science']) + expect(result['name']).to eq('spencer-science') + end +end |