[era_restore] add some cucumber tests
This commit is contained in:
parent
feb8a03d5f
commit
e3d459a148
66
features/era_restore.feature
Normal file
66
features/era_restore.feature
Normal file
@ -0,0 +1,66 @@
|
||||
Feature: thin_restore
|
||||
Scenario: print version (-V flag)
|
||||
When I run era_restore with -V
|
||||
Then it should pass with version
|
||||
|
||||
Scenario: print version (--version flag)
|
||||
When I run era_restore with --version
|
||||
Then it should pass with version
|
||||
|
||||
Scenario: print help (-h)
|
||||
When I run era_restore with -h
|
||||
Then it should pass
|
||||
And the output should contain exactly:
|
||||
|
||||
"""
|
||||
Usage: era_restore [options]
|
||||
Options:
|
||||
{-h|--help}
|
||||
{-i|--input} <input xml file>
|
||||
{-o|--output} <output device or file>
|
||||
{-V|--version}
|
||||
|
||||
"""
|
||||
|
||||
Scenario: print help (--help)
|
||||
When I run era_restore with -h
|
||||
Then it should pass
|
||||
And the output should contain exactly:
|
||||
|
||||
"""
|
||||
Usage: era_restore [options]
|
||||
Options:
|
||||
{-h|--help}
|
||||
{-i|--input} <input xml file>
|
||||
{-o|--output} <output device or file>
|
||||
{-V|--version}
|
||||
|
||||
"""
|
||||
|
||||
Scenario: missing input file
|
||||
Given the dev file metadata.bin
|
||||
When I run era_restore with -o metadata.bin
|
||||
Then it should fail with:
|
||||
"""
|
||||
No input file provided.
|
||||
"""
|
||||
|
||||
Scenario: input file not found
|
||||
Given the dev file metadata.bin
|
||||
When I run era_restore with -i foo.xml -o metadata.bin
|
||||
Then it should fail
|
||||
|
||||
Scenario: missing output file
|
||||
When I run era_restore with -i metadata.xml
|
||||
Then it should fail with:
|
||||
"""
|
||||
No output file provided.
|
||||
"""
|
||||
|
||||
Scenario: successfully restores a valid xml file
|
||||
Given a small era xml file
|
||||
And an empty dev file
|
||||
When I run era_restore with -i metadata.xml -o metadata.bin
|
||||
Then it should pass
|
||||
And the metadata should be valid
|
||||
|
@ -14,3 +14,18 @@ end
|
||||
Then /^era_usage to stderr$/ do
|
||||
assert_partial_output(ERA_USAGE, all_stderr)
|
||||
end
|
||||
|
||||
When(/^I run era_restore with (.*?)$/) do |opts|
|
||||
run_simple("era_restore #{opts}", false)
|
||||
end
|
||||
|
||||
Given(/^a small era xml file$/) do
|
||||
in_current_dir do
|
||||
system("era_xml create --nr-blocks 100 --nr-writesets 2 --current-era 1000 > #{xml_file}")
|
||||
end
|
||||
end
|
||||
|
||||
Then(/^the metadata should be valid$/) do
|
||||
run_simple("era_check #{dev_file}", true)
|
||||
end
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user