task default: ['test'] task test: [:syntax, :lint, :unit] desc 'Vendor the cookbooks in the Berksfile' task :berks_prep do sh %(chef exec berks vendor) end desc 'Run FoodCritic (syntax) tests' task :syntax do sh %(chef exec foodcritic --exclude spec -f any .) end desc 'Run RuboCop (lint) tests' task :lint do sh %(chef exec cookstyle) end desc 'Run RSpec (unit) tests' task unit: :berks_prep do sh %(chef exec rspec --format documentation) end desc 'Remove the berks-cookbooks directory and the Berksfile.lock' task :clean do rm_rf [ 'berks-cookbooks', 'Berksfile.lock', ] end desc 'All-in-One Neutron build Infra using Common task' task :integration do # Use the common integration task sh %(wget -nv -t 3 -O Rakefile-Common https://raw.githubusercontent.com/openstack/cookbook-openstack-common/master/Rakefile) load './Rakefile-Common' Rake::Task['common_integration'].invoke end