aruba 0.14.9 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.cucumberproignore +3 -0
- data/.github/ISSUE_TEMPLATE.md +48 -0
- data/.github/PULL_REQUEST_TEMPLATE.md +41 -0
- data/.gitignore +1 -0
- data/.rspec +1 -1
- data/.rubocop.yml +20 -179
- data/.rubocop_todo.yml +262 -0
- data/.simplecov +7 -5
- data/.travis.yml +54 -46
- data/.yardopts +3 -0
- data/CHANGELOG.md +613 -246
- data/CONTRIBUTING.md +247 -45
- data/Dockerfile +67 -0
- data/Gemfile +5 -96
- data/LICENSE +1 -1
- data/README.md +57 -180
- data/Rakefile +63 -32
- data/appveyor.yml +8 -11
- data/aruba.gemspec +47 -41
- data/bin/console +7 -0
- data/bin/test +9 -0
- data/cucumber.yml +4 -24
- data/doc/dependency_decisions.yml +42 -2
- data/docker-compose.yml +26 -0
- data/{bin → exe}/aruba +1 -1
- data/fixtures/cli-app/Rakefile +1 -1
- data/fixtures/cli-app/bin/aruba-test-cli +6 -0
- data/fixtures/cli-app/cli-app.gemspec +1 -2
- data/fixtures/cli-app/features/support/aruba.rb +1 -0
- data/fixtures/cli-app/features/support/env.rb +1 -1
- data/fixtures/cli-app/lib/cli/app/suppress_simple_cov_output.rb +3 -3
- data/fixtures/cli-app/lib/cli/app/version.rb +1 -1
- data/fixtures/cli-app/lib/cli/app.rb +1 -5
- data/fixtures/cli-app/spec/spec_helper.rb +4 -6
- data/fixtures/empty-app/Rakefile +1 -1
- data/fixtures/empty-app/cli-app.gemspec +1 -2
- data/fixtures/empty-app/lib/cli/app/version.rb +1 -1
- data/fixtures/empty-app/lib/cli/app.rb +0 -6
- data/fixtures/getting-started-app/Gemfile +1 -1
- data/lib/aruba/api/commands.rb +109 -143
- data/lib/aruba/api/core.rb +57 -43
- data/lib/aruba/api/environment.rb +16 -7
- data/lib/aruba/api/filesystem.rb +42 -29
- data/lib/aruba/api/text.rb +3 -9
- data/lib/aruba/api.rb +6 -11
- data/lib/aruba/aruba_path.rb +27 -89
- data/lib/aruba/basic_configuration.rb +4 -24
- data/lib/aruba/cli.rb +1 -1
- data/lib/aruba/colorizer.rb +10 -99
- data/lib/aruba/command.rb +2 -0
- data/lib/aruba/config/jruby.rb +15 -5
- data/lib/aruba/config_wrapper.rb +1 -1
- data/lib/aruba/configuration.rb +92 -0
- data/lib/aruba/console/help.rb +1 -7
- data/lib/aruba/console.rb +5 -5
- data/lib/aruba/contracts/absolute_path.rb +2 -2
- data/lib/aruba/contracts/relative_path.rb +2 -2
- data/lib/aruba/cucumber/command.rb +171 -160
- data/lib/aruba/cucumber/environment.rb +1 -1
- data/lib/aruba/cucumber/file.rb +21 -35
- data/lib/aruba/cucumber/hooks.rb +17 -56
- data/lib/aruba/cucumber/testing_frameworks.rb +74 -50
- data/lib/aruba/cucumber.rb +0 -5
- data/lib/aruba/event_bus/name_resolver.rb +5 -16
- data/lib/aruba/hooks.rb +1 -1
- data/lib/aruba/in_config_wrapper.rb +5 -1
- data/lib/aruba/initializer.rb +36 -42
- data/lib/aruba/matchers/base/base_matcher.rb +2 -2
- data/lib/aruba/matchers/base/message_indenter.rb +19 -0
- data/lib/aruba/matchers/base/object_formatter.rb +2 -9
- data/lib/aruba/matchers/collection/include_an_object.rb +7 -9
- data/lib/aruba/matchers/command/be_successfully_executed.rb +6 -4
- data/lib/aruba/matchers/command/have_exit_status.rb +14 -4
- data/lib/aruba/matchers/command/have_finished_in_time.rb +3 -5
- data/lib/aruba/matchers/command/have_output.rb +10 -5
- data/lib/aruba/matchers/command/have_output_on_stderr.rb +2 -2
- data/lib/aruba/matchers/command/have_output_on_stdout.rb +2 -2
- data/lib/aruba/matchers/command/have_output_size.rb +2 -2
- data/lib/aruba/matchers/directory/be_an_existing_directory.rb +5 -7
- data/lib/aruba/matchers/directory/have_sub_directory.rb +4 -6
- data/lib/aruba/matchers/file/be_a_command_found_in_path.rb +2 -4
- data/lib/aruba/matchers/file/be_an_existing_executable.rb +4 -6
- data/lib/aruba/matchers/file/be_an_existing_file.rb +5 -7
- data/lib/aruba/matchers/file/have_file_content.rb +4 -4
- data/lib/aruba/matchers/file/have_file_size.rb +6 -8
- data/lib/aruba/matchers/file/have_same_file_content.rb +5 -8
- data/lib/aruba/matchers/path/a_path_matching_pattern.rb +2 -4
- data/lib/aruba/matchers/path/be_an_absolute_path.rb +3 -5
- data/lib/aruba/matchers/path/be_an_existing_path.rb +4 -6
- data/lib/aruba/matchers/path/have_permissions.rb +6 -8
- data/lib/aruba/matchers/string/include_output_string.rb +8 -10
- data/lib/aruba/matchers/string/match_output_string.rb +9 -11
- data/lib/aruba/matchers/string/output_string_eq.rb +7 -9
- data/lib/aruba/platform.rb +0 -8
- data/lib/aruba/platforms/announcer.rb +42 -79
- data/lib/aruba/platforms/aruba_file_creator.rb +2 -6
- data/lib/aruba/platforms/aruba_fixed_size_file_creator.rb +2 -2
- data/lib/aruba/platforms/aruba_logger.rb +23 -7
- data/lib/aruba/platforms/command_monitor.rb +12 -107
- data/lib/aruba/platforms/determine_disk_usage.rb +56 -14
- data/lib/aruba/platforms/filesystem_status.rb +10 -14
- data/lib/aruba/platforms/local_environment.rb +2 -2
- data/lib/aruba/platforms/simple_table.rb +3 -11
- data/lib/aruba/platforms/unix_command_string.rb +7 -11
- data/lib/aruba/platforms/unix_environment_variables.rb +18 -27
- data/lib/aruba/platforms/unix_platform.rb +20 -51
- data/lib/aruba/platforms/unix_which.rb +2 -1
- data/lib/aruba/platforms/windows_command_string.rb +15 -10
- data/lib/aruba/platforms/windows_environment_variables.rb +43 -44
- data/lib/aruba/platforms/windows_platform.rb +4 -0
- data/lib/aruba/platforms/windows_which.rb +4 -3
- data/lib/aruba/processes/basic_process.rb +28 -30
- data/lib/aruba/processes/debug_process.rb +12 -3
- data/lib/aruba/processes/in_process.rb +17 -8
- data/lib/aruba/processes/spawn_process.rb +57 -46
- data/lib/aruba/rspec.rb +14 -36
- data/lib/aruba/runtime.rb +3 -6
- data/lib/aruba/setup.rb +6 -6
- data/lib/aruba/tasks/docker_helpers.rb +154 -0
- data/lib/aruba/version.rb +1 -1
- metadata +191 -244
- data/features/.nav +0 -72
- data/features/api/command/find_command.feature +0 -83
- data/features/api/command/last_command_started.feature +0 -50
- data/features/api/command/last_command_stopped.feature +0 -89
- data/features/api/command/run.feature +0 -414
- data/features/api/command/run_simple.feature +0 -242
- data/features/api/command/send_signal.feature +0 -53
- data/features/api/command/stderr.feature +0 -46
- data/features/api/command/stdout.feature +0 -46
- data/features/api/command/stop.feature +0 -131
- data/features/api/command/stop_all_commands.feature +0 -53
- data/features/api/command/terminate_all_commands.feature +0 -53
- data/features/api/command/which.feature +0 -37
- data/features/api/core/expand_path.feature +0 -88
- data/features/api/environment/append_environment_variable.feature +0 -128
- data/features/api/environment/delete_environment_variable.feature +0 -63
- data/features/api/environment/prepend_environment_variable.feature +0 -128
- data/features/api/environment/set_environment_variable.feature +0 -376
- data/features/api/filesystem/cd.feature +0 -184
- data/features/api/filesystem/create_directory.feature +0 -57
- data/features/api/filesystem/disk_usage.feature +0 -152
- data/features/api/filesystem/does_exist.feature +0 -62
- data/features/api/filesystem/fixtures.feature +0 -104
- data/features/api/filesystem/is_absolute.feature +0 -48
- data/features/api/filesystem/is_directory.feature +0 -53
- data/features/api/filesystem/is_file.feature +0 -54
- data/features/api/filesystem/is_relative.feature +0 -48
- data/features/api/filesystem/move.feature +0 -119
- data/features/api/text/extract_text.feature +0 -87
- data/features/api/text/replace_variables.feature +0 -45
- data/features/api/text/sanitize_text.feature +0 -228
- data/features/api/text/unescape_text.feature +0 -127
- data/features/cli/console.feature +0 -52
- data/features/cli/init.feature +0 -79
- data/features/configuration/activate_announcer_on_command_failure.feature +0 -38
- data/features/configuration/command_runtime_environment.feature +0 -129
- data/features/configuration/console_history_file.feature +0 -38
- data/features/configuration/exit_timeout.feature +0 -52
- data/features/configuration/fixtures_directories.feature +0 -38
- data/features/configuration/fixtures_path_prefix.feature +0 -23
- data/features/configuration/home_directory.feature +0 -80
- data/features/configuration/io_timeout.feature +0 -30
- data/features/configuration/keep_ansi.feature +0 -30
- data/features/configuration/log_level.feature +0 -38
- data/features/configuration/physical_block_size.feature +0 -53
- data/features/configuration/remove_ansi_escape_sequences.feature +0 -38
- data/features/configuration/root_directory.feature +0 -30
- data/features/configuration/startup_wait_time.feature +0 -48
- data/features/configuration/usage.feature +0 -159
- data/features/configuration/working_directory.feature +0 -33
- data/features/development/build.feature +0 -15
- data/features/getting_started/cleanup.feature +0 -58
- data/features/getting_started/run_commands.feature +0 -187
- data/features/getting_started/supported_testing_frameworks.feature +0 -104
- data/features/getting_started/writing_good_feature_tests.feature +0 -38
- data/features/hooks/after/command.feature +0 -46
- data/features/hooks/before/command.feature +0 -75
- data/features/matchers/collection/include_an_object.feature +0 -72
- data/features/matchers/directory/have_sub_directory.feature +0 -110
- data/features/matchers/file/be_a_command_found_in_path.feature +0 -115
- data/features/matchers/file/be_existing_executable.feature +0 -88
- data/features/matchers/file/be_existing_file.feature +0 -82
- data/features/matchers/file/have_file_content.feature +0 -123
- data/features/matchers/file/have_file_size.feature +0 -107
- data/features/matchers/path/be_an_absolute_path.feature +0 -74
- data/features/matchers/path/be_an_existing_path.feature +0 -97
- data/features/matchers/path/have_permissions.feature +0 -118
- data/features/matchers/timeouts.feature +0 -48
- data/features/platforms/jruby.feature +0 -14
- data/features/rspec/integration.feature +0 -179
- data/features/step_definitions/aruba_dev_steps.rb +0 -56
- data/features/step_definitions/hooks.rb +0 -156
- data/features/steps/command/debug.feature +0 -92
- data/features/steps/command/exit_statuses.feature +0 -136
- data/features/steps/command/in_process.feature +0 -485
- data/features/steps/command/interactive.feature +0 -90
- data/features/steps/command/output.feature +0 -567
- data/features/steps/command/run.feature +0 -66
- data/features/steps/command/send_signal.feature +0 -104
- data/features/steps/command/shell.feature +0 -155
- data/features/steps/command/stderr.feature +0 -68
- data/features/steps/command/stdout.feature +0 -109
- data/features/steps/command/stop.feature +0 -313
- data/features/steps/core/announce.feature +0 -283
- data/features/steps/environment/append_environment_variable.feature +0 -52
- data/features/steps/environment/disable_bunder.feature +0 -18
- data/features/steps/environment/home_variable.feature +0 -62
- data/features/steps/environment/prepend_environment_variable.feature +0 -52
- data/features/steps/environment/set_environment_variable.feature +0 -49
- data/features/steps/filesystem/append_to_file.feature +0 -45
- data/features/steps/filesystem/cd_to_directory.feature +0 -33
- data/features/steps/filesystem/check_file_content.feature +0 -61
- data/features/steps/filesystem/check_permissions_of_file.feature +0 -39
- data/features/steps/filesystem/compare_files.feature +0 -42
- data/features/steps/filesystem/copy.feature +0 -45
- data/features/steps/filesystem/create_directory.feature +0 -57
- data/features/steps/filesystem/create_file.feature +0 -76
- data/features/steps/filesystem/existence_of_directory.feature +0 -57
- data/features/steps/filesystem/existence_of_file.feature +0 -43
- data/features/steps/filesystem/file_content.feature +0 -86
- data/features/steps/filesystem/fixtures.feature +0 -64
- data/features/steps/filesystem/move.feature +0 -45
- data/features/steps/filesystem/non_existence_of_directory.feature +0 -69
- data/features/steps/filesystem/non_existence_of_file.feature +0 -80
- data/features/steps/filesystem/overwrite_file.feature +0 -72
- data/features/steps/filesystem/remove_directory.feature +0 -38
- data/features/steps/filesystem/remove_file.feature +0 -38
- data/features/steps/filesystem/use_fixture.feature +0 -77
- data/features/steps/overview.feature +0 -25
- data/features/support/aruba.rb +0 -7
- data/features/support/env.rb +0 -33
- data/features/support/jruby.rb +0 -5
- data/features/support/simplecov_setup.rb +0 -8
- data/fixtures/cli-app/bin/cli +0 -6
- data/fixtures/spawn_process/stderr.sh +0 -3
- data/lib/aruba/api/deprecated.rb +0 -1234
- data/lib/aruba/config.rb +0 -107
- data/lib/aruba/cucumber/core.rb +0 -5
- data/lib/aruba/cucumber/rvm.rb +0 -3
- data/lib/aruba/in_process.rb +0 -14
- data/lib/aruba/jruby.rb +0 -4
- data/lib/aruba/matchers/deprecated/file.rb +0 -17
- data/lib/aruba/matchers/deprecated.rb +0 -1
- data/lib/aruba/matchers/path/match_path_pattern.rb +0 -41
- data/lib/aruba/matchers/rspec_matcher_include_regexp.rb +0 -25
- data/lib/aruba/platforms/disk_usage_calculator.rb +0 -20
- data/lib/aruba/reporting.rb +0 -126
- data/lib/aruba/spawn_process.rb +0 -11
- data/script/bootstrap +0 -28
- data/script/console +0 -16
- data/script/test +0 -3
- data/spec/aruba/api/bundler_spec.rb +0 -15
- data/spec/aruba/api/deprecated_spec.rb +0 -308
- data/spec/aruba/api/environment/restore_env_spec.rb +0 -86
- data/spec/aruba/api/environment/set_env_spec.rb +0 -46
- data/spec/aruba/api/filesystem/file_size_spec.rb +0 -28
- data/spec/aruba/api/runtime_spec.rb +0 -28
- data/spec/aruba/api_spec.rb +0 -981
- data/spec/aruba/aruba_path_spec.rb +0 -103
- data/spec/aruba/basic_configuration_spec.rb +0 -5
- data/spec/aruba/configuration_spec.rb +0 -5
- data/spec/aruba/hooks_spec.rb +0 -17
- data/spec/aruba/in_config_wrapper_spec.rb +0 -25
- data/spec/aruba/jruby_spec.rb +0 -55
- data/spec/aruba/matchers/command/have_output_size_spec.rb +0 -25
- data/spec/aruba/matchers/command_spec.rb +0 -174
- data/spec/aruba/matchers/deprecated_spec.rb +0 -120
- data/spec/aruba/matchers/directory_spec.rb +0 -57
- data/spec/aruba/matchers/file_spec.rb +0 -208
- data/spec/aruba/matchers/path_spec.rb +0 -58
- data/spec/aruba/platform/simple_table_spec.rb +0 -23
- data/spec/aruba/platform/windows_environment_variables_spec.rb +0 -500
- data/spec/aruba/platforms/unix_command_string_spec.rb +0 -17
- data/spec/aruba/platforms/windows_command_string_spec.rb +0 -22
- data/spec/aruba/rspec_spec.rb +0 -15
- data/spec/aruba/runtime_spec.rb +0 -29
- data/spec/aruba/spawn_process_spec.rb +0 -96
- data/spec/event_bus/name_resolver_spec.rb +0 -68
- data/spec/event_bus_spec.rb +0 -158
- data/spec/spec_helper.rb +0 -20
- data/spec/support/configs/.keep +0 -0
- data/spec/support/configs/aruba.rb +0 -5
- data/spec/support/configs/pry.rb +0 -3
- data/spec/support/configs/rspec.rb +0 -15
- data/spec/support/helpers/.keep +0 -0
- data/spec/support/helpers/reporting.rb +0 -44
- data/spec/support/matchers/.keep +0 -0
- data/spec/support/matchers/option.rb +0 -35
- data/spec/support/shared_contexts/.keep +0 -0
- data/spec/support/shared_contexts/aruba.rb +0 -49
- data/spec/support/shared_examples/.keep +0 -0
- data/spec/support/shared_examples/configuration.rb +0 -116
- data/spec/support/shared_examples/directory.rb +0 -7
- data/spec/support/shared_examples/file.rb +0 -7
- data/templates/css/console.css +0 -24
- data/templates/css/filesystem.css +0 -42
- data/templates/css/pygments-autumn.css +0 -59
- data/templates/files.erb +0 -14
- data/templates/images/LICENSE +0 -22
- data/templates/images/folder.png +0 -0
- data/templates/images/page_white.png +0 -0
- data/templates/images/page_white_gherkin.png +0 -0
- data/templates/images/page_white_ruby.png +0 -0
- data/templates/index.erb +0 -20
- data/templates/js/filesystem.js +0 -5
- data/templates/js/jquery-1.11.3.min.js +0 -5
- data/templates/main.erb +0 -34
|
@@ -1,107 +0,0 @@
|
|
|
1
|
-
Feature: Check if path has size
|
|
2
|
-
|
|
3
|
-
If you need to check if a given path has file size, you can use the
|
|
4
|
-
`have_file_size`-matcher. It fails if the file does not exist.
|
|
5
|
-
|
|
6
|
-
```ruby
|
|
7
|
-
require 'spec_helper'
|
|
8
|
-
|
|
9
|
-
RSpec.describe 'Check if file has size', :type => :aruba do
|
|
10
|
-
let(:file) { 'file.txt' }
|
|
11
|
-
let(:size) { 1 }
|
|
12
|
-
|
|
13
|
-
before(:each) { write_fixed_size_file(file, size) }
|
|
14
|
-
|
|
15
|
-
it { expect(file).to have_file_size size }
|
|
16
|
-
end
|
|
17
|
-
```
|
|
18
|
-
|
|
19
|
-
Background:
|
|
20
|
-
Given I use a fixture named "cli-app"
|
|
21
|
-
|
|
22
|
-
Scenario: Expect file of given size
|
|
23
|
-
Given a file named "spec/file_of_size_spec.rb" with:
|
|
24
|
-
"""
|
|
25
|
-
require 'spec_helper'
|
|
26
|
-
|
|
27
|
-
RSpec.describe 'Check if file has size', :type => :aruba do
|
|
28
|
-
let(:file) { 'file.txt' }
|
|
29
|
-
let(:size) { 1 }
|
|
30
|
-
|
|
31
|
-
before(:each) { write_fixed_size_file(file, size) }
|
|
32
|
-
|
|
33
|
-
it { expect(file).to have_file_size size }
|
|
34
|
-
end
|
|
35
|
-
"""
|
|
36
|
-
When I run `rspec`
|
|
37
|
-
Then the specs should all pass
|
|
38
|
-
|
|
39
|
-
Scenario: Expect multiple files of given size
|
|
40
|
-
Given a file named "spec/file_of_size_spec.rb" with:
|
|
41
|
-
"""
|
|
42
|
-
require 'spec_helper'
|
|
43
|
-
|
|
44
|
-
RSpec.describe 'Check if file has size', :type => :aruba do
|
|
45
|
-
let(:files) { %w(file1.txt file2.txt) }
|
|
46
|
-
let(:size) { 1 }
|
|
47
|
-
|
|
48
|
-
before :each do
|
|
49
|
-
files.each { |f| write_fixed_size_file(f, size) }
|
|
50
|
-
end
|
|
51
|
-
|
|
52
|
-
it { expect(files).to all have_file_size size }
|
|
53
|
-
end
|
|
54
|
-
"""
|
|
55
|
-
When I run `rspec`
|
|
56
|
-
Then the specs should all pass
|
|
57
|
-
|
|
58
|
-
Scenario: Expect a least one file of size
|
|
59
|
-
Given a file named "spec/file_of_size_spec.rb" with:
|
|
60
|
-
"""
|
|
61
|
-
require 'spec_helper'
|
|
62
|
-
|
|
63
|
-
RSpec.describe 'Check if file has size', :type => :aruba do
|
|
64
|
-
let(:files) { %w(file1.txt file2.txt) }
|
|
65
|
-
let(:size) { 1 }
|
|
66
|
-
|
|
67
|
-
before :each do
|
|
68
|
-
write_fixed_size_file(files.first, size)
|
|
69
|
-
end
|
|
70
|
-
|
|
71
|
-
it { expect(files).to include a_file_of_size size }
|
|
72
|
-
end
|
|
73
|
-
"""
|
|
74
|
-
When I run `rspec`
|
|
75
|
-
Then the specs should all pass
|
|
76
|
-
|
|
77
|
-
Scenario: Fails because file has different size than expected
|
|
78
|
-
Given a file named "spec/file_of_size_spec.rb" with:
|
|
79
|
-
"""
|
|
80
|
-
require 'spec_helper'
|
|
81
|
-
|
|
82
|
-
RSpec.describe 'Check if file has size', :type => :aruba do
|
|
83
|
-
let(:file) { 'file.txt' }
|
|
84
|
-
let(:size) { 1 }
|
|
85
|
-
|
|
86
|
-
before(:each) { write_fixed_size_file(file, size) }
|
|
87
|
-
|
|
88
|
-
it { expect(file).to have_file_size 2 }
|
|
89
|
-
end
|
|
90
|
-
"""
|
|
91
|
-
When I run `rspec`
|
|
92
|
-
Then the specs should not all pass
|
|
93
|
-
|
|
94
|
-
Scenario: Fails if file does not exist
|
|
95
|
-
Given a file named "spec/file_of_size_spec.rb" with:
|
|
96
|
-
"""
|
|
97
|
-
require 'spec_helper'
|
|
98
|
-
|
|
99
|
-
RSpec.describe 'Check if file has size', :type => :aruba do
|
|
100
|
-
let(:file) { 'file.txt' }
|
|
101
|
-
let(:size) { 1 }
|
|
102
|
-
|
|
103
|
-
it { expect(file).to have_file_size size }
|
|
104
|
-
end
|
|
105
|
-
"""
|
|
106
|
-
When I run `rspec`
|
|
107
|
-
Then the specs should not all pass
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
Feature: Check if path is absolute
|
|
2
|
-
|
|
3
|
-
If you need to check if a given path is absolute , you can use the
|
|
4
|
-
`be_an_absolute_path`-matcher. It doesn't care if the path is a directory or
|
|
5
|
-
a path.
|
|
6
|
-
|
|
7
|
-
```ruby
|
|
8
|
-
require 'spec_helper'
|
|
9
|
-
|
|
10
|
-
RSpec.describe 'Check if path is absolute', :type => :aruba do
|
|
11
|
-
let(:path) { 'file.txt' }
|
|
12
|
-
before(:each) { touch(path) }
|
|
13
|
-
|
|
14
|
-
it { expect(path).to be_an_absolute_path }
|
|
15
|
-
end
|
|
16
|
-
```
|
|
17
|
-
|
|
18
|
-
Background:
|
|
19
|
-
Given I use a fixture named "cli-app"
|
|
20
|
-
|
|
21
|
-
Scenario: Expect single existing path
|
|
22
|
-
Given a file named "spec/absolute_path_spec.rb" with:
|
|
23
|
-
"""
|
|
24
|
-
require 'spec_helper'
|
|
25
|
-
|
|
26
|
-
RSpec.describe 'Check if path is absolute', :type => :aruba do
|
|
27
|
-
let(:path) { '/path/to/file.txt' }
|
|
28
|
-
it { expect(path).to be_an_absolute_path }
|
|
29
|
-
end
|
|
30
|
-
"""
|
|
31
|
-
When I run `rspec`
|
|
32
|
-
Then the specs should all pass
|
|
33
|
-
|
|
34
|
-
Scenario: Expect multiple absolute paths
|
|
35
|
-
Given a file named "spec/absolute_path_spec.rb" with:
|
|
36
|
-
"""
|
|
37
|
-
require 'spec_helper'
|
|
38
|
-
|
|
39
|
-
RSpec.describe 'Check if path is absolute', :type => :aruba do
|
|
40
|
-
let(:paths) { %w(/path/to/path1.txt /path/to/path2.txt) }
|
|
41
|
-
|
|
42
|
-
it { expect(paths).to all be_an_absolute_path }
|
|
43
|
-
end
|
|
44
|
-
"""
|
|
45
|
-
When I run `rspec`
|
|
46
|
-
Then the specs should all pass
|
|
47
|
-
|
|
48
|
-
Scenario: Expect a least one existing path
|
|
49
|
-
Given a file named "spec/absolute_path_spec.rb" with:
|
|
50
|
-
"""
|
|
51
|
-
require 'spec_helper'
|
|
52
|
-
|
|
53
|
-
RSpec.describe 'Check if path is absolute', :type => :aruba do
|
|
54
|
-
let(:paths) { %w(/path/to/path1.txt path2.txt) }
|
|
55
|
-
|
|
56
|
-
it { expect(paths).to include an_absolute_path }
|
|
57
|
-
end
|
|
58
|
-
"""
|
|
59
|
-
When I run `rspec`
|
|
60
|
-
Then the specs should all pass
|
|
61
|
-
|
|
62
|
-
Scenario: Expect failure on relative path
|
|
63
|
-
Given a file named "spec/absolute_path_spec.rb" with:
|
|
64
|
-
"""
|
|
65
|
-
require 'spec_helper'
|
|
66
|
-
|
|
67
|
-
RSpec.describe 'Check if path is absolute', :type => :aruba do
|
|
68
|
-
let(:paths) { %w(path2.txt) }
|
|
69
|
-
|
|
70
|
-
it { expect(paths).to be_an_absolute_path }
|
|
71
|
-
end
|
|
72
|
-
"""
|
|
73
|
-
When I run `rspec`
|
|
74
|
-
Then the specs should not all pass
|
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
Feature: Check if path exists
|
|
2
|
-
|
|
3
|
-
If you need to check if a given path exists, you can use the
|
|
4
|
-
`be_an_existing_path`-matcher. It doesn't care if the path is a directory or
|
|
5
|
-
a path.
|
|
6
|
-
|
|
7
|
-
```ruby
|
|
8
|
-
require 'spec_helper'
|
|
9
|
-
|
|
10
|
-
RSpec.describe 'Check if path exists', :type => :aruba do
|
|
11
|
-
let(:path) { 'file.txt' }
|
|
12
|
-
before(:each) { touch(path) }
|
|
13
|
-
|
|
14
|
-
it { expect(path).to be_an_existing_path }
|
|
15
|
-
end
|
|
16
|
-
```
|
|
17
|
-
|
|
18
|
-
Background:
|
|
19
|
-
Given I use a fixture named "cli-app"
|
|
20
|
-
|
|
21
|
-
Scenario: Expect single existing path
|
|
22
|
-
Given a file named "spec/existing_path_spec.rb" with:
|
|
23
|
-
"""
|
|
24
|
-
require 'spec_helper'
|
|
25
|
-
|
|
26
|
-
RSpec.describe 'Check if path exists', :type => :aruba do
|
|
27
|
-
let(:path) { 'file.txt' }
|
|
28
|
-
before(:each) { touch(path) }
|
|
29
|
-
it { expect(path).to be_an_existing_path }
|
|
30
|
-
end
|
|
31
|
-
"""
|
|
32
|
-
When I run `rspec`
|
|
33
|
-
Then the specs should all pass
|
|
34
|
-
|
|
35
|
-
Scenario: Expect single existing directory
|
|
36
|
-
Given a file named "spec/existing_path_spec.rb" with:
|
|
37
|
-
"""
|
|
38
|
-
require 'spec_helper'
|
|
39
|
-
|
|
40
|
-
RSpec.describe 'Check if path exists', :type => :aruba do
|
|
41
|
-
let(:path) { 'dir.d' }
|
|
42
|
-
before(:each) { create_directory(path) }
|
|
43
|
-
it { expect(path).to be_an_existing_path }
|
|
44
|
-
end
|
|
45
|
-
"""
|
|
46
|
-
When I run `rspec`
|
|
47
|
-
Then the specs should all pass
|
|
48
|
-
|
|
49
|
-
Scenario: Expect single non-existing path
|
|
50
|
-
Given a file named "spec/existing_path_spec.rb" with:
|
|
51
|
-
"""
|
|
52
|
-
require 'spec_helper'
|
|
53
|
-
|
|
54
|
-
RSpec.describe 'Check if path exists', :type => :aruba do
|
|
55
|
-
let(:path) { 'file.txt' }
|
|
56
|
-
it { expect(path).not_to be_an_existing_path }
|
|
57
|
-
end
|
|
58
|
-
"""
|
|
59
|
-
When I run `rspec`
|
|
60
|
-
Then the specs should all pass
|
|
61
|
-
|
|
62
|
-
Scenario: Expect multiple existing paths
|
|
63
|
-
Given a file named "spec/existing_path_spec.rb" with:
|
|
64
|
-
"""
|
|
65
|
-
require 'spec_helper'
|
|
66
|
-
|
|
67
|
-
RSpec.describe 'Check if path exists', :type => :aruba do
|
|
68
|
-
let(:paths) { %w(path1.txt path2.txt) }
|
|
69
|
-
|
|
70
|
-
before :each do
|
|
71
|
-
paths.each { |f| touch(f) }
|
|
72
|
-
end
|
|
73
|
-
|
|
74
|
-
it { expect(paths).to all be_an_existing_path }
|
|
75
|
-
end
|
|
76
|
-
"""
|
|
77
|
-
When I run `rspec`
|
|
78
|
-
Then the specs should all pass
|
|
79
|
-
|
|
80
|
-
Scenario: Expect a least one existing path
|
|
81
|
-
Given a file named "spec/existing_path_spec.rb" with:
|
|
82
|
-
"""
|
|
83
|
-
require 'spec_helper'
|
|
84
|
-
|
|
85
|
-
RSpec.describe 'Check if path exists', :type => :aruba do
|
|
86
|
-
let(:paths) { %w(path1.txt path2.txt) }
|
|
87
|
-
|
|
88
|
-
before :each do
|
|
89
|
-
touch(paths.first)
|
|
90
|
-
end
|
|
91
|
-
|
|
92
|
-
it { expect(paths).to include an_existing_path }
|
|
93
|
-
end
|
|
94
|
-
"""
|
|
95
|
-
When I run `rspec`
|
|
96
|
-
Then the specs should all pass
|
|
97
|
-
|
|
@@ -1,118 +0,0 @@
|
|
|
1
|
-
Feature: Check if path has permissions in filesystem
|
|
2
|
-
|
|
3
|
-
If you need to check if a given path has some permissions in filesystem, you
|
|
4
|
-
can use the `have_permissions`-matcher. It fails if the file or directory
|
|
5
|
-
does not exist. You need to pass it the permissions either as `Octal`
|
|
6
|
-
(`0700`) or `String` (`'0700'`).
|
|
7
|
-
|
|
8
|
-
```ruby
|
|
9
|
-
require 'spec_helper'
|
|
10
|
-
|
|
11
|
-
RSpec.describe 'Check if path has permissions', :type => :aruba do
|
|
12
|
-
context 'when is file' do
|
|
13
|
-
let(:file) { 'file.txt' }
|
|
14
|
-
let(:permissions) { 0700 }
|
|
15
|
-
|
|
16
|
-
before(:each) { touch(file) }
|
|
17
|
-
before(:each) { chmod(permissions, file }
|
|
18
|
-
|
|
19
|
-
it { expect(file).to have_permissions permissions }
|
|
20
|
-
end
|
|
21
|
-
end
|
|
22
|
-
```
|
|
23
|
-
|
|
24
|
-
Background:
|
|
25
|
-
Given I use a fixture named "cli-app"
|
|
26
|
-
|
|
27
|
-
Scenario: Expect file with permissions
|
|
28
|
-
Given a file named "spec/path_with_permissions_spec.rb" with:
|
|
29
|
-
"""
|
|
30
|
-
require 'spec_helper'
|
|
31
|
-
|
|
32
|
-
RSpec.describe 'Check if path has permissions', :type => :aruba do
|
|
33
|
-
let(:file) { 'file.txt' }
|
|
34
|
-
let(:permissions) { 0700 }
|
|
35
|
-
|
|
36
|
-
before(:each) { touch(file) }
|
|
37
|
-
before(:each) { chmod(permissions, file) }
|
|
38
|
-
|
|
39
|
-
it { expect(file).to have_permissions permissions }
|
|
40
|
-
end
|
|
41
|
-
"""
|
|
42
|
-
When I run `rspec`
|
|
43
|
-
Then the specs should all pass
|
|
44
|
-
|
|
45
|
-
Scenario: Expect directory with permissions
|
|
46
|
-
Given a file named "spec/path_with_permissions_spec.rb" with:
|
|
47
|
-
"""
|
|
48
|
-
require 'spec_helper'
|
|
49
|
-
|
|
50
|
-
RSpec.describe 'Check if path has permissions', :type => :aruba do
|
|
51
|
-
let(:directory) { 'directory.d' }
|
|
52
|
-
let(:permissions) { 0700 }
|
|
53
|
-
|
|
54
|
-
before(:each) { create_directory(directory) }
|
|
55
|
-
before(:each) { chmod(permissions, directory) }
|
|
56
|
-
|
|
57
|
-
it { expect(directory).to have_permissions permissions }
|
|
58
|
-
end
|
|
59
|
-
"""
|
|
60
|
-
When I run `rspec`
|
|
61
|
-
Then the specs should all pass
|
|
62
|
-
|
|
63
|
-
Scenario: Expect multiple files with given permissions
|
|
64
|
-
Given a file named "spec/path_with_permissions_spec.rb" with:
|
|
65
|
-
"""
|
|
66
|
-
require 'spec_helper'
|
|
67
|
-
|
|
68
|
-
RSpec.describe 'Check if path has permissions', :type => :aruba do
|
|
69
|
-
let(:files) { %w(file1.txt file2.txt) }
|
|
70
|
-
let(:permissions) { 0700 }
|
|
71
|
-
|
|
72
|
-
before :each do
|
|
73
|
-
files.each do |f|
|
|
74
|
-
touch(f)
|
|
75
|
-
chmod(permissions, f)
|
|
76
|
-
end
|
|
77
|
-
end
|
|
78
|
-
|
|
79
|
-
it { expect(files).to all have_permissions permissions }
|
|
80
|
-
end
|
|
81
|
-
"""
|
|
82
|
-
When I run `rspec`
|
|
83
|
-
Then the specs should all pass
|
|
84
|
-
|
|
85
|
-
Scenario: Expect a least one file with permissions
|
|
86
|
-
Given a file named "spec/path_with_permissions_spec.rb" with:
|
|
87
|
-
"""
|
|
88
|
-
require 'spec_helper'
|
|
89
|
-
|
|
90
|
-
RSpec.describe 'Check if path has permissions', :type => :aruba do
|
|
91
|
-
let(:files) { %w(file1.txt file2.txt) }
|
|
92
|
-
let(:permissions) { 0700 }
|
|
93
|
-
|
|
94
|
-
before :each do
|
|
95
|
-
touch(files.first)
|
|
96
|
-
chmod(permissions, files.first)
|
|
97
|
-
end
|
|
98
|
-
|
|
99
|
-
it { expect(files).to include a_path_having_permissions permissions }
|
|
100
|
-
end
|
|
101
|
-
"""
|
|
102
|
-
When I run `rspec`
|
|
103
|
-
Then the specs should all pass
|
|
104
|
-
|
|
105
|
-
Scenario: Fails if path does not exist
|
|
106
|
-
Given a file named "spec/path_with_permissions_spec.rb" with:
|
|
107
|
-
"""
|
|
108
|
-
require 'spec_helper'
|
|
109
|
-
|
|
110
|
-
RSpec.describe 'Check if path has permissions', :type => :aruba do
|
|
111
|
-
let(:path) { 'file.txt' }
|
|
112
|
-
let(:permissions) { 0777 }
|
|
113
|
-
|
|
114
|
-
it { expect(path).to have_permissions permissions }
|
|
115
|
-
end
|
|
116
|
-
"""
|
|
117
|
-
When I run `rspec`
|
|
118
|
-
Then the specs should not all pass
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
Feature: Check if a timeout occured during command execution
|
|
2
|
-
|
|
3
|
-
If you want to check if a command takes to long to finish it's work
|
|
4
|
-
|
|
5
|
-
Background:
|
|
6
|
-
Given I use a fixture named "cli-app"
|
|
7
|
-
|
|
8
|
-
Scenario: Check if command runs to long
|
|
9
|
-
Given an executable named "bin/cli" with:
|
|
10
|
-
"""
|
|
11
|
-
#!/bin/bash
|
|
12
|
-
sleep 1
|
|
13
|
-
"""
|
|
14
|
-
And a file named "spec/timeout_spec.rb" with:
|
|
15
|
-
"""
|
|
16
|
-
require 'spec_helper'
|
|
17
|
-
|
|
18
|
-
RSpec.describe 'Long running command', :type => :aruba do
|
|
19
|
-
before(:each) { aruba.config.exit_timeout = 0 }
|
|
20
|
-
|
|
21
|
-
before(:each) { run_command('cli') }
|
|
22
|
-
|
|
23
|
-
it { expect(last_command_started).to run_too_long }
|
|
24
|
-
end
|
|
25
|
-
"""
|
|
26
|
-
When I run `rspec`
|
|
27
|
-
Then the specs should all pass
|
|
28
|
-
|
|
29
|
-
Scenario: Check if command finishes in time
|
|
30
|
-
Given an executable named "bin/cli" with:
|
|
31
|
-
"""
|
|
32
|
-
#!/bin/bash
|
|
33
|
-
exit 0
|
|
34
|
-
"""
|
|
35
|
-
And a file named "spec/timeout_spec.rb" with:
|
|
36
|
-
"""
|
|
37
|
-
require 'spec_helper'
|
|
38
|
-
|
|
39
|
-
RSpec.describe 'Short running command', :type => :aruba do
|
|
40
|
-
before(:each) { aruba.config.exit_timeout = 5 }
|
|
41
|
-
|
|
42
|
-
before(:each) { run_command('cli') }
|
|
43
|
-
|
|
44
|
-
it { expect(last_command_started).to have_finished_in_time }
|
|
45
|
-
end
|
|
46
|
-
"""
|
|
47
|
-
When I run `rspec`
|
|
48
|
-
Then the specs should all pass
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
Feature: Support for JRuby
|
|
2
|
-
|
|
3
|
-
Improve startup time by disabling JIT and forcing client JVM mode. This can
|
|
4
|
-
be accomplished by adding
|
|
5
|
-
|
|
6
|
-
```ruby
|
|
7
|
-
require 'aruba/jruby'
|
|
8
|
-
```
|
|
9
|
-
|
|
10
|
-
*Note* - no conflict resolution on the JAVA/JRuby environment options is
|
|
11
|
-
done; only merging. For more complex settings please manually set the
|
|
12
|
-
environment variables in the hook or externally.
|
|
13
|
-
|
|
14
|
-
Refer to http://blog.headius.com/2010/03/jruby-startup-time-tips.html for other tips on startup time.
|
|
@@ -1,179 +0,0 @@
|
|
|
1
|
-
Feature: Getting started with RSpec and aruba
|
|
2
|
-
|
|
3
|
-
Background:
|
|
4
|
-
Given I use the fixture "empty-app"
|
|
5
|
-
|
|
6
|
-
Scenario: Simple Integration
|
|
7
|
-
|
|
8
|
-
To use the simple integration just require `aruba/rspec` in your
|
|
9
|
-
`spec_helper.rb`. After that you only need to flag your tests with `type:
|
|
10
|
-
:aruba` and some things are set up for.
|
|
11
|
-
|
|
12
|
-
The simple integration adds some `before(:each)`-hooks for you:
|
|
13
|
-
|
|
14
|
-
\* Setup Aruba Test directory
|
|
15
|
-
\* Clear environment (ENV)
|
|
16
|
-
\* Make HOME-variable configarable via `arub.config.home_directory`
|
|
17
|
-
\* Configure `aruba` via `RSpec`-metadata
|
|
18
|
-
\* Activate announcers based on `RSpec`-metadata
|
|
19
|
-
|
|
20
|
-
Be careful, if you are going to use a `before(:all)`-hook to set up
|
|
21
|
-
files/directories. Those will be deleted by the `setup_aruba`-call within
|
|
22
|
-
the `before(:each)`-hook. Look for some custom integration further down the
|
|
23
|
-
documentation for a solution.
|
|
24
|
-
|
|
25
|
-
Given a file named "spec/spec_helper.rb" with:
|
|
26
|
-
"""
|
|
27
|
-
require 'aruba/rspec'
|
|
28
|
-
"""
|
|
29
|
-
And a file named "spec/getting_started_spec.rb" with:
|
|
30
|
-
"""
|
|
31
|
-
require 'spec_helper'
|
|
32
|
-
|
|
33
|
-
RSpec.describe 'Integrate Aruba into RSpec', :type => :aruba do
|
|
34
|
-
context 'when to be or not be...' do
|
|
35
|
-
it { expect(aruba).to be }
|
|
36
|
-
end
|
|
37
|
-
|
|
38
|
-
context 'when write file' do
|
|
39
|
-
let(:file) { 'file.txt' }
|
|
40
|
-
|
|
41
|
-
before(:each) { write_file file, 'Hello World' }
|
|
42
|
-
|
|
43
|
-
it { expect(file).to be_an_existing_file }
|
|
44
|
-
it { expect([file]).to include an_existing_file }
|
|
45
|
-
end
|
|
46
|
-
end
|
|
47
|
-
"""
|
|
48
|
-
When I run `rspec`
|
|
49
|
-
Then the specs should all pass
|
|
50
|
-
|
|
51
|
-
Scenario: Simple Custom Integration
|
|
52
|
-
|
|
53
|
-
There might be some use cases where you want to build an aruba integration
|
|
54
|
-
of your own. You need to include the API and make sure, that you run
|
|
55
|
-
|
|
56
|
-
\* `restore_env` (only for aruba < 1.0.0)
|
|
57
|
-
\* `setup_aruba`
|
|
58
|
-
|
|
59
|
-
before any method of aruba is used.
|
|
60
|
-
|
|
61
|
-
Given a file named "spec/spec_helper.rb" with:
|
|
62
|
-
"""
|
|
63
|
-
require 'aruba/api'
|
|
64
|
-
|
|
65
|
-
RSpec.configure do |config|
|
|
66
|
-
config.include Aruba::Api
|
|
67
|
-
end
|
|
68
|
-
"""
|
|
69
|
-
And a file named "spec/getting_started_spec.rb" with:
|
|
70
|
-
"""
|
|
71
|
-
require 'spec_helper'
|
|
72
|
-
|
|
73
|
-
RSpec.describe 'Custom Integration of aruba' do
|
|
74
|
-
let(:file) { 'file.txt' }
|
|
75
|
-
|
|
76
|
-
before(:each) { setup_aruba }
|
|
77
|
-
before(:each) { write_file file, 'Hello World' }
|
|
78
|
-
|
|
79
|
-
it { expect(file).to be_an_existing_file }
|
|
80
|
-
end
|
|
81
|
-
"""
|
|
82
|
-
When I run `rspec`
|
|
83
|
-
Then the specs should all pass
|
|
84
|
-
|
|
85
|
-
Scenario: Custom Integration using before(:all)-hook
|
|
86
|
-
|
|
87
|
-
You can even use `aruba` within a `before(:all)`-hook. But again, make sure
|
|
88
|
-
that `setup_aruba` is run before you use any method of `aruba`. Using
|
|
89
|
-
`setup_aruba` both in `before(:all)`- and `before(:each)`-hook is not
|
|
90
|
-
possible and therefor not supported:
|
|
91
|
-
|
|
92
|
-
Running `setup_aruba` removes `tmp/aruba`, creates a new one `tmp/aruba`
|
|
93
|
-
and make it the working directory. Running it within a `before(:all)`-hook,
|
|
94
|
-
run some `aruba`-method and then run `setup_arub` again within a
|
|
95
|
-
`before(:each)`-hook, will remove the files/directories created within the
|
|
96
|
-
`before(:all)`-hook.
|
|
97
|
-
|
|
98
|
-
Given a file named "spec/spec_helper.rb" with:
|
|
99
|
-
"""
|
|
100
|
-
require 'aruba/api'
|
|
101
|
-
|
|
102
|
-
RSpec.configure do |config|
|
|
103
|
-
config.include Aruba::Api
|
|
104
|
-
end
|
|
105
|
-
"""
|
|
106
|
-
And a file named "spec/getting_started_spec.rb" with:
|
|
107
|
-
"""
|
|
108
|
-
require 'spec_helper'
|
|
109
|
-
|
|
110
|
-
RSpec.describe 'Custom Integration of aruba' do
|
|
111
|
-
before(:all) { setup_aruba }
|
|
112
|
-
before(:all) { write_file 'file.txt', 'Hello World' }
|
|
113
|
-
|
|
114
|
-
it { expect('file.txt').to be_an_existing_file }
|
|
115
|
-
end
|
|
116
|
-
"""
|
|
117
|
-
When I run `rspec`
|
|
118
|
-
Then the specs should all pass
|
|
119
|
-
|
|
120
|
-
Scenario: Setup aruba before use any of it's methods
|
|
121
|
-
|
|
122
|
-
From 1.0.0 it will be required, that you setup aruba before you use it.
|
|
123
|
-
|
|
124
|
-
Given a file named "spec/spec_helper.rb" with:
|
|
125
|
-
"""
|
|
126
|
-
require 'aruba/api'
|
|
127
|
-
|
|
128
|
-
RSpec.configure do |config|
|
|
129
|
-
config.include Aruba::Api
|
|
130
|
-
end
|
|
131
|
-
"""
|
|
132
|
-
And a file named "spec/getting_started_spec.rb" with:
|
|
133
|
-
"""
|
|
134
|
-
require 'spec_helper'
|
|
135
|
-
|
|
136
|
-
RSpec.describe 'Custom Integration of aruba' do
|
|
137
|
-
let(:file) { 'file.txt' }
|
|
138
|
-
|
|
139
|
-
before(:each) { setup_aruba }
|
|
140
|
-
|
|
141
|
-
it { expect(true).to be true }
|
|
142
|
-
end
|
|
143
|
-
"""
|
|
144
|
-
And an empty file named "tmp/aruba/garbage.txt"
|
|
145
|
-
When I run `rspec`
|
|
146
|
-
Then the specs should all pass
|
|
147
|
-
And the file "tmp/aruba/garbage.txt" should not exist anymore
|
|
148
|
-
|
|
149
|
-
Scenario: Fail-safe use if "setup_aruba" is not used
|
|
150
|
-
|
|
151
|
-
If you forgot to run `setup_aruba` before the first method of aruba is
|
|
152
|
-
used, you might see an error. Although we did our best to prevent this.
|
|
153
|
-
|
|
154
|
-
Make sure that you run `setup_aruba` before any method of aruba is used. At
|
|
155
|
-
best before each and every test.
|
|
156
|
-
|
|
157
|
-
This will be not supported anymore from 1.0.0 on.
|
|
158
|
-
|
|
159
|
-
Given a file named "spec/spec_helper.rb" with:
|
|
160
|
-
"""
|
|
161
|
-
require 'aruba/api'
|
|
162
|
-
|
|
163
|
-
RSpec.configure do |config|
|
|
164
|
-
config.include Aruba::Api
|
|
165
|
-
end
|
|
166
|
-
"""
|
|
167
|
-
And a file named "spec/getting_started_spec.rb" with:
|
|
168
|
-
"""
|
|
169
|
-
require 'spec_helper'
|
|
170
|
-
|
|
171
|
-
RSpec.describe 'Custom Integration of aruba' do
|
|
172
|
-
let(:file) { 'file.txt' }
|
|
173
|
-
|
|
174
|
-
it { expect { write_file file, 'Hello World' }.not_to raise_error }
|
|
175
|
-
it { expect(aruba.current_directory.directory?).to be true }
|
|
176
|
-
end
|
|
177
|
-
"""
|
|
178
|
-
When I run `rspec`
|
|
179
|
-
Then the specs should all pass
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
When /^I do aruba (.*)$/ do |aruba_step|
|
|
2
|
-
@aruba_exception = StandardError.new
|
|
3
|
-
|
|
4
|
-
begin
|
|
5
|
-
step(aruba_step)
|
|
6
|
-
rescue => e
|
|
7
|
-
@aruba_exception = e
|
|
8
|
-
end
|
|
9
|
-
end
|
|
10
|
-
|
|
11
|
-
# Useful for debugging timing problems
|
|
12
|
-
When /^sleep (\d+)$/ do |time|
|
|
13
|
-
sleep time.to_i
|
|
14
|
-
end
|
|
15
|
-
|
|
16
|
-
When /^I set env variable "(\w+)" to "([^"]*)"$/ do |var, value|
|
|
17
|
-
ENV[var] = value
|
|
18
|
-
end
|
|
19
|
-
|
|
20
|
-
Then /^aruba should fail with "([^"]*)"$/ do |error_message|
|
|
21
|
-
expect(@aruba_exception.message).to include sanitize_text(error_message)
|
|
22
|
-
end
|
|
23
|
-
|
|
24
|
-
Then /^the following step should fail with Spec::Expectations::ExpectationNotMetError:$/ do |multiline_step|
|
|
25
|
-
expect{steps multiline_step.to_s}.to raise_error(RSpec::Expectations::ExpectationNotMetError)
|
|
26
|
-
end
|
|
27
|
-
|
|
28
|
-
Given(/^the default executable$/) do
|
|
29
|
-
step 'an executable named "bin/cli" with:', <<-EOS
|
|
30
|
-
#!/usr/bin/env ruby
|
|
31
|
-
|
|
32
|
-
$LOAD_PATH << File.expand_path('../../lib', __FILE__)
|
|
33
|
-
require 'cli/app'
|
|
34
|
-
|
|
35
|
-
exit 0
|
|
36
|
-
EOS
|
|
37
|
-
end
|
|
38
|
-
|
|
39
|
-
Given(/^the default feature-test$/) do
|
|
40
|
-
step(
|
|
41
|
-
'a file named "features/default.feature" with:',
|
|
42
|
-
<<-EOS.strip_heredoc
|
|
43
|
-
Feature: Default Feature
|
|
44
|
-
|
|
45
|
-
This is the default feature
|
|
46
|
-
|
|
47
|
-
Scenario: Run command
|
|
48
|
-
Given I successfully run `cli`
|
|
49
|
-
EOS
|
|
50
|
-
)
|
|
51
|
-
end
|
|
52
|
-
|
|
53
|
-
Then(/^aruba should be installed on the local system$/) do
|
|
54
|
-
run_command('gem list aruba')
|
|
55
|
-
expect(last_command_started).to have_output(/aruba/)
|
|
56
|
-
end
|