59 lines
1.4 KiB
Gherkin
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"
|