summaryrefslogtreecommitdiff
path: root/spec
diff options
context:
space:
mode:
authorSpencer Krum <nibz@spencerkrum.com>2015-07-09 10:53:56 -0700
committerSpencer Krum <nibz@spencerkrum.com>2015-07-30 15:51:54 -0700
commitf411ee7119cab1277baffee2fe2b2f978f402072 (patch)
treed9037eedae96fc42c18c525a12574b5ac4f75c76 /spec
parent1282649b91b482dd547b674f4d52af166a5eab69 (diff)
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-xspec/functions/load_module_metadata.rb16
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