CLI will stop arguments processing after the special `--' argument, the rest will be saved in the env and accessible through a new task keyword: `recipe_argv'.
62 lines
1.7 KiB
Ruby
62 lines
1.7 KiB
Ruby
Given /^a recipe with:$/ do |recipe_body|
|
|
write_file 'recipe.rb', recipe_body
|
|
end
|
|
|
|
Given /^a recipe with an error$/ do
|
|
write_file 'recipe.rb', "task(:trigger_error) { fail 'some error' }\n"
|
|
end
|
|
|
|
Given /^a recipe using a remote$/ do
|
|
write_file 'recipe.rb', "task(:some_task) { sh 'echo hello' }\n"
|
|
end
|
|
|
|
Given /^a recipe named "([^"]+)" with:$/ do |recipe_path, recipe_body|
|
|
write_file recipe_path, recipe_body
|
|
end
|
|
|
|
When /^I execute the recipe$/ do
|
|
run_simple 'producer recipe.rb', false
|
|
end
|
|
|
|
When /^I execute the recipe on remote target$/ do
|
|
run_simple 'producer recipe.rb -t some_host.test', false
|
|
end
|
|
|
|
When /^I execute the recipe on unknown remote target$/ do
|
|
run_simple 'producer recipe.rb -t #unknown_host.test', false
|
|
assert_matching_output '\ASocketError', all_output
|
|
end
|
|
|
|
When /^I execute the recipe on unknown remote target with option (-.+)$/ do |option|
|
|
run_simple "producer recipe.rb #{option} -t #unknown_host.test", false
|
|
assert_matching_output '\ASocketError', all_output
|
|
end
|
|
|
|
When /^I successfully execute the recipe$/ do
|
|
step 'I execute the recipe'
|
|
assert_exit_status 0
|
|
end
|
|
|
|
When /^I successfully execute the recipe on remote target$/ do
|
|
step 'I execute the recipe on remote target'
|
|
assert_exit_status 0
|
|
end
|
|
|
|
When /^I execute the recipe with option (-.+)$/ do |option|
|
|
run_simple "producer #{option} recipe.rb", false
|
|
end
|
|
|
|
When /^I successfully execute the recipe with option (-.+)$/ do |option|
|
|
run_simple "producer #{option} recipe.rb", false
|
|
assert_exit_status 0
|
|
end
|
|
|
|
When /^I successfully execute the recipe with arguments "([^"]+)"$/ do |arguments|
|
|
run_simple "producer recipe.rb -- #{arguments}", false
|
|
assert_exit_status 0
|
|
end
|
|
|
|
When /^I execute the recipe interactively$/ do
|
|
run_interactive 'producer recipe.rb'
|
|
end
|