Implement `file_contains' condition keyword

This commit is contained in:
Thibault Jouan
2014-01-23 16:37:19 +00:00
parent 05331d334d
commit a0482d175c
7 changed files with 100 additions and 4 deletions

View File

@@ -6,6 +6,10 @@ Given /^a remote file named "([^"]+)"$/ do |file_name|
write_file file_name, ''
end
Given /^a remote file named "([^"]+)" with "([^"]+)"$/ do |file_name, content|
write_file file_name, content
end
Then /^the remote directory "([^"]+)" should exists$/ do |path|
check_directory_presence([path], true)
end

View File

@@ -0,0 +1,28 @@
@sshd
Feature: `file_contains' condition keyword
Background:
Given a recipe with:
"""
target 'some_host.test'
task :testing_content_in_file_presense do
condition { file_contains 'some_file', 'some_content' }
echo 'evaluated'
end
"""
Scenario: succeeds when file contains expected content
Given a remote file named "some_file" with "some_content"
When I successfully execute the recipe
Then the output must contain "evaluated"
Scenario: fails when file does not contain expected content
Given a remote file named "some_file" with "some_other_content"
When I successfully execute the recipe
Then the output must not contain "evaluated"
Scenario: fails when file does not exist
When I successfully execute the recipe
Then the output must not contain "evaluated"