2014-04-24 21:41:30 +00:00

59 lines
1.4 KiB
Gherkin

@sshd
Feature: `env?' condition keyword
Scenario: succeeds when remote environment variable is defined
Given a recipe with:
"""
target 'some_host.test'
task :testing_env_var_definition do
condition { env? :shell }
echo 'evaluated'
end
"""
When I successfully execute the recipe
Then the output must contain "evaluated"
Scenario: fails when remote environment variable is not defined
Given a recipe with:
"""
target 'some_host.test'
task :testing_env_var_definition do
condition { env? :non_existent_var }
echo 'evaluated'
end
"""
When I successfully execute the recipe
Then the output must not contain "evaluated"
Scenario: succeeds when remote environment variable value match
Given a recipe with:
"""
target 'some_host.test'
task :testing_env_var_value do
condition { env? :shell, '/bin/sh' }
echo 'evaluated'
end
"""
When I successfully execute the recipe
Then the output must contain "evaluated"
Scenario: fails when remote environment variable value does not match
Given a recipe with:
"""
target 'some_host.test'
task :testing_env_var_value do
condition { env? :shell, 'non_existent_shell' }
echo 'evaluated'
end
"""
When I successfully execute the recipe
Then the output must not contain "evaluated"