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.
Files changed (299) hide show
  1. checksums.yaml +4 -4
  2. data/.cucumberproignore +3 -0
  3. data/.github/ISSUE_TEMPLATE.md +48 -0
  4. data/.github/PULL_REQUEST_TEMPLATE.md +41 -0
  5. data/.gitignore +1 -0
  6. data/.rspec +1 -1
  7. data/.rubocop.yml +20 -181
  8. data/.rubocop_todo.yml +262 -0
  9. data/.simplecov +7 -5
  10. data/.travis.yml +53 -28
  11. data/.yardopts +3 -0
  12. data/CHANGELOG.md +301 -2
  13. data/CONTRIBUTING.md +247 -45
  14. data/Dockerfile +67 -0
  15. data/Gemfile +5 -114
  16. data/LICENSE +1 -1
  17. data/README.md +57 -180
  18. data/Rakefile +63 -32
  19. data/appveyor.yml +8 -11
  20. data/aruba.gemspec +47 -41
  21. data/bin/console +7 -0
  22. data/bin/test +9 -0
  23. data/cucumber.yml +4 -24
  24. data/doc/dependency_decisions.yml +35 -13
  25. data/docker-compose.yml +26 -0
  26. data/{bin → exe}/aruba +1 -1
  27. data/fixtures/cli-app/Rakefile +1 -1
  28. data/fixtures/cli-app/bin/aruba-test-cli +1 -1
  29. data/fixtures/cli-app/cli-app.gemspec +1 -2
  30. data/fixtures/cli-app/features/support/aruba.rb +1 -0
  31. data/fixtures/cli-app/features/support/env.rb +1 -1
  32. data/fixtures/cli-app/lib/cli/app/suppress_simple_cov_output.rb +3 -3
  33. data/fixtures/cli-app/lib/cli/app/version.rb +1 -1
  34. data/fixtures/cli-app/lib/cli/app.rb +1 -5
  35. data/fixtures/cli-app/spec/spec_helper.rb +4 -7
  36. data/fixtures/empty-app/Rakefile +1 -1
  37. data/fixtures/empty-app/cli-app.gemspec +1 -2
  38. data/fixtures/empty-app/lib/cli/app/version.rb +1 -1
  39. data/fixtures/getting-started-app/Gemfile +1 -1
  40. data/lib/aruba/api/commands.rb +85 -143
  41. data/lib/aruba/api/core.rb +48 -41
  42. data/lib/aruba/api/environment.rb +16 -7
  43. data/lib/aruba/api/filesystem.rb +43 -30
  44. data/lib/aruba/api/text.rb +3 -9
  45. data/lib/aruba/api.rb +6 -11
  46. data/lib/aruba/aruba_path.rb +27 -89
  47. data/lib/aruba/basic_configuration.rb +4 -24
  48. data/lib/aruba/cli.rb +1 -1
  49. data/lib/aruba/command.rb +2 -0
  50. data/lib/aruba/config/jruby.rb +1 -1
  51. data/lib/aruba/config_wrapper.rb +1 -1
  52. data/lib/aruba/configuration.rb +92 -0
  53. data/lib/aruba/console/help.rb +1 -7
  54. data/lib/aruba/console.rb +5 -5
  55. data/lib/aruba/contracts/absolute_path.rb +2 -2
  56. data/lib/aruba/contracts/relative_path.rb +2 -2
  57. data/lib/aruba/cucumber/command.rb +133 -92
  58. data/lib/aruba/cucumber/environment.rb +1 -1
  59. data/lib/aruba/cucumber/file.rb +21 -23
  60. data/lib/aruba/cucumber/hooks.rb +18 -13
  61. data/lib/aruba/cucumber/testing_frameworks.rb +74 -50
  62. data/lib/aruba/cucumber.rb +0 -6
  63. data/lib/aruba/event_bus/name_resolver.rb +5 -16
  64. data/lib/aruba/hooks.rb +1 -1
  65. data/lib/aruba/in_config_wrapper.rb +5 -1
  66. data/lib/aruba/initializer.rb +36 -42
  67. data/lib/aruba/matchers/base/base_matcher.rb +2 -2
  68. data/lib/aruba/matchers/base/message_indenter.rb +19 -0
  69. data/lib/aruba/matchers/base/object_formatter.rb +2 -9
  70. data/lib/aruba/matchers/collection/include_an_object.rb +7 -9
  71. data/lib/aruba/matchers/command/be_successfully_executed.rb +6 -4
  72. data/lib/aruba/matchers/command/have_exit_status.rb +14 -4
  73. data/lib/aruba/matchers/command/have_finished_in_time.rb +3 -5
  74. data/lib/aruba/matchers/command/have_output.rb +10 -5
  75. data/lib/aruba/matchers/command/have_output_on_stderr.rb +2 -2
  76. data/lib/aruba/matchers/command/have_output_on_stdout.rb +2 -2
  77. data/lib/aruba/matchers/command/have_output_size.rb +2 -2
  78. data/lib/aruba/matchers/directory/be_an_existing_directory.rb +5 -7
  79. data/lib/aruba/matchers/directory/have_sub_directory.rb +4 -6
  80. data/lib/aruba/matchers/file/be_a_command_found_in_path.rb +2 -4
  81. data/lib/aruba/matchers/file/be_an_existing_executable.rb +4 -6
  82. data/lib/aruba/matchers/file/be_an_existing_file.rb +5 -7
  83. data/lib/aruba/matchers/file/have_file_content.rb +4 -4
  84. data/lib/aruba/matchers/file/have_file_size.rb +6 -8
  85. data/lib/aruba/matchers/file/have_same_file_content.rb +5 -8
  86. data/lib/aruba/matchers/path/a_path_matching_pattern.rb +2 -4
  87. data/lib/aruba/matchers/path/be_an_absolute_path.rb +3 -5
  88. data/lib/aruba/matchers/path/be_an_existing_path.rb +4 -6
  89. data/lib/aruba/matchers/path/have_permissions.rb +6 -8
  90. data/lib/aruba/matchers/string/include_output_string.rb +8 -10
  91. data/lib/aruba/matchers/string/match_output_string.rb +9 -11
  92. data/lib/aruba/matchers/string/output_string_eq.rb +8 -10
  93. data/lib/aruba/platform.rb +0 -8
  94. data/lib/aruba/platforms/announcer.rb +30 -72
  95. data/lib/aruba/platforms/aruba_file_creator.rb +2 -6
  96. data/lib/aruba/platforms/aruba_fixed_size_file_creator.rb +2 -2
  97. data/lib/aruba/platforms/aruba_logger.rb +23 -7
  98. data/lib/aruba/platforms/command_monitor.rb +11 -103
  99. data/lib/aruba/platforms/determine_disk_usage.rb +56 -14
  100. data/lib/aruba/platforms/filesystem_status.rb +10 -14
  101. data/lib/aruba/platforms/local_environment.rb +2 -2
  102. data/lib/aruba/platforms/simple_table.rb +3 -11
  103. data/lib/aruba/platforms/unix_command_string.rb +7 -11
  104. data/lib/aruba/platforms/unix_environment_variables.rb +18 -27
  105. data/lib/aruba/platforms/unix_platform.rb +16 -50
  106. data/lib/aruba/platforms/unix_which.rb +2 -1
  107. data/lib/aruba/platforms/windows_command_string.rb +15 -10
  108. data/lib/aruba/platforms/windows_environment_variables.rb +43 -44
  109. data/lib/aruba/platforms/windows_platform.rb +4 -0
  110. data/lib/aruba/platforms/windows_which.rb +4 -3
  111. data/lib/aruba/processes/basic_process.rb +18 -20
  112. data/lib/aruba/processes/debug_process.rb +12 -3
  113. data/lib/aruba/processes/in_process.rb +17 -8
  114. data/lib/aruba/processes/spawn_process.rb +36 -39
  115. data/lib/aruba/rspec.rb +14 -36
  116. data/lib/aruba/runtime.rb +3 -6
  117. data/lib/aruba/setup.rb +1 -1
  118. data/lib/aruba/tasks/docker_helpers.rb +154 -0
  119. data/lib/aruba/version.rb +1 -1
  120. metadata +190 -242
  121. data/features/.nav +0 -72
  122. data/features/01_getting_started_with_aruba/cleanup_working_directory.feature +0 -57
  123. data/features/01_getting_started_with_aruba/run_commands.feature +0 -217
  124. data/features/01_getting_started_with_aruba/supported_testing_frameworks.feature +0 -88
  125. data/features/02_configure_aruba/activate_announcer_on_command_failure.feature +0 -38
  126. data/features/02_configure_aruba/basics.feature +0 -151
  127. data/features/02_configure_aruba/command_runtime_environment.feature +0 -129
  128. data/features/02_configure_aruba/console_history_file.feature +0 -38
  129. data/features/02_configure_aruba/exit_timeout.feature +0 -60
  130. data/features/02_configure_aruba/fixtures_directories.feature +0 -38
  131. data/features/02_configure_aruba/fixtures_path_prefix.feature +0 -23
  132. data/features/02_configure_aruba/home_directory.feature +0 -80
  133. data/features/02_configure_aruba/io_timeout.feature +0 -30
  134. data/features/02_configure_aruba/keep_ansi.feature +0 -30
  135. data/features/02_configure_aruba/log_level.feature +0 -38
  136. data/features/02_configure_aruba/physical_block_size.feature +0 -53
  137. data/features/02_configure_aruba/remove_ansi_escape_sequences.feature +0 -38
  138. data/features/02_configure_aruba/root_directory.feature +0 -30
  139. data/features/02_configure_aruba/startup_wait_time.feature +0 -48
  140. data/features/02_configure_aruba/working_directory.feature +0 -38
  141. data/features/03_testing_frameworks/cucumber/announce_information_for_troubleshooting.feature +0 -306
  142. data/features/03_testing_frameworks/cucumber/disable_bunder.feature +0 -18
  143. data/features/03_testing_frameworks/cucumber/steps/command/check_for_exit_statuses.feature +0 -136
  144. data/features/03_testing_frameworks/cucumber/steps/command/check_output_of_command.feature +0 -514
  145. data/features/03_testing_frameworks/cucumber/steps/command/check_stderr_of_command.feature +0 -68
  146. data/features/03_testing_frameworks/cucumber/steps/command/check_stdout_of_command.feature +0 -109
  147. data/features/03_testing_frameworks/cucumber/steps/command/debug_your_command_in_aruba.feature +0 -118
  148. data/features/03_testing_frameworks/cucumber/steps/command/run_a_command.feature +0 -66
  149. data/features/03_testing_frameworks/cucumber/steps/command/run_command_in_process.feature +0 -485
  150. data/features/03_testing_frameworks/cucumber/steps/command/run_command_interactively.feature +0 -90
  151. data/features/03_testing_frameworks/cucumber/steps/command/run_commands_which_require_a_shell.feature +0 -79
  152. data/features/03_testing_frameworks/cucumber/steps/command/send_signal_to_command.feature +0 -83
  153. data/features/03_testing_frameworks/cucumber/steps/command/stop_command.feature +0 -285
  154. data/features/03_testing_frameworks/cucumber/steps/environment/append_environment_variable.feature +0 -52
  155. data/features/03_testing_frameworks/cucumber/steps/environment/modify_home_variable_for_testing.feature +0 -62
  156. data/features/03_testing_frameworks/cucumber/steps/environment/prepend_environment_variable.feature +0 -52
  157. data/features/03_testing_frameworks/cucumber/steps/environment/set_environment_variable.feature +0 -49
  158. data/features/03_testing_frameworks/cucumber/steps/filesystem/append_to_file.feature +0 -45
  159. data/features/03_testing_frameworks/cucumber/steps/filesystem/cd_to_directory.feature +0 -33
  160. data/features/03_testing_frameworks/cucumber/steps/filesystem/check_existence_of_directory.feature +0 -57
  161. data/features/03_testing_frameworks/cucumber/steps/filesystem/check_existence_of_file.feature +0 -43
  162. data/features/03_testing_frameworks/cucumber/steps/filesystem/check_file_content.feature +0 -143
  163. data/features/03_testing_frameworks/cucumber/steps/filesystem/check_non_existence_of_directory.feature +0 -69
  164. data/features/03_testing_frameworks/cucumber/steps/filesystem/check_non_existence_of_file.feature +0 -80
  165. data/features/03_testing_frameworks/cucumber/steps/filesystem/check_permissions_of_file.feature +0 -39
  166. data/features/03_testing_frameworks/cucumber/steps/filesystem/compare_files.feature +0 -42
  167. data/features/03_testing_frameworks/cucumber/steps/filesystem/copy_file_or_directory.feature +0 -45
  168. data/features/03_testing_frameworks/cucumber/steps/filesystem/create_directory.feature +0 -57
  169. data/features/03_testing_frameworks/cucumber/steps/filesystem/create_file.feature +0 -76
  170. data/features/03_testing_frameworks/cucumber/steps/filesystem/move_file_or_directory.feature +0 -44
  171. data/features/03_testing_frameworks/cucumber/steps/filesystem/overwrite_file.feature +0 -72
  172. data/features/03_testing_frameworks/cucumber/steps/filesystem/remove_directory.feature +0 -38
  173. data/features/03_testing_frameworks/cucumber/steps/filesystem/remove_file.feature +0 -38
  174. data/features/03_testing_frameworks/cucumber/steps/filesystem/use_fixtures_for_setup_test.feature +0 -77
  175. data/features/03_testing_frameworks/rspec/hooks/define_after_hook_for_commands.feature +0 -43
  176. data/features/03_testing_frameworks/rspec/hooks/define_before_hook_for_commands.feature +0 -71
  177. data/features/03_testing_frameworks/rspec/setup_aruba_for_rspec.feature +0 -179
  178. data/features/04_aruba_api/command/find_a_started_command.feature +0 -83
  179. data/features/04_aruba_api/command/find_command_in_PATH.feature +0 -37
  180. data/features/04_aruba_api/command/read_stderr_of_command.feature +0 -46
  181. data/features/04_aruba_api/command/read_stdout_of_command.feature +0 -46
  182. data/features/04_aruba_api/command/run_command.feature +0 -423
  183. data/features/04_aruba_api/command/run_simple.feature +0 -254
  184. data/features/04_aruba_api/command/send_signal_to_command.feature +0 -53
  185. data/features/04_aruba_api/command/stop_all_commands.feature +0 -57
  186. data/features/04_aruba_api/command/stop_single_command.feature +0 -132
  187. data/features/04_aruba_api/command/terminate_all_commands.feature +0 -57
  188. data/features/04_aruba_api/command/use_last_command_started.feature +0 -50
  189. data/features/04_aruba_api/command/use_last_command_stopped.feature +0 -89
  190. data/features/04_aruba_api/core/expand_path.feature +0 -88
  191. data/features/04_aruba_api/environment/append_environment_variable.feature +0 -128
  192. data/features/04_aruba_api/environment/delete_environment_variable.feature +0 -63
  193. data/features/04_aruba_api/environment/prepend_environment_variable.feature +0 -128
  194. data/features/04_aruba_api/environment/set_environment_variable.feature +0 -376
  195. data/features/04_aruba_api/filesystem/cd_to_directory.feature +0 -184
  196. data/features/04_aruba_api/filesystem/check_existence_file_or_directory.feature +0 -62
  197. data/features/04_aruba_api/filesystem/check_if_path_is_absolute.feature +0 -48
  198. data/features/04_aruba_api/filesystem/check_if_path_is_directory.feature +0 -53
  199. data/features/04_aruba_api/filesystem/check_if_path_is_file.feature +0 -54
  200. data/features/04_aruba_api/filesystem/check_if_path_is_relative.feature +0 -48
  201. data/features/04_aruba_api/filesystem/create_directory.feature +0 -57
  202. data/features/04_aruba_api/filesystem/move_file_or_directory.feature +0 -119
  203. data/features/04_aruba_api/filesystem/report_disk_usage.feature +0 -152
  204. data/features/04_aruba_api/filesystem/use_fixtures.feature +0 -104
  205. data/features/04_aruba_api/text/extract_text.feature +0 -87
  206. data/features/04_aruba_api/text/replace_variables.feature +0 -45
  207. data/features/04_aruba_api/text/sanitize_text.feature +0 -228
  208. data/features/04_aruba_api/text/unescape_text.feature +0 -127
  209. data/features/05_use_rspec_matchers/command/check_timeouts.feature +0 -48
  210. data/features/05_use_rspec_matchers/directory/have_sub_directory.feature +0 -110
  211. data/features/05_use_rspec_matchers/file/be_a_command_found_in_path.feature +0 -115
  212. data/features/05_use_rspec_matchers/file/be_existing_executable.feature +0 -88
  213. data/features/05_use_rspec_matchers/file/be_existing_file.feature +0 -82
  214. data/features/05_use_rspec_matchers/file/have_file_content.feature +0 -123
  215. data/features/05_use_rspec_matchers/file/have_file_size.feature +0 -107
  216. data/features/05_use_rspec_matchers/path/be_an_absolute_path.feature +0 -74
  217. data/features/05_use_rspec_matchers/path/be_an_existing_path.feature +0 -97
  218. data/features/05_use_rspec_matchers/path/have_permissions.feature +0 -118
  219. data/features/06_use_aruba_cli/initialize_project_with_aruba.feature +0 -79
  220. data/features/06_use_aruba_cli/open_console.feature +0 -55
  221. data/features/08_other/improve_performance_if_using_jruby.feature +0 -37
  222. data/features/step_definitions/hooks.rb +0 -146
  223. data/features/support/aruba.rb +0 -7
  224. data/features/support/env.rb +0 -33
  225. data/features/support/simplecov_setup.rb +0 -11
  226. data/fixtures/spawn_process/stderr.sh +0 -3
  227. data/lib/aruba/api/deprecated.rb +0 -1155
  228. data/lib/aruba/config.rb +0 -107
  229. data/lib/aruba/cucumber/core.rb +0 -5
  230. data/lib/aruba/cucumber/deprecated.rb +0 -93
  231. data/lib/aruba/cucumber/rvm.rb +0 -3
  232. data/lib/aruba/in_process.rb +0 -16
  233. data/lib/aruba/jruby.rb +0 -4
  234. data/lib/aruba/matchers/deprecated/file.rb +0 -17
  235. data/lib/aruba/matchers/deprecated.rb +0 -1
  236. data/lib/aruba/matchers/path/match_path_pattern.rb +0 -41
  237. data/lib/aruba/matchers/rspec_matcher_include_regexp.rb +0 -25
  238. data/lib/aruba/platforms/disk_usage_calculator.rb +0 -20
  239. data/lib/aruba/reporting.rb +0 -126
  240. data/lib/aruba/spawn_process.rb +0 -14
  241. data/script/bootstrap +0 -24
  242. data/script/console +0 -16
  243. data/script/test +0 -3
  244. data/spec/aruba/api/bundler_spec.rb +0 -15
  245. data/spec/aruba/api/commands_spec.rb +0 -30
  246. data/spec/aruba/api/core_spec.rb +0 -184
  247. data/spec/aruba/api/deprecated_spec.rb +0 -421
  248. data/spec/aruba/api/filesystem_spec.rb +0 -746
  249. data/spec/aruba/api/runtime_spec.rb +0 -28
  250. data/spec/aruba/api_spec.rb +0 -73
  251. data/spec/aruba/aruba_path_spec.rb +0 -103
  252. data/spec/aruba/basic_configuration_spec.rb +0 -5
  253. data/spec/aruba/configuration_spec.rb +0 -5
  254. data/spec/aruba/hooks_spec.rb +0 -17
  255. data/spec/aruba/in_config_wrapper_spec.rb +0 -25
  256. data/spec/aruba/jruby_spec.rb +0 -73
  257. data/spec/aruba/matchers/command/have_output_size_spec.rb +0 -25
  258. data/spec/aruba/matchers/command_spec.rb +0 -174
  259. data/spec/aruba/matchers/deprecated_spec.rb +0 -120
  260. data/spec/aruba/matchers/directory_spec.rb +0 -57
  261. data/spec/aruba/matchers/file_spec.rb +0 -208
  262. data/spec/aruba/matchers/path_spec.rb +0 -58
  263. data/spec/aruba/platform/simple_table_spec.rb +0 -23
  264. data/spec/aruba/platform/windows_environment_variables_spec.rb +0 -500
  265. data/spec/aruba/platforms/unix_command_string_spec.rb +0 -17
  266. data/spec/aruba/platforms/windows_command_string_spec.rb +0 -22
  267. data/spec/aruba/processes/spawn_process_spec.rb +0 -112
  268. data/spec/aruba/rspec_spec.rb +0 -15
  269. data/spec/aruba/runtime_spec.rb +0 -29
  270. data/spec/event_bus/name_resolver_spec.rb +0 -68
  271. data/spec/event_bus_spec.rb +0 -158
  272. data/spec/spec_helper.rb +0 -22
  273. data/spec/support/configs/.keep +0 -0
  274. data/spec/support/configs/aruba.rb +0 -5
  275. data/spec/support/configs/pry.rb +0 -3
  276. data/spec/support/configs/rspec.rb +0 -15
  277. data/spec/support/helpers/.keep +0 -0
  278. data/spec/support/helpers/reporting.rb +0 -44
  279. data/spec/support/matchers/.keep +0 -0
  280. data/spec/support/matchers/option.rb +0 -35
  281. data/spec/support/shared_contexts/.keep +0 -0
  282. data/spec/support/shared_contexts/aruba.rb +0 -49
  283. data/spec/support/shared_examples/.keep +0 -0
  284. data/spec/support/shared_examples/configuration.rb +0 -116
  285. data/spec/support/shared_examples/directory.rb +0 -7
  286. data/spec/support/shared_examples/file.rb +0 -7
  287. data/templates/css/console.css +0 -24
  288. data/templates/css/filesystem.css +0 -42
  289. data/templates/css/pygments-autumn.css +0 -59
  290. data/templates/files.erb +0 -14
  291. data/templates/images/LICENSE +0 -22
  292. data/templates/images/folder.png +0 -0
  293. data/templates/images/page_white.png +0 -0
  294. data/templates/images/page_white_gherkin.png +0 -0
  295. data/templates/images/page_white_ruby.png +0 -0
  296. data/templates/index.erb +0 -20
  297. data/templates/js/filesystem.js +0 -5
  298. data/templates/js/jquery-1.11.3.min.js +0 -5
  299. data/templates/main.erb +0 -34
@@ -1,28 +0,0 @@
1
- require 'spec_helper'
2
-
3
- RSpec.describe 'aruba' do
4
- describe '#config' do
5
- subject(:config) { aruba.config }
6
-
7
- if RUBY_VERSION >= '1.9'
8
- context 'when initialized' do
9
- it { is_expected.to eq Aruba.config }
10
- end
11
- end
12
-
13
- context 'when changed earlier' do
14
- context 'values when init' do
15
- let(:value) { 20 }
16
- before(:each) { aruba.config.io_wait_timeout = value }
17
-
18
- it { expect(config.io_wait_timeout).to eq value }
19
- end
20
-
21
- context 'default value' do
22
- let(:value) { 0.1 } # Aruba.config.io_wait_timeout
23
-
24
- it { expect(config.io_wait_timeout).to eq value }
25
- end
26
- end
27
- end
28
- end
@@ -1,73 +0,0 @@
1
- require 'spec_helper'
2
- require 'aruba/api'
3
- require 'fileutils'
4
- require 'time'
5
-
6
- describe Aruba::Api do
7
- include_context 'uses aruba API'
8
-
9
- describe 'tags' do
10
- describe '@announce_stdout' do
11
- after(:each) { @aruba.all_commands.each(&:stop) }
12
-
13
- context 'enabled' do
14
- before :each do
15
- @aruba.aruba.announcer = instance_double 'Aruba::Platforms::Announcer'
16
- expect(@aruba.aruba.announcer).to receive(:announce).with(:stdout) { "hello world\n" }
17
- allow(@aruba.aruba.announcer).to receive(:announce)
18
- end
19
-
20
- it "should announce to stdout exactly once" do
21
- @aruba.run_command_and_stop('echo "hello world"')
22
- expect(@aruba.last_command_started.output).to include('hello world')
23
- end
24
- end
25
-
26
- context 'disabled' do
27
- it "should not announce to stdout" do
28
- result = capture(:stdout) do
29
- @aruba.run_command_and_stop('echo "hello world"')
30
- end
31
-
32
- expect(result).not_to include('hello world')
33
- expect(@aruba.last_command_started.output).to include('hello world')
34
- end
35
- end
36
- end
37
- end
38
-
39
- describe 'fixtures' do
40
- let(:api) do
41
- klass = Class.new do
42
- include Aruba::Api
43
-
44
- def root_directory
45
- expand_path('.')
46
- end
47
- end
48
-
49
- klass.new
50
- end
51
- end
52
-
53
- describe "#set_environment_variable" do
54
- after(:each) do
55
- @aruba.all_commands.each(&:stop)
56
- end
57
-
58
- it "set environment variable" do
59
- @aruba.set_environment_variable 'LONG_LONG_ENV_VARIABLE', 'true'
60
- @aruba.run_command_and_stop "env"
61
- expect(@aruba.last_command_started.output).
62
- to include("LONG_LONG_ENV_VARIABLE=true")
63
- end
64
-
65
- it "overwrites environment variable" do
66
- @aruba.set_environment_variable 'LONG_LONG_ENV_VARIABLE', 'true'
67
- @aruba.set_environment_variable 'LONG_LONG_ENV_VARIABLE', 'false'
68
- @aruba.run_command_and_stop "env"
69
- expect(@aruba.last_command_started.output).
70
- to include("LONG_LONG_ENV_VARIABLE=false")
71
- end
72
- end
73
- end # Aruba::Api
@@ -1,103 +0,0 @@
1
- require 'spec_helper'
2
- require 'aruba/aruba_path'
3
-
4
- RSpec.describe Aruba::ArubaPath do
5
- subject(:path) { described_class.new(new_path) }
6
-
7
- let(:new_path) { 'path/to/dir' }
8
-
9
- it { expect(path).to be }
10
-
11
- describe '#to_s' do
12
- end
13
-
14
- describe '#to_s' do
15
- context 'when string is used' do
16
- it { expect(path.to_s).to eq new_path }
17
- end
18
-
19
- # make it compatible with the old API
20
- context 'when array is used' do
21
- let(:net_path) { %w(path to dir) }
22
-
23
- it { expect(path.to_s).to eq File.join(*new_path) }
24
- end
25
- end
26
-
27
- describe '#push' do
28
- before(:each) { path.push 'subdir' }
29
-
30
- it { expect(path.to_s).to eq 'path/to/dir/subdir' }
31
- end
32
-
33
- describe '#<<' do
34
- before(:each) { path << 'subdir' }
35
-
36
- it { expect(path.to_s).to eq 'path/to/dir/subdir' }
37
- end
38
-
39
- describe '#pop' do
40
- before(:each) { path << 'subdir' }
41
- before(:each) { path.pop }
42
-
43
- it { expect(path.to_s).to eq 'path/to/dir' }
44
- end
45
-
46
- describe '#relative?' do
47
- context 'when is relative' do
48
- it { expect(path).to be_relative }
49
- end
50
-
51
- context 'when is absolute' do
52
- let(:new_path) { '/absolute/path' }
53
- it { expect(path).not_to be_relative }
54
- end
55
- end
56
-
57
- describe '#[]' do
58
- context 'when single index' do
59
- it { expect(path[0]).to eq 'p' }
60
- end
61
-
62
- context 'when range' do
63
- it { expect(path[0..1]).to eq 'pa' }
64
- end
65
- end
66
-
67
- describe '#depth' do
68
- context 'when relative path' do
69
- it { expect(path.depth).to eq 3 }
70
- end
71
-
72
- context 'when absolute path' do
73
- let(:new_path) { '/path/to/dir' }
74
- it { expect(path.depth).to eq 3 }
75
- end
76
- end
77
-
78
- describe '#end_with?' do
79
- it { expect(path).to be_end_with 'dir' }
80
- end
81
-
82
- describe '#start_with?' do
83
- it { expect(path).to be_start_with 'path/to' }
84
- end
85
-
86
- describe '#relative?' do
87
- it { expect(path).to be_relative }
88
- end
89
-
90
- describe '#absolute?' do
91
- let(:new_path) { '/path/to/dir' }
92
- it { expect(path).to be_absolute }
93
- end
94
-
95
- describe '#blocks' do
96
- let(:new_path) { expand_path('path/to/file') }
97
-
98
- before(:each) { FileUtils.mkdir_p File.dirname(new_path) }
99
- before(:each) { File.open(new_path, 'w') { |f| f.print 'a' } }
100
-
101
- it { expect(path.blocks).to be > 0 }
102
- end
103
- end
@@ -1,5 +0,0 @@
1
- require 'spec_helper'
2
-
3
- RSpec.describe Aruba::BasicConfiguration do
4
- it_behaves_like 'a basic configuration'
5
- end
@@ -1,5 +0,0 @@
1
- require 'spec_helper'
2
-
3
- RSpec.describe Aruba::Configuration do
4
- it_behaves_like 'a basic configuration'
5
- end
@@ -1,17 +0,0 @@
1
- require 'aruba/config'
2
-
3
- describe Aruba::Hooks do
4
- it 'executes a stored hook' do
5
- hook_was_run = false
6
- subject.append :hook_label, lambda { hook_was_run = true }
7
- subject.execute :hook_label, self
8
- expect(hook_was_run).to be_truthy
9
- end
10
-
11
- it 'executes a stored hook that takes multiple arguments' do
12
- hook_values = []
13
- subject.append :hook_label, lambda { |a,b,c| hook_values = [a,b,c] }
14
- subject.execute :hook_label, self, 1, 2, 3
15
- expect(hook_values).to eq [1,2,3]
16
- end
17
- end
@@ -1,25 +0,0 @@
1
- require 'spec_helper'
2
-
3
- RSpec.describe Aruba::InConfigWrapper do
4
- subject(:wrapper) { described_class.new(config) }
5
-
6
- let(:config) { {} }
7
-
8
- context 'when option is defined' do
9
- before :each do
10
- config[:opt] = true
11
- end
12
-
13
- context 'when valid' do
14
- it { expect(wrapper.opt).to be true }
15
- end
16
-
17
- context 'when one tries to pass arguments to option' do
18
- it { expect{ wrapper.opt('arg') }.to raise_error ArgumentError, 'Options take no argument' }
19
- end
20
- end
21
-
22
- context 'when option is not defined' do
23
- it { expect{ wrapper.opt }.to raise_error ArgumentError, 'Option "opt" is unknown. Please use only earlier defined options' }
24
- end
25
- end
@@ -1,73 +0,0 @@
1
- require 'spec_helper'
2
- require 'aruba/api'
3
-
4
- describe "Aruba JRuby Startup Helper" do
5
- include Aruba::Api
6
-
7
- let(:rb_config) { double('RbConfig::CONFIG') }
8
- let(:command) do
9
- instance_double(Aruba::Processes::BasicProcess, :environment => command_environment)
10
- end
11
- let(:command_environment) { { 'JRUBY_OPTS' => '--1.9', 'JAVA_OPTS' => '-Xdebug' } }
12
-
13
- before do
14
- Aruba.config.reset
15
-
16
- # Define before :command hook
17
- load 'aruba/config/jruby.rb'
18
- end
19
-
20
- context 'when running under some MRI Ruby' do
21
- before do
22
- stub_const('RUBY_PLATFORM', 'x86_64-chocolate')
23
- end
24
-
25
- it 'keeps the existing JRUBY_OPTS and JAVA_OPTS environment values' do
26
- # Run defined before :command hook
27
- Aruba.config.before :command, self, command
28
-
29
- aggregate_failures do
30
- expect(command_environment['JRUBY_OPTS']).to eq '--1.9'
31
- expect(command_environment['JAVA_OPTS']).to eq '-Xdebug'
32
- end
33
- end
34
- end
35
-
36
- context 'when running under JRuby but not on Solaris' do
37
- before do
38
- stub_const 'RUBY_PLATFORM', 'java'
39
- stub_const 'RbConfig::CONFIG', rb_config
40
-
41
- allow(rb_config).to receive(:[]).with('host_os').and_return('foo-os')
42
- end
43
-
44
- it 'updates the existing JRuby but not Java option values' do
45
- # Run defined before :command hook
46
- Aruba.config.before :command, self, command
47
-
48
- aggregate_failures do
49
- expect(command_environment['JRUBY_OPTS']).to eq '--dev -X-C --1.9'
50
- expect(command_environment['JAVA_OPTS']).to eq '-Xdebug'
51
- end
52
- end
53
- end
54
-
55
- context 'when running under JRuby on Solaris' do
56
- before :each do
57
- stub_const 'RUBY_PLATFORM', 'java'
58
- stub_const 'RbConfig::CONFIG', rb_config
59
-
60
- allow(rb_config).to receive(:[]).with('host_os').and_return('solaris')
61
- end
62
-
63
- it 'keeps the existing JRuby and Java option values' do
64
- # Run defined before :command hook
65
- Aruba.config.before :command, self, command
66
-
67
- aggregate_failures do
68
- expect(command_environment['JRUBY_OPTS']).to eq '--dev -X-C --1.9'
69
- expect(command_environment['JAVA_OPTS']).to eq '-d32 -Xdebug'
70
- end
71
- end
72
- end
73
- end
@@ -1,25 +0,0 @@
1
- require 'spec_helper'
2
-
3
- RSpec.describe 'Output Matchers' do
4
- include_context 'uses aruba API'
5
-
6
- def expand_path(*args)
7
- @aruba.expand_path(*args)
8
- end
9
-
10
- describe '#to_have_output_size' do
11
- let(:obj) { 'string' }
12
-
13
- context 'when has size' do
14
- context 'when is string' do
15
- it { expect(obj).to have_output_size 6 }
16
- end
17
- end
18
-
19
- context 'when does not have size' do
20
- let(:obj) { 'string' }
21
-
22
- it { expect(obj).not_to have_output_size(-1) }
23
- end
24
- end
25
- end
@@ -1,174 +0,0 @@
1
- require 'spec_helper'
2
-
3
- RSpec.describe 'Command Matchers' do
4
- include_context 'uses aruba API'
5
-
6
- def expand_path(*args)
7
- @aruba.expand_path(*args)
8
- end
9
-
10
- def announcer(*args)
11
- @aruba.send(:announcer, *args)
12
- end
13
-
14
- describe '#to_have_exit_status' do
15
- let(:cmd) { 'true' }
16
-
17
- before(:each) { run_command(cmd) }
18
-
19
- context 'when has exit 0' do
20
- it { expect(last_command_started).to have_exit_status 0 }
21
- end
22
-
23
- context 'when has exit 0' do
24
- let(:cmd) { 'false' }
25
- it { expect(last_command_started).not_to have_exit_status 0 }
26
- end
27
- end
28
-
29
- describe '#to_be_successfully_executed_' do
30
- let(:cmd) { 'true' }
31
-
32
- before(:each) { run_command(cmd) }
33
-
34
- context 'when has exit 0' do
35
- it { expect(last_command_started).to be_successfully_executed }
36
- end
37
-
38
- context 'when has exit 0' do
39
- let(:cmd) { 'false' }
40
- it { expect(last_command_started).not_to be_successfully_executed }
41
- end
42
- end
43
-
44
- describe '#to_have_output' do
45
- let(:cmd) { "echo #{output}" }
46
- let(:output) { 'hello world' }
47
-
48
- context 'when have output hello world on stdout' do
49
- before(:each) { run_command(cmd) }
50
- it { expect(last_command_started).to have_output output }
51
- end
52
-
53
- context 'when multiple commands output hello world on stdout' do
54
- context 'and all comands must have the output' do
55
- before(:each) do
56
- run_command(cmd)
57
- run_command(cmd)
58
- end
59
-
60
- it { expect(all_commands).to all have_output output }
61
- end
62
-
63
- context 'and any comand can have the output' do
64
- before(:each) do
65
- run_command(cmd)
66
- run_command('echo hello universe')
67
- end
68
-
69
- it { expect(all_commands).to include have_output(output) }
70
- end
71
- end
72
-
73
- context 'when have output hello world on stderr' do
74
- before :each do
75
- string = <<-EOS.strip_heredoc
76
- #!/usr/bin/env bash
77
-
78
- echo $* >&2
79
- EOS
80
-
81
- File.open(expand_path('cmd.sh'), 'w') { |f| f.puts string }
82
-
83
- File.chmod 0o755, expand_path('cmd.sh')
84
- prepend_environment_variable 'PATH', "#{expand_path('.')}#{File::PATH_SEPARATOR}"
85
- end
86
-
87
- let(:cmd) { "cmd.sh #{output}" }
88
-
89
- before(:each) { run_command(cmd) }
90
-
91
- it { expect(last_command_started).to have_output output }
92
- end
93
-
94
- context 'when not has output' do
95
- before(:each) { run_command(cmd) }
96
-
97
- it { expect(last_command_started).not_to have_output 'hello universe' }
98
- end
99
- end
100
-
101
- describe '#to_have_output_on_stdout' do
102
- let(:cmd) { "echo #{output}" }
103
- let(:output) { 'hello world' }
104
-
105
- context 'when have output hello world on stdout' do
106
- before(:each) { run_command(cmd) }
107
- it { expect(last_command_started).to have_output_on_stdout output }
108
- end
109
-
110
- context 'when have output hello world on stderr' do
111
- before :each do
112
- string = <<-EOS.strip_heredoc
113
- #!/usr/bin/env bash
114
-
115
- echo $* >&2
116
- EOS
117
-
118
- File.open(expand_path('cmd.sh'), 'w') { |f| f.puts string }
119
-
120
- File.chmod 0o755, expand_path('cmd.sh')
121
- prepend_environment_variable 'PATH', "#{expand_path('.')}#{File::PATH_SEPARATOR}"
122
- end
123
-
124
- let(:cmd) { "cmd.sh #{output}" }
125
-
126
- before(:each) { run_command(cmd) }
127
-
128
- it { expect(last_command_started).not_to have_output_on_stdout output }
129
- end
130
-
131
- context 'when not has output' do
132
- before(:each) { run_command(cmd) }
133
-
134
- it { expect(last_command_started).not_to have_output_on_stdout 'hello universe' }
135
- end
136
- end
137
-
138
- describe '#to_have_output_on_stderr' do
139
- let(:cmd) { "echo #{output}" }
140
- let(:output) { 'hello world' }
141
-
142
- context 'when have output hello world on stdout' do
143
- before(:each) { run_command(cmd) }
144
- it { expect(last_command_started).not_to have_output_on_stderr output }
145
- end
146
-
147
- context 'when have output hello world on stderr' do
148
- before :each do
149
- string = <<-EOS.strip_heredoc
150
- #!/usr/bin/env bash
151
-
152
- echo $* >&2
153
- EOS
154
-
155
- File.open(expand_path('cmd.sh'), 'w') { |f| f.puts string }
156
-
157
- File.chmod 0o755, expand_path('cmd.sh')
158
- prepend_environment_variable 'PATH', "#{expand_path('.')}#{File::PATH_SEPARATOR}"
159
- end
160
-
161
- let(:cmd) { "cmd.sh #{output}" }
162
-
163
- before(:each) { run_command(cmd) }
164
-
165
- it { expect(last_command_started).to have_output_on_stderr output }
166
- end
167
-
168
- context 'when not has output' do
169
- before(:each) { run_command(cmd) }
170
-
171
- it { expect(last_command_started).not_to have_output_on_stderr 'hello universe' }
172
- end
173
- end
174
- end
@@ -1,120 +0,0 @@
1
- require 'spec_helper'
2
-
3
- RSpec.describe 'Deprecated matchers' do
4
- include_context 'uses aruba API'
5
-
6
- before do
7
- allow(Aruba.platform).to receive(:deprecated)
8
- end
9
-
10
- describe 'to_match_path_pattern' do
11
- context 'when pattern is string' do
12
- context 'when there is file which matches path pattern' do
13
- before :each do
14
- Aruba.platform.write_file(@file_path, '')
15
- end
16
-
17
- it { expect(all_paths).to match_path_pattern(expand_path(@file_name)) }
18
- end
19
-
20
- context 'when there is not file which matches path pattern' do
21
- it { expect(all_paths).not_to match_path_pattern('test') }
22
- end
23
- end
24
-
25
- context 'when pattern is regex' do
26
- context 'when there is file which matches path pattern' do
27
- before :each do
28
- Aruba.platform.write_file(@file_path, '')
29
- end
30
-
31
- it { expect(all_paths).to match_path_pattern(/test/) }
32
- end
33
-
34
- context 'when there is not file which matches path pattern' do
35
- it { expect(all_paths).not_to match_path_pattern(/test/) }
36
- end
37
- end
38
- end
39
-
40
- describe "to have_same_file_content_like" do
41
- let(:file_name) { @file_name }
42
- let(:file_path) { @file_path }
43
-
44
- let(:reference_file) { 'fixture' }
45
-
46
- before :each do
47
- @aruba.write_file(@file_name, "foo bar baz")
48
- @aruba.write_file(reference_file, reference_file_content)
49
- end
50
-
51
- context 'when files are the same' do
52
- let(:reference_file_content) { 'foo bar baz' }
53
-
54
- context 'and this is expected' do
55
- it { expect(file_name).to have_same_file_content_like reference_file }
56
- end
57
-
58
- context 'and this is not expected' do
59
- it do
60
- expect { expect(file_name).not_to have_same_file_content_like reference_file }.to raise_error RSpec::Expectations::ExpectationNotMetError
61
- end
62
- end
63
- end
64
-
65
- context 'when files are not the same' do
66
- let(:reference_file_content) { 'bar' }
67
-
68
- context 'and this is expected' do
69
- it { expect(file_name).not_to have_same_file_content_like reference_file }
70
- end
71
-
72
- context 'and this is not expected' do
73
- it do
74
- expect { expect(file_name).to have_same_file_content_like reference_file }.to raise_error RSpec::Expectations::ExpectationNotMetError
75
- end
76
- end
77
- end
78
- end
79
-
80
- describe "include a_file_with_same_content_like" do
81
- let(:reference_file) { 'fixture' }
82
- let(:reference_file_content) { 'foo bar baz' }
83
- let(:file_with_same_content) { 'file_a.txt' }
84
- let(:file_with_different_content) { 'file_b.txt' }
85
-
86
- before :each do
87
- @aruba.write_file(file_with_same_content, reference_file_content)
88
- @aruba.write_file(reference_file, reference_file_content)
89
- @aruba.write_file(file_with_different_content, 'Some different content here...')
90
- end
91
-
92
- context 'when the array of files includes a file with the same content' do
93
- let(:files) { [file_with_different_content, file_with_same_content] }
94
-
95
- context 'and this is expected' do
96
- it { expect(files).to include a_file_with_same_content_like reference_file }
97
- end
98
-
99
- context 'and this is not expected' do
100
- it do
101
- expect { expect(files).not_to include a_file_with_same_content_like reference_file }.to raise_error RSpec::Expectations::ExpectationNotMetError
102
- end
103
- end
104
- end
105
-
106
- context 'when the array of files does not include a file with the same content' do
107
- let(:files) { [file_with_different_content] }
108
-
109
- context 'and this is expected' do
110
- it { expect(files).not_to include a_file_with_same_content_like reference_file }
111
- end
112
-
113
- context 'and this is not expected' do
114
- it do
115
- expect { expect(files).to include a_file_with_same_content_like reference_file }.to raise_error RSpec::Expectations::ExpectationNotMetError
116
- end
117
- end
118
- end
119
- end
120
- end