aruba 0.14.14 → 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 -181
- data/.rubocop_todo.yml +262 -0
- data/.simplecov +7 -5
- data/.travis.yml +53 -28
- data/.yardopts +3 -0
- data/CHANGELOG.md +301 -2
- data/CONTRIBUTING.md +247 -45
- data/Dockerfile +67 -0
- data/Gemfile +5 -114
- 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 +35 -13
- 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 +1 -1
- 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 -7
- 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/getting-started-app/Gemfile +1 -1
- data/lib/aruba/api/commands.rb +85 -143
- data/lib/aruba/api/core.rb +48 -41
- data/lib/aruba/api/environment.rb +16 -7
- data/lib/aruba/api/filesystem.rb +43 -30
- 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/command.rb +2 -0
- data/lib/aruba/config/jruby.rb +1 -1
- 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 +133 -92
- data/lib/aruba/cucumber/environment.rb +1 -1
- data/lib/aruba/cucumber/file.rb +21 -23
- data/lib/aruba/cucumber/hooks.rb +18 -13
- data/lib/aruba/cucumber/testing_frameworks.rb +74 -50
- data/lib/aruba/cucumber.rb +0 -6
- 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 +8 -10
- data/lib/aruba/platform.rb +0 -8
- data/lib/aruba/platforms/announcer.rb +30 -72
- 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 +11 -103
- 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 +16 -50
- 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 +18 -20
- 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 +36 -39
- data/lib/aruba/rspec.rb +14 -36
- data/lib/aruba/runtime.rb +3 -6
- data/lib/aruba/setup.rb +1 -1
- data/lib/aruba/tasks/docker_helpers.rb +154 -0
- data/lib/aruba/version.rb +1 -1
- metadata +190 -242
- data/features/.nav +0 -72
- data/features/01_getting_started_with_aruba/cleanup_working_directory.feature +0 -57
- data/features/01_getting_started_with_aruba/run_commands.feature +0 -217
- data/features/01_getting_started_with_aruba/supported_testing_frameworks.feature +0 -88
- data/features/02_configure_aruba/activate_announcer_on_command_failure.feature +0 -38
- data/features/02_configure_aruba/basics.feature +0 -151
- data/features/02_configure_aruba/command_runtime_environment.feature +0 -129
- data/features/02_configure_aruba/console_history_file.feature +0 -38
- data/features/02_configure_aruba/exit_timeout.feature +0 -60
- data/features/02_configure_aruba/fixtures_directories.feature +0 -38
- data/features/02_configure_aruba/fixtures_path_prefix.feature +0 -23
- data/features/02_configure_aruba/home_directory.feature +0 -80
- data/features/02_configure_aruba/io_timeout.feature +0 -30
- data/features/02_configure_aruba/keep_ansi.feature +0 -30
- data/features/02_configure_aruba/log_level.feature +0 -38
- data/features/02_configure_aruba/physical_block_size.feature +0 -53
- data/features/02_configure_aruba/remove_ansi_escape_sequences.feature +0 -38
- data/features/02_configure_aruba/root_directory.feature +0 -30
- data/features/02_configure_aruba/startup_wait_time.feature +0 -48
- data/features/02_configure_aruba/working_directory.feature +0 -38
- data/features/03_testing_frameworks/cucumber/announce_information_for_troubleshooting.feature +0 -306
- data/features/03_testing_frameworks/cucumber/disable_bunder.feature +0 -18
- data/features/03_testing_frameworks/cucumber/steps/command/check_for_exit_statuses.feature +0 -136
- data/features/03_testing_frameworks/cucumber/steps/command/check_output_of_command.feature +0 -514
- data/features/03_testing_frameworks/cucumber/steps/command/check_stderr_of_command.feature +0 -68
- data/features/03_testing_frameworks/cucumber/steps/command/check_stdout_of_command.feature +0 -109
- data/features/03_testing_frameworks/cucumber/steps/command/debug_your_command_in_aruba.feature +0 -118
- data/features/03_testing_frameworks/cucumber/steps/command/run_a_command.feature +0 -66
- data/features/03_testing_frameworks/cucumber/steps/command/run_command_in_process.feature +0 -485
- data/features/03_testing_frameworks/cucumber/steps/command/run_command_interactively.feature +0 -90
- data/features/03_testing_frameworks/cucumber/steps/command/run_commands_which_require_a_shell.feature +0 -79
- data/features/03_testing_frameworks/cucumber/steps/command/send_signal_to_command.feature +0 -83
- data/features/03_testing_frameworks/cucumber/steps/command/stop_command.feature +0 -285
- data/features/03_testing_frameworks/cucumber/steps/environment/append_environment_variable.feature +0 -52
- data/features/03_testing_frameworks/cucumber/steps/environment/modify_home_variable_for_testing.feature +0 -62
- data/features/03_testing_frameworks/cucumber/steps/environment/prepend_environment_variable.feature +0 -52
- data/features/03_testing_frameworks/cucumber/steps/environment/set_environment_variable.feature +0 -49
- data/features/03_testing_frameworks/cucumber/steps/filesystem/append_to_file.feature +0 -45
- data/features/03_testing_frameworks/cucumber/steps/filesystem/cd_to_directory.feature +0 -33
- data/features/03_testing_frameworks/cucumber/steps/filesystem/check_existence_of_directory.feature +0 -57
- data/features/03_testing_frameworks/cucumber/steps/filesystem/check_existence_of_file.feature +0 -43
- data/features/03_testing_frameworks/cucumber/steps/filesystem/check_file_content.feature +0 -143
- data/features/03_testing_frameworks/cucumber/steps/filesystem/check_non_existence_of_directory.feature +0 -69
- data/features/03_testing_frameworks/cucumber/steps/filesystem/check_non_existence_of_file.feature +0 -80
- data/features/03_testing_frameworks/cucumber/steps/filesystem/check_permissions_of_file.feature +0 -39
- data/features/03_testing_frameworks/cucumber/steps/filesystem/compare_files.feature +0 -42
- data/features/03_testing_frameworks/cucumber/steps/filesystem/copy_file_or_directory.feature +0 -45
- data/features/03_testing_frameworks/cucumber/steps/filesystem/create_directory.feature +0 -57
- data/features/03_testing_frameworks/cucumber/steps/filesystem/create_file.feature +0 -76
- data/features/03_testing_frameworks/cucumber/steps/filesystem/move_file_or_directory.feature +0 -44
- data/features/03_testing_frameworks/cucumber/steps/filesystem/overwrite_file.feature +0 -72
- data/features/03_testing_frameworks/cucumber/steps/filesystem/remove_directory.feature +0 -38
- data/features/03_testing_frameworks/cucumber/steps/filesystem/remove_file.feature +0 -38
- data/features/03_testing_frameworks/cucumber/steps/filesystem/use_fixtures_for_setup_test.feature +0 -77
- data/features/03_testing_frameworks/rspec/hooks/define_after_hook_for_commands.feature +0 -43
- data/features/03_testing_frameworks/rspec/hooks/define_before_hook_for_commands.feature +0 -71
- data/features/03_testing_frameworks/rspec/setup_aruba_for_rspec.feature +0 -179
- data/features/04_aruba_api/command/find_a_started_command.feature +0 -83
- data/features/04_aruba_api/command/find_command_in_PATH.feature +0 -37
- data/features/04_aruba_api/command/read_stderr_of_command.feature +0 -46
- data/features/04_aruba_api/command/read_stdout_of_command.feature +0 -46
- data/features/04_aruba_api/command/run_command.feature +0 -423
- data/features/04_aruba_api/command/run_simple.feature +0 -254
- data/features/04_aruba_api/command/send_signal_to_command.feature +0 -53
- data/features/04_aruba_api/command/stop_all_commands.feature +0 -57
- data/features/04_aruba_api/command/stop_single_command.feature +0 -132
- data/features/04_aruba_api/command/terminate_all_commands.feature +0 -57
- data/features/04_aruba_api/command/use_last_command_started.feature +0 -50
- data/features/04_aruba_api/command/use_last_command_stopped.feature +0 -89
- data/features/04_aruba_api/core/expand_path.feature +0 -88
- data/features/04_aruba_api/environment/append_environment_variable.feature +0 -128
- data/features/04_aruba_api/environment/delete_environment_variable.feature +0 -63
- data/features/04_aruba_api/environment/prepend_environment_variable.feature +0 -128
- data/features/04_aruba_api/environment/set_environment_variable.feature +0 -376
- data/features/04_aruba_api/filesystem/cd_to_directory.feature +0 -184
- data/features/04_aruba_api/filesystem/check_existence_file_or_directory.feature +0 -62
- data/features/04_aruba_api/filesystem/check_if_path_is_absolute.feature +0 -48
- data/features/04_aruba_api/filesystem/check_if_path_is_directory.feature +0 -53
- data/features/04_aruba_api/filesystem/check_if_path_is_file.feature +0 -54
- data/features/04_aruba_api/filesystem/check_if_path_is_relative.feature +0 -48
- data/features/04_aruba_api/filesystem/create_directory.feature +0 -57
- data/features/04_aruba_api/filesystem/move_file_or_directory.feature +0 -119
- data/features/04_aruba_api/filesystem/report_disk_usage.feature +0 -152
- data/features/04_aruba_api/filesystem/use_fixtures.feature +0 -104
- data/features/04_aruba_api/text/extract_text.feature +0 -87
- data/features/04_aruba_api/text/replace_variables.feature +0 -45
- data/features/04_aruba_api/text/sanitize_text.feature +0 -228
- data/features/04_aruba_api/text/unescape_text.feature +0 -127
- data/features/05_use_rspec_matchers/command/check_timeouts.feature +0 -48
- data/features/05_use_rspec_matchers/directory/have_sub_directory.feature +0 -110
- data/features/05_use_rspec_matchers/file/be_a_command_found_in_path.feature +0 -115
- data/features/05_use_rspec_matchers/file/be_existing_executable.feature +0 -88
- data/features/05_use_rspec_matchers/file/be_existing_file.feature +0 -82
- data/features/05_use_rspec_matchers/file/have_file_content.feature +0 -123
- data/features/05_use_rspec_matchers/file/have_file_size.feature +0 -107
- data/features/05_use_rspec_matchers/path/be_an_absolute_path.feature +0 -74
- data/features/05_use_rspec_matchers/path/be_an_existing_path.feature +0 -97
- data/features/05_use_rspec_matchers/path/have_permissions.feature +0 -118
- data/features/06_use_aruba_cli/initialize_project_with_aruba.feature +0 -79
- data/features/06_use_aruba_cli/open_console.feature +0 -55
- data/features/08_other/improve_performance_if_using_jruby.feature +0 -37
- data/features/step_definitions/hooks.rb +0 -146
- data/features/support/aruba.rb +0 -7
- data/features/support/env.rb +0 -33
- data/features/support/simplecov_setup.rb +0 -11
- data/fixtures/spawn_process/stderr.sh +0 -3
- data/lib/aruba/api/deprecated.rb +0 -1155
- data/lib/aruba/config.rb +0 -107
- data/lib/aruba/cucumber/core.rb +0 -5
- data/lib/aruba/cucumber/deprecated.rb +0 -93
- data/lib/aruba/cucumber/rvm.rb +0 -3
- data/lib/aruba/in_process.rb +0 -16
- 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 -14
- data/script/bootstrap +0 -24
- data/script/console +0 -16
- data/script/test +0 -3
- data/spec/aruba/api/bundler_spec.rb +0 -15
- data/spec/aruba/api/commands_spec.rb +0 -30
- data/spec/aruba/api/core_spec.rb +0 -184
- data/spec/aruba/api/deprecated_spec.rb +0 -421
- data/spec/aruba/api/filesystem_spec.rb +0 -746
- data/spec/aruba/api/runtime_spec.rb +0 -28
- data/spec/aruba/api_spec.rb +0 -73
- 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 -73
- 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/processes/spawn_process_spec.rb +0 -112
- data/spec/aruba/rspec_spec.rb +0 -15
- data/spec/aruba/runtime_spec.rb +0 -29
- data/spec/event_bus/name_resolver_spec.rb +0 -68
- data/spec/event_bus_spec.rb +0 -158
- data/spec/spec_helper.rb +0 -22
- 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,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 configurable 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 a `before(:all)` and a `before(:each)` hook is not
|
|
90
|
-
possible and therefore not supported:
|
|
91
|
-
|
|
92
|
-
Running `setup_aruba` removes `tmp/aruba`, creates a new `tmp/aruba`, and
|
|
93
|
-
makes that the working directory. Running it within a `before(:all)` hook,
|
|
94
|
-
running some `aruba` method and, then running `setup_aruba` again within a
|
|
95
|
-
`before(:each)` hook, will remove the files and directories created within
|
|
96
|
-
the `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,83 +0,0 @@
|
|
|
1
|
-
Feature: Find a started command
|
|
2
|
-
|
|
3
|
-
This feature is experimental and may change without further notice.
|
|
4
|
-
|
|
5
|
-
Background:
|
|
6
|
-
Given I use a fixture named "cli-app"
|
|
7
|
-
|
|
8
|
-
Scenario: Existing command
|
|
9
|
-
Given a file named "spec/run_spec.rb" with:
|
|
10
|
-
"""ruby
|
|
11
|
-
require 'spec_helper'
|
|
12
|
-
|
|
13
|
-
RSpec.describe 'Run command', :type => :aruba do
|
|
14
|
-
before(:each) { run_command('echo hello') }
|
|
15
|
-
let(:command) { find_command('echo hello') }
|
|
16
|
-
|
|
17
|
-
before(:each) { stop_all_commands }
|
|
18
|
-
|
|
19
|
-
it { expect(command).to be_successfully_executed }
|
|
20
|
-
it { expect(command.commandline).to eq 'echo hello' }
|
|
21
|
-
end
|
|
22
|
-
"""
|
|
23
|
-
When I run `rspec`
|
|
24
|
-
Then the specs should all pass
|
|
25
|
-
|
|
26
|
-
Scenario: Non-Existing command
|
|
27
|
-
Given a file named "spec/run_spec.rb" with:
|
|
28
|
-
"""ruby
|
|
29
|
-
require 'spec_helper'
|
|
30
|
-
|
|
31
|
-
RSpec.describe 'Run command', :type => :aruba do
|
|
32
|
-
let(:command) { find_command('echo hello') }
|
|
33
|
-
|
|
34
|
-
it { expect{ command }.to raise_error Aruba::CommandNotFoundError }
|
|
35
|
-
it { expect{ command.commandline }.to raise_error Aruba::CommandNotFoundError }
|
|
36
|
-
end
|
|
37
|
-
"""
|
|
38
|
-
When I run `rspec`
|
|
39
|
-
Then the specs should all pass
|
|
40
|
-
|
|
41
|
-
Scenario: Multiple commands
|
|
42
|
-
Given a file named "spec/run_spec.rb" with:
|
|
43
|
-
"""ruby
|
|
44
|
-
require 'spec_helper'
|
|
45
|
-
|
|
46
|
-
RSpec.describe 'Run command', :type => :aruba do
|
|
47
|
-
before(:each) { run_command('echo hello1') }
|
|
48
|
-
before(:each) { run_command('echo hello2') }
|
|
49
|
-
let(:command) { find_command('echo hello1') }
|
|
50
|
-
|
|
51
|
-
before(:each) { stop_all_commands }
|
|
52
|
-
|
|
53
|
-
it { expect(command).to be_successfully_executed }
|
|
54
|
-
it { expect(command.commandline).to eq 'echo hello1' }
|
|
55
|
-
end
|
|
56
|
-
"""
|
|
57
|
-
When I run `rspec`
|
|
58
|
-
Then the specs should all pass
|
|
59
|
-
|
|
60
|
-
Scenario: Multiple commands with same commandline
|
|
61
|
-
|
|
62
|
-
If searches in reverse. So it finds the last command started with the given commandline.
|
|
63
|
-
|
|
64
|
-
Given a file named "spec/run_spec.rb" with:
|
|
65
|
-
"""ruby
|
|
66
|
-
require 'spec_helper'
|
|
67
|
-
|
|
68
|
-
RSpec.describe 'Run command', :type => :aruba do
|
|
69
|
-
before(:each) { set_environment_variable 'ENV_VAR', '1' }
|
|
70
|
-
before(:each) { run_command('bash -c "echo -n $ENV_VAR"') }
|
|
71
|
-
before(:each) { set_environment_variable 'ENV_VAR', '2' }
|
|
72
|
-
before(:each) { run_command('bash -c "echo -n $ENV_VAR"') }
|
|
73
|
-
|
|
74
|
-
let(:command) { find_command('bash -c "echo -n $ENV_VAR"') }
|
|
75
|
-
|
|
76
|
-
before(:each) { stop_all_commands }
|
|
77
|
-
|
|
78
|
-
it { expect(command).to be_successfully_executed }
|
|
79
|
-
it { expect(command.stdout).to eq '2' }
|
|
80
|
-
end
|
|
81
|
-
"""
|
|
82
|
-
When I run `rspec`
|
|
83
|
-
Then the specs should all pass
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
Feature: Get path to command
|
|
2
|
-
|
|
3
|
-
Sometimes you only know a commands name, but not where to find it. Here comes
|
|
4
|
-
`which` to the rescue.
|
|
5
|
-
|
|
6
|
-
Background:
|
|
7
|
-
Given I use a fixture named "cli-app"
|
|
8
|
-
|
|
9
|
-
Scenario: Existing executable
|
|
10
|
-
Given an executable named "bin/aruba-test-cli" with:
|
|
11
|
-
"""bash
|
|
12
|
-
#!/bin/bash
|
|
13
|
-
exit 0
|
|
14
|
-
"""
|
|
15
|
-
And a file named "spec/which_spec.rb" with:
|
|
16
|
-
"""ruby
|
|
17
|
-
require 'spec_helper'
|
|
18
|
-
|
|
19
|
-
RSpec.describe 'Find path for command', :type => :aruba do
|
|
20
|
-
it { expect(which('aruba-test-cli')).to match %r{tmp/aruba/cli-app/bin/aruba-test-cli} }
|
|
21
|
-
end
|
|
22
|
-
"""
|
|
23
|
-
When I run `rspec`
|
|
24
|
-
Then the specs should all pass
|
|
25
|
-
|
|
26
|
-
Scenario: Non-existing executable
|
|
27
|
-
Given a file named "bin/aruba-test-cli" does not exist
|
|
28
|
-
And a file named "spec/which_spec.rb" with:
|
|
29
|
-
"""ruby
|
|
30
|
-
require 'spec_helper'
|
|
31
|
-
|
|
32
|
-
RSpec.describe 'Find path for command', :type => :aruba do
|
|
33
|
-
it { expect(which('aruba-test-cli')).to be_nil }
|
|
34
|
-
end
|
|
35
|
-
"""
|
|
36
|
-
When I run `rspec`
|
|
37
|
-
Then the specs should all pass
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
Feature: Access STDERR of command
|
|
2
|
-
|
|
3
|
-
You may need to `#stop_all_commands` before accessing `#stderr` of a single
|
|
4
|
-
command - e.g. `#last_command_started`.
|
|
5
|
-
|
|
6
|
-
Background:
|
|
7
|
-
Given I use a fixture named "cli-app"
|
|
8
|
-
And the default aruba io wait timeout is 0.1 seconds
|
|
9
|
-
|
|
10
|
-
Scenario: Existing executable
|
|
11
|
-
Given an executable named "bin/aruba-test-cli" with:
|
|
12
|
-
"""bash
|
|
13
|
-
#!/bin/bash
|
|
14
|
-
echo 'Hello, Aruba!' >&2
|
|
15
|
-
"""
|
|
16
|
-
And a file named "spec/run_spec.rb" with:
|
|
17
|
-
"""ruby
|
|
18
|
-
require 'spec_helper'
|
|
19
|
-
|
|
20
|
-
RSpec.describe 'Run command', :type => :aruba do
|
|
21
|
-
before(:each) { run_command('aruba-test-cli') }
|
|
22
|
-
before(:each) { stop_all_commands }
|
|
23
|
-
it { expect(last_command_started.stderr).to start_with 'Hello' }
|
|
24
|
-
end
|
|
25
|
-
"""
|
|
26
|
-
When I run `rspec`
|
|
27
|
-
Then the specs should all pass
|
|
28
|
-
|
|
29
|
-
Scenario: Waiting for output to appear
|
|
30
|
-
Given an executable named "bin/aruba-test-cli" with:
|
|
31
|
-
"""bash
|
|
32
|
-
#!/bin/bash
|
|
33
|
-
sleep 0.1
|
|
34
|
-
echo 'Hello, Aruba' >&2
|
|
35
|
-
"""
|
|
36
|
-
And a file named "spec/run_spec.rb" with:
|
|
37
|
-
"""ruby
|
|
38
|
-
require 'spec_helper'
|
|
39
|
-
|
|
40
|
-
RSpec.describe 'Run command', :type => :aruba, :io_wait_timeout => 0.2 do
|
|
41
|
-
before(:each) { run_command('aruba-test-cli') }
|
|
42
|
-
it { expect(last_command_started.stderr).to start_with 'Hello' }
|
|
43
|
-
end
|
|
44
|
-
"""
|
|
45
|
-
When I run `rspec`
|
|
46
|
-
Then the specs should all pass
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
Feature: Access STDOUT of command
|
|
2
|
-
|
|
3
|
-
You may need to `#stop_all_commands` before accessing `#stdout` of a single
|
|
4
|
-
command - e.g. `#last_command_started`.
|
|
5
|
-
|
|
6
|
-
Background:
|
|
7
|
-
Given I use a fixture named "cli-app"
|
|
8
|
-
And the default aruba io wait timeout is 1 seconds
|
|
9
|
-
|
|
10
|
-
Scenario: Existing executable
|
|
11
|
-
Given an executable named "bin/aruba-test-cli" with:
|
|
12
|
-
"""bash
|
|
13
|
-
#!/bin/bash
|
|
14
|
-
echo 'Hello, Aruba!'
|
|
15
|
-
"""
|
|
16
|
-
And a file named "spec/run_spec.rb" with:
|
|
17
|
-
"""ruby
|
|
18
|
-
require 'spec_helper'
|
|
19
|
-
|
|
20
|
-
RSpec.describe 'Run command', :type => :aruba do
|
|
21
|
-
before(:each) { run_command('aruba-test-cli') }
|
|
22
|
-
before(:each) { stop_all_commands }
|
|
23
|
-
it { expect(last_command_started.stdout).to start_with 'Hello' }
|
|
24
|
-
end
|
|
25
|
-
"""
|
|
26
|
-
When I run `rspec`
|
|
27
|
-
Then the specs should all pass
|
|
28
|
-
|
|
29
|
-
Scenario: Waiting for output to appear
|
|
30
|
-
Given an executable named "bin/aruba-test-cli" with:
|
|
31
|
-
"""bash
|
|
32
|
-
#!/bin/bash
|
|
33
|
-
sleep 0.1
|
|
34
|
-
echo 'Hello, Aruba'
|
|
35
|
-
"""
|
|
36
|
-
And a file named "spec/run_spec.rb" with:
|
|
37
|
-
"""ruby
|
|
38
|
-
require 'spec_helper'
|
|
39
|
-
|
|
40
|
-
RSpec.describe 'Run command', :type => :aruba, :io_wait_timeout => 0.2 do
|
|
41
|
-
before(:each) { run_command('aruba-test-cli') }
|
|
42
|
-
it { expect(last_command_started.stdout).to start_with 'Hello' }
|
|
43
|
-
end
|
|
44
|
-
"""
|
|
45
|
-
When I run `rspec`
|
|
46
|
-
Then the specs should all pass
|