class Chef::Knife::CookbookTest
Public Instance Methods
cookbook_loader()
click to toggle source
# File lib/chef/knife/cookbook_test.rb, line 89 def cookbook_loader @cookbook_loader ||= Chef::CookbookLoader.new(config[:cookbook_path]) end
run()
click to toggle source
# File lib/chef/knife/cookbook_test.rb, line 45 def run config[:cookbook_path] ||= Chef::Config[:cookbook_path] checked_a_cookbook = false if config[:all] cl = cookbook_loader cl.load_cookbooks cl.each do |key, cookbook| checked_a_cookbook = true test_cookbook(key) end else @name_args.each do |cb| ui.info "checking #{cb}" next unless cookbook_loader.cookbook_exists?(cb) checked_a_cookbook = true test_cookbook(cb) end end unless checked_a_cookbook ui.warn("No cookbooks to test in #{Array(config[:cookbook_path]).join(',')} - is your cookbook path misconfigured?") end end
test_cookbook(cookbook)
click to toggle source
# File lib/chef/knife/cookbook_test.rb, line 69 def test_cookbook(cookbook) ui.info("Running syntax check on #{cookbook}") Array(config[:cookbook_path]).reverse.each do |path| syntax_checker = Chef::Cookbook::SyntaxCheck.for_cookbook(cookbook, path) test_ruby(syntax_checker) test_templates(syntax_checker) end end
test_ruby(syntax_checker)
click to toggle source
# File lib/chef/knife/cookbook_test.rb, line 79 def test_ruby(syntax_checker) ui.info("Validating ruby files") exit(1) unless syntax_checker.validate_ruby_files end
test_templates(syntax_checker)
click to toggle source
# File lib/chef/knife/cookbook_test.rb, line 84 def test_templates(syntax_checker) ui.info("Validating templates") exit(1) unless syntax_checker.validate_templates end