[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
|
Then /^era_usage to stderr$/ do
|
||||||
assert_partial_output(ERA_USAGE, all_stderr)
|
assert_partial_output(ERA_USAGE, all_stderr)
|
||||||
end
|
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