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,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) { 0600 }
|
|
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) { 0600 }
|
|
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) { 0600 }
|
|
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) { 0700 }
|
|
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,79 +0,0 @@
|
|
|
1
|
-
Feature: Initialize project with aruba
|
|
2
|
-
|
|
3
|
-
To add `aruba` to your project you can use the `aruba init`-command.
|
|
4
|
-
|
|
5
|
-
Background:
|
|
6
|
-
Given I use the fixture "empty-app"
|
|
7
|
-
|
|
8
|
-
Scenario: Create files for RSpec
|
|
9
|
-
When I successfully run `aruba init --test-framework rspec`
|
|
10
|
-
Then the following files should exist:
|
|
11
|
-
| spec/spec_helper.rb |
|
|
12
|
-
And the file "spec/support/aruba.rb" should contain:
|
|
13
|
-
"""
|
|
14
|
-
require 'aruba/rspec'
|
|
15
|
-
"""
|
|
16
|
-
And the file "Gemfile" should contain:
|
|
17
|
-
"""
|
|
18
|
-
gem 'aruba'
|
|
19
|
-
"""
|
|
20
|
-
When I successfully run `rspec`
|
|
21
|
-
Then the output should contain:
|
|
22
|
-
"""
|
|
23
|
-
0 examples, 0 failures
|
|
24
|
-
"""
|
|
25
|
-
|
|
26
|
-
Scenario: Create files for Cucumber
|
|
27
|
-
When I successfully run `aruba init --test-framework cucumber`
|
|
28
|
-
Then the file "features/support/aruba.rb" should contain:
|
|
29
|
-
"""
|
|
30
|
-
require 'aruba/cucumber'
|
|
31
|
-
"""
|
|
32
|
-
And the file "Gemfile" should contain:
|
|
33
|
-
"""
|
|
34
|
-
gem 'aruba'
|
|
35
|
-
"""
|
|
36
|
-
When I successfully run `cucumber`
|
|
37
|
-
Then the output should contain:
|
|
38
|
-
"""
|
|
39
|
-
0 scenarios
|
|
40
|
-
0 steps
|
|
41
|
-
"""
|
|
42
|
-
|
|
43
|
-
Scenario: Create files for Cucumber (Default)
|
|
44
|
-
When I successfully run `aruba init`
|
|
45
|
-
Then the file "features/support/aruba.rb" should contain:
|
|
46
|
-
"""
|
|
47
|
-
require 'aruba/cucumber'
|
|
48
|
-
"""
|
|
49
|
-
And the file "Gemfile" should contain:
|
|
50
|
-
"""
|
|
51
|
-
gem 'aruba'
|
|
52
|
-
"""
|
|
53
|
-
When I successfully run `cucumber`
|
|
54
|
-
Then the output should contain:
|
|
55
|
-
"""
|
|
56
|
-
0 scenarios
|
|
57
|
-
0 steps
|
|
58
|
-
"""
|
|
59
|
-
|
|
60
|
-
Scenario: Create files for Minitest
|
|
61
|
-
When I successfully run `aruba init --test-framework minitest`
|
|
62
|
-
Then the following files should exist:
|
|
63
|
-
| test/test_helper.rb |
|
|
64
|
-
And the file "Gemfile" should contain:
|
|
65
|
-
"""
|
|
66
|
-
gem 'aruba'
|
|
67
|
-
"""
|
|
68
|
-
When I successfully run `ruby -Ilib:test test/use_aruba_with_minitest.rb`
|
|
69
|
-
Then the output should contain:
|
|
70
|
-
"""
|
|
71
|
-
0 runs, 0 assertions, 0 failures, 0 errors, 0 skips
|
|
72
|
-
"""
|
|
73
|
-
|
|
74
|
-
Scenario: Unknown Test Framework
|
|
75
|
-
When I run `aruba init --test-framework unknown`
|
|
76
|
-
Then the output should contain:
|
|
77
|
-
"""
|
|
78
|
-
got unknown
|
|
79
|
-
"""
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
Feature: Aruba Console
|
|
2
|
-
|
|
3
|
-
Background:
|
|
4
|
-
Given a mocked home directory
|
|
5
|
-
|
|
6
|
-
Scenario: Start console
|
|
7
|
-
Given I run `aruba console` interactively
|
|
8
|
-
When I close the stdin stream
|
|
9
|
-
Then the output should contain:
|
|
10
|
-
"""
|
|
11
|
-
aruba:001:0>
|
|
12
|
-
"""
|
|
13
|
-
|
|
14
|
-
@unsupported-on-platform-java
|
|
15
|
-
Scenario: Show help
|
|
16
|
-
Given I run `aruba console` interactively
|
|
17
|
-
And I type "aruba_help"
|
|
18
|
-
When I close the stdin stream
|
|
19
|
-
Then the output should contain:
|
|
20
|
-
"""
|
|
21
|
-
Version:
|
|
22
|
-
"""
|
|
23
|
-
And the output should contain:
|
|
24
|
-
"""
|
|
25
|
-
Issue Tracker:
|
|
26
|
-
"""
|
|
27
|
-
And the output should contain:
|
|
28
|
-
"""
|
|
29
|
-
Documentation:
|
|
30
|
-
"""
|
|
31
|
-
|
|
32
|
-
@unsupported-on-platform-java
|
|
33
|
-
Scenario: Show methods
|
|
34
|
-
Given I run `aruba console` interactively
|
|
35
|
-
And I type "aruba_methods"
|
|
36
|
-
When I close the stdin stream
|
|
37
|
-
Then the output should contain:
|
|
38
|
-
"""
|
|
39
|
-
Methods:
|
|
40
|
-
"""
|
|
41
|
-
And the output should contain:
|
|
42
|
-
"""
|
|
43
|
-
* setup_aruba
|
|
44
|
-
"""
|
|
45
|
-
|
|
46
|
-
@unsupported-on-platform-java
|
|
47
|
-
Scenario: Has its own history file
|
|
48
|
-
Given I run `aruba console` interactively
|
|
49
|
-
And I type "IRB.conf[:HISTORY_FILE]"
|
|
50
|
-
And I type "exit"
|
|
51
|
-
When I close the stdin stream
|
|
52
|
-
Then the output should contain:
|
|
53
|
-
"""
|
|
54
|
-
~/.aruba_history
|
|
55
|
-
"""
|
|
@@ -1,37 +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/config/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.
|
|
15
|
-
|
|
16
|
-
Background:
|
|
17
|
-
Given I use a fixture named "cli-app"
|
|
18
|
-
|
|
19
|
-
@requires-ruby-platform-java
|
|
20
|
-
Scenario:
|
|
21
|
-
Given a file named "spec/jruby_env_spec.rb" with:
|
|
22
|
-
"""
|
|
23
|
-
require 'spec_helper'
|
|
24
|
-
require 'aruba/config/jruby'
|
|
25
|
-
|
|
26
|
-
RSpec.describe 'running commands with before :command hook', :type => :aruba do
|
|
27
|
-
it 'sets up for efficient JRuby startup' do
|
|
28
|
-
with_environment 'JRUBY_OPTS' => '-d' do
|
|
29
|
-
run_command_and_stop('env')
|
|
30
|
-
|
|
31
|
-
expect(last_command_started.output).to include 'JRUBY_OPTS=--dev -X-C -d'
|
|
32
|
-
end
|
|
33
|
-
end
|
|
34
|
-
end
|
|
35
|
-
"""
|
|
36
|
-
When I run `rspec`
|
|
37
|
-
Then the specs should all pass
|