diff --git a/lib/puppet/provider/package/npm.rb b/lib/puppet/provider/package/npm.rb index 4e86596a..16e26edd 100644 --- a/lib/puppet/provider/package/npm.rb +++ b/lib/puppet/provider/package/npm.rb @@ -53,7 +53,7 @@ def query end def latest - npm('view', resource[:name], 'version').strip + npm('view', resource[:name], 'version').lines.reject { |l| l.start_with?('npm') }.join("\n").strip end def update diff --git a/spec/unit/puppet/provider/package/npm_spec.rb b/spec/unit/puppet/provider/package/npm_spec.rb index 75820db2..76d02650 100644 --- a/spec/unit/puppet/provider/package/npm_spec.rb +++ b/spec/unit/puppet/provider/package/npm_spec.rb @@ -40,7 +40,7 @@ def self.it_should_respond_to(*actions) end describe 'when npm packages are installed globally' do - before :each do + before do provider.class.instance_variable_set(:@npmlist, nil) end @@ -67,4 +67,11 @@ def self.it_should_respond_to(*actions) expect(provider.class.instances).to eq([]) end end + + describe '#latest' do + it 'filters npm registry logging' do + provider.expects(:npm).with('view', 'express', 'version').returns("npm http GET https://registry.npmjs.org/express\nnpm http 200 https://registry.npmjs.org/express\n2.0.0") + expect(provider.latest).to eq('2.0.0') + end + end end