class RSpec::Puppet::ManifestMatchers::CountGeneric
Constants
- DEFAULT_RESOURCES
Attributes
resource_type[R]
Public Class Methods
new(type, count, *method)
click to toggle source
# File lib/rspec-puppet/matchers/count_generic.rb, line 12 def initialize(type, count, *method) if type.nil? @type = method[0].to_s.gsub(/^have_(.+)_resource_count$/, '\1') else @type = type end @resource_type = referenced_type(@type) @expected_number = count.to_i end
Public Instance Methods
description()
click to toggle source
# File lib/rspec-puppet/matchers/count_generic.rb, line 42 def description desc = [] desc << "contain exactly #{@expected_number}" if @type == "class" desc << "#{@expected_number == 1 ? "class" : "classes" }" else unless @type == "resource" desc << "#{@resource_type}" end desc << "#{@expected_number == 1 ? "resource" : "resources" }" end desc.join(" ") end
failure_message()
click to toggle source
# File lib/rspec-puppet/matchers/count_generic.rb, line 58 def failure_message "expected that the catalogue would " + description + " but it contains #{@actual_number}" end
failure_message_when_negated()
click to toggle source
# File lib/rspec-puppet/matchers/count_generic.rb, line 62 def failure_message_when_negated "expected that the catalogue would not " + description + " but it does" end
matches?(catalogue)
click to toggle source
# File lib/rspec-puppet/matchers/count_generic.rb, line 22 def matches?(catalogue) @catalogue = catalogue.call resources = @catalogue.resources.reject do |res| DEFAULT_RESOURCES.include?(res.ref) end @actual_number = if @type == 'resource' resources.count do |res| !['Class', 'Node'].include?(res.type) end else resources.count do |res| res.type == @resource_type end end @actual_number == @expected_number end
supports_block_expectations()
click to toggle source
# File lib/rspec-puppet/matchers/count_generic.rb, line 66 def supports_block_expectations true end
supports_value_expectations()
click to toggle source
# File lib/rspec-puppet/matchers/count_generic.rb, line 70 def supports_value_expectations true end
Private Instance Methods
referenced_type(type)
click to toggle source
# File lib/rspec-puppet/matchers/count_generic.rb, line 76 def referenced_type(type) type.split('__').map { |r| r.capitalize }.join('::') end