Sha256: 4250262e87a17e7ffe145f6431aeb025447af5a5ad73fc02814cb1968b0757a2

Contents?: true

Size: 837 Bytes

Versions: 10

Compression:

Stored size: 837 Bytes

Contents

module Matchers; module Resource
  extend RSpec::Matchers::DSL

  matcher :have_resource do |expected_resource|
    @params = {}

    match do |actual_catalog|
      @mismatch = ""
      if resource = actual_catalog.resource(expected_resource)
        matched = true
        failures = []
        @params.each do |name, value|
          if resource[name] != value
            matched = false
            failures << "expected #{name} to be '#{value}' but was '#{resource[name]}'"
          end
        end
        @mismatch = failures.join("\n")

        matched
      else
        @mismatch = "expected #{@actual.to_dot} to include #{@expected[0]}"
        false
      end
    end

    chain :with_parameter do |name, value|
      @params[name] = value
    end

    def failure_message_for_should
      @mismatch
    end
  end
end; end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
puppet-3.5.1 spec/lib/matchers/resource.rb
puppet-3.5.1-x86-mingw32 spec/lib/matchers/resource.rb
puppet-3.5.1.rc1 spec/lib/matchers/resource.rb
puppet-3.5.1.rc1-x86-mingw32 spec/lib/matchers/resource.rb
puppet-3.5.0.rc3 spec/lib/matchers/resource.rb
puppet-3.5.0.rc3-x86-mingw32 spec/lib/matchers/resource.rb
puppet-3.5.0.rc2 spec/lib/matchers/resource.rb
puppet-3.5.0.rc2-x86-mingw32 spec/lib/matchers/resource.rb
puppet-3.5.0.rc1 spec/lib/matchers/resource.rb
puppet-3.5.0.rc1-x86-mingw32 spec/lib/matchers/resource.rb