Module: ChefSpec::API::RenderFileMatchers

Defined in:
lib/chefspec/api/render_file.rb

Overview

Since:

  • 3.0.0

Instance Method Summary collapse

Instance Method Details

#render_file(path) ⇒ ChefSpec::Matchers::RenderFileMatcher

Assert that a file is rendered by the Chef run. This matcher works for template, file, and cookbook_file resources. The content from the resource must be convertable to a string; verifying the content of a binary file is not permissible at this time.

Examples:

Assert a template is rendered

expect(chef_run).to render_file('/etc/foo')

Assert a template is rendered with certain content

expect(template).to render_file('/etc/foo').with_content('This is a file')

Assert a template is rendered with matching content

expect(template).to render_file('/etc/foo').with_content(/^This(.+)$/)

Assert a template is rendered with content matching any RSpec matcher

expect(template).to render_file('/etc/foo').with_content(starts_with('This'))

Assert a partial path to a template is rendered with matching content

expect(template).to render_file(/\/etc\/foo-(\d+)$/).with_content(/^This(.+)$/)

Parameters:

  • path (String)

    the path of the file to render

Returns:

Since:

  • 3.0.0


31
32
33
# File 'lib/chefspec/api/render_file.rb', line 31

def render_file(path)
  ChefSpec::Matchers::RenderFileMatcher.new(path)
end