Sha256: 439e8fe7882d4c833077328c13466a69005f89098b0dce2c4ce9cdbcd50dd949

Contents?: true

Size: 1.17 KB

Versions: 1

Compression:

Stored size: 1.17 KB

Contents

require 'spec_helper'
require 'puppet/module_tool/applications'
require 'puppet_spec/modules'

describe Puppet::ModuleTool::Applications::Searcher, :fails_on_windows => true do
  include PuppetSpec::Files

  describe "when searching" do
    let(:forge) { mock 'forge' }

    it "should return results from a forge query when successful" do
      results = 'mock results'
      forge.expects(:search).with('search_term').returns(results)

      searcher = Puppet::ModuleTool::Applications::Searcher.new('search_term', forge)
      search_result = searcher.run
      search_result.should == {
        :result => :success,
        :answers => results,
      }
    end

    it "should return an error when the forge query throws an exception" do
      forge.expects(:search).with('search_term').raises Puppet::Forge::Errors::ForgeError.new("something went wrong")
      
      searcher = Puppet::ModuleTool::Applications::Searcher.new('search_term', forge)
      search_result = searcher.run
      search_result.should == {
        :result => :failure,
        :error => {
          :oneline   => 'something went wrong',
          :multiline => 'something went wrong',
        },
      }
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
puppet-3.0.0.rc4 spec/unit/module_tool/applications/searcher_spec.rb