aruba 0.14.14 → 1.0.0.pre.alpha.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (246) hide show
  1. checksums.yaml +5 -5
  2. data/.cucumberproignore +3 -0
  3. data/.github/ISSUE_TEMPLATE.md +48 -0
  4. data/.github/PULL_REQUEST_TEMPLATE.md +39 -0
  5. data/.gitignore +1 -0
  6. data/.rspec +1 -0
  7. data/.rubocop.yml +1 -5
  8. data/.travis.yml +35 -27
  9. data/CONTRIBUTING.md +131 -29
  10. data/Dockerfile +67 -0
  11. data/Gemfile +33 -80
  12. data/History.md +602 -0
  13. data/README.md +24 -196
  14. data/Rakefile +87 -27
  15. data/appveyor.yml +0 -1
  16. data/aruba.gemspec +30 -40
  17. data/bin/bootstrap +34 -0
  18. data/bin/build +3 -0
  19. data/{script → bin}/console +0 -0
  20. data/bin/release +3 -0
  21. data/bin/test +9 -0
  22. data/cucumber.yml +1 -3
  23. data/docker-compose.yml +26 -0
  24. data/{bin → exec}/aruba +0 -0
  25. data/fixtures/cli-app/README.md +1 -1
  26. data/fixtures/cli-app/features/support/aruba.rb +1 -0
  27. data/fixtures/cli-app/features/support/env.rb +1 -1
  28. data/fixtures/cli-app/lib/cli/app.rb +1 -5
  29. data/fixtures/cli-app/spec/spec_helper.rb +1 -6
  30. data/fixtures/empty-app/lib/cli/app.rb +2 -0
  31. data/lib/aruba/api.rb +3 -3
  32. data/lib/aruba/api/{commands.rb → command.rb} +4 -30
  33. data/lib/aruba/api/core.rb +8 -25
  34. data/lib/aruba/api/deprecated.rb +150 -408
  35. data/lib/aruba/api/filesystem.rb +17 -2
  36. data/lib/aruba/api/rvm.rb +44 -0
  37. data/lib/aruba/aruba_path.rb +56 -32
  38. data/lib/aruba/basic_configuration.rb +3 -5
  39. data/lib/aruba/colorizer.rb +99 -10
  40. data/lib/aruba/command.rb +0 -2
  41. data/lib/aruba/config.rb +5 -5
  42. data/lib/aruba/config/jruby.rb +5 -15
  43. data/lib/aruba/console.rb +2 -0
  44. data/lib/aruba/console/help.rb +1 -7
  45. data/lib/aruba/cucumber.rb +0 -2
  46. data/lib/aruba/cucumber/command.rb +98 -72
  47. data/lib/aruba/cucumber/file.rb +15 -3
  48. data/lib/aruba/cucumber/hooks.rb +71 -10
  49. data/lib/aruba/event_bus/name_resolver.rb +2 -10
  50. data/lib/aruba/generators/script_file.rb +1 -1
  51. data/lib/aruba/in_process.rb +0 -2
  52. data/lib/aruba/initializer.rb +4 -14
  53. data/lib/aruba/matchers/base/object_formatter.rb +0 -5
  54. data/lib/aruba/matchers/file/have_same_file_content.rb +5 -5
  55. data/lib/aruba/matchers/string/output_string_eq.rb +1 -1
  56. data/lib/aruba/platforms/announcer.rb +11 -16
  57. data/lib/aruba/platforms/aruba_file_creator.rb +1 -5
  58. data/lib/aruba/platforms/aruba_logger.rb +1 -5
  59. data/lib/aruba/platforms/command_monitor.rb +10 -14
  60. data/lib/aruba/platforms/determine_disk_usage.rb +8 -3
  61. data/lib/aruba/platforms/filesystem_status.rb +1 -5
  62. data/lib/aruba/platforms/unix_command_string.rb +1 -8
  63. data/lib/aruba/platforms/unix_environment_variables.rb +6 -8
  64. data/lib/aruba/platforms/unix_platform.rb +9 -22
  65. data/lib/aruba/platforms/unix_which.rb +4 -0
  66. data/lib/aruba/platforms/windows_command_string.rb +6 -14
  67. data/lib/aruba/platforms/windows_environment_variables.rb +4 -16
  68. data/lib/aruba/platforms/windows_which.rb +4 -0
  69. data/lib/aruba/processes/basic_process.rb +22 -18
  70. data/lib/aruba/processes/spawn_process.rb +12 -35
  71. data/lib/aruba/rspec.rb +1 -0
  72. data/lib/aruba/runtime.rb +3 -4
  73. data/lib/aruba/setup.rb +9 -11
  74. data/lib/aruba/spawn_process.rb +1 -4
  75. data/lib/aruba/tasks/docker_helpers.rb +158 -0
  76. data/lib/aruba/version.rb +1 -1
  77. metadata +62 -230
  78. data/CHANGELOG.md +0 -991
  79. data/features/.nav +0 -72
  80. data/features/01_getting_started_with_aruba/cleanup_working_directory.feature +0 -57
  81. data/features/01_getting_started_with_aruba/run_commands.feature +0 -217
  82. data/features/01_getting_started_with_aruba/supported_testing_frameworks.feature +0 -88
  83. data/features/02_configure_aruba/activate_announcer_on_command_failure.feature +0 -38
  84. data/features/02_configure_aruba/basics.feature +0 -151
  85. data/features/02_configure_aruba/command_runtime_environment.feature +0 -129
  86. data/features/02_configure_aruba/console_history_file.feature +0 -38
  87. data/features/02_configure_aruba/exit_timeout.feature +0 -60
  88. data/features/02_configure_aruba/fixtures_directories.feature +0 -38
  89. data/features/02_configure_aruba/fixtures_path_prefix.feature +0 -23
  90. data/features/02_configure_aruba/home_directory.feature +0 -80
  91. data/features/02_configure_aruba/io_timeout.feature +0 -30
  92. data/features/02_configure_aruba/keep_ansi.feature +0 -30
  93. data/features/02_configure_aruba/log_level.feature +0 -38
  94. data/features/02_configure_aruba/physical_block_size.feature +0 -53
  95. data/features/02_configure_aruba/remove_ansi_escape_sequences.feature +0 -38
  96. data/features/02_configure_aruba/root_directory.feature +0 -30
  97. data/features/02_configure_aruba/startup_wait_time.feature +0 -48
  98. data/features/02_configure_aruba/working_directory.feature +0 -38
  99. data/features/03_testing_frameworks/cucumber/announce_information_for_troubleshooting.feature +0 -306
  100. data/features/03_testing_frameworks/cucumber/disable_bunder.feature +0 -18
  101. data/features/03_testing_frameworks/cucumber/steps/command/check_for_exit_statuses.feature +0 -136
  102. data/features/03_testing_frameworks/cucumber/steps/command/check_output_of_command.feature +0 -514
  103. data/features/03_testing_frameworks/cucumber/steps/command/check_stderr_of_command.feature +0 -68
  104. data/features/03_testing_frameworks/cucumber/steps/command/check_stdout_of_command.feature +0 -109
  105. data/features/03_testing_frameworks/cucumber/steps/command/debug_your_command_in_aruba.feature +0 -118
  106. data/features/03_testing_frameworks/cucumber/steps/command/run_a_command.feature +0 -66
  107. data/features/03_testing_frameworks/cucumber/steps/command/run_command_in_process.feature +0 -485
  108. data/features/03_testing_frameworks/cucumber/steps/command/run_command_interactively.feature +0 -90
  109. data/features/03_testing_frameworks/cucumber/steps/command/run_commands_which_require_a_shell.feature +0 -79
  110. data/features/03_testing_frameworks/cucumber/steps/command/send_signal_to_command.feature +0 -83
  111. data/features/03_testing_frameworks/cucumber/steps/command/stop_command.feature +0 -285
  112. data/features/03_testing_frameworks/cucumber/steps/environment/append_environment_variable.feature +0 -52
  113. data/features/03_testing_frameworks/cucumber/steps/environment/modify_home_variable_for_testing.feature +0 -62
  114. data/features/03_testing_frameworks/cucumber/steps/environment/prepend_environment_variable.feature +0 -52
  115. data/features/03_testing_frameworks/cucumber/steps/environment/set_environment_variable.feature +0 -49
  116. data/features/03_testing_frameworks/cucumber/steps/filesystem/append_to_file.feature +0 -45
  117. data/features/03_testing_frameworks/cucumber/steps/filesystem/cd_to_directory.feature +0 -33
  118. data/features/03_testing_frameworks/cucumber/steps/filesystem/check_existence_of_directory.feature +0 -57
  119. data/features/03_testing_frameworks/cucumber/steps/filesystem/check_existence_of_file.feature +0 -43
  120. data/features/03_testing_frameworks/cucumber/steps/filesystem/check_file_content.feature +0 -143
  121. data/features/03_testing_frameworks/cucumber/steps/filesystem/check_non_existence_of_directory.feature +0 -69
  122. data/features/03_testing_frameworks/cucumber/steps/filesystem/check_non_existence_of_file.feature +0 -80
  123. data/features/03_testing_frameworks/cucumber/steps/filesystem/check_permissions_of_file.feature +0 -39
  124. data/features/03_testing_frameworks/cucumber/steps/filesystem/compare_files.feature +0 -42
  125. data/features/03_testing_frameworks/cucumber/steps/filesystem/copy_file_or_directory.feature +0 -45
  126. data/features/03_testing_frameworks/cucumber/steps/filesystem/create_directory.feature +0 -57
  127. data/features/03_testing_frameworks/cucumber/steps/filesystem/create_file.feature +0 -76
  128. data/features/03_testing_frameworks/cucumber/steps/filesystem/move_file_or_directory.feature +0 -44
  129. data/features/03_testing_frameworks/cucumber/steps/filesystem/overwrite_file.feature +0 -72
  130. data/features/03_testing_frameworks/cucumber/steps/filesystem/remove_directory.feature +0 -38
  131. data/features/03_testing_frameworks/cucumber/steps/filesystem/remove_file.feature +0 -38
  132. data/features/03_testing_frameworks/cucumber/steps/filesystem/use_fixtures_for_setup_test.feature +0 -77
  133. data/features/03_testing_frameworks/rspec/hooks/define_after_hook_for_commands.feature +0 -43
  134. data/features/03_testing_frameworks/rspec/hooks/define_before_hook_for_commands.feature +0 -71
  135. data/features/03_testing_frameworks/rspec/setup_aruba_for_rspec.feature +0 -179
  136. data/features/04_aruba_api/command/find_a_started_command.feature +0 -83
  137. data/features/04_aruba_api/command/find_command_in_PATH.feature +0 -37
  138. data/features/04_aruba_api/command/read_stderr_of_command.feature +0 -46
  139. data/features/04_aruba_api/command/read_stdout_of_command.feature +0 -46
  140. data/features/04_aruba_api/command/run_command.feature +0 -423
  141. data/features/04_aruba_api/command/run_simple.feature +0 -254
  142. data/features/04_aruba_api/command/send_signal_to_command.feature +0 -53
  143. data/features/04_aruba_api/command/stop_all_commands.feature +0 -57
  144. data/features/04_aruba_api/command/stop_single_command.feature +0 -132
  145. data/features/04_aruba_api/command/terminate_all_commands.feature +0 -57
  146. data/features/04_aruba_api/command/use_last_command_started.feature +0 -50
  147. data/features/04_aruba_api/command/use_last_command_stopped.feature +0 -89
  148. data/features/04_aruba_api/core/expand_path.feature +0 -88
  149. data/features/04_aruba_api/environment/append_environment_variable.feature +0 -128
  150. data/features/04_aruba_api/environment/delete_environment_variable.feature +0 -63
  151. data/features/04_aruba_api/environment/prepend_environment_variable.feature +0 -128
  152. data/features/04_aruba_api/environment/set_environment_variable.feature +0 -376
  153. data/features/04_aruba_api/filesystem/cd_to_directory.feature +0 -184
  154. data/features/04_aruba_api/filesystem/check_existence_file_or_directory.feature +0 -62
  155. data/features/04_aruba_api/filesystem/check_if_path_is_absolute.feature +0 -48
  156. data/features/04_aruba_api/filesystem/check_if_path_is_directory.feature +0 -53
  157. data/features/04_aruba_api/filesystem/check_if_path_is_file.feature +0 -54
  158. data/features/04_aruba_api/filesystem/check_if_path_is_relative.feature +0 -48
  159. data/features/04_aruba_api/filesystem/create_directory.feature +0 -57
  160. data/features/04_aruba_api/filesystem/move_file_or_directory.feature +0 -119
  161. data/features/04_aruba_api/filesystem/report_disk_usage.feature +0 -152
  162. data/features/04_aruba_api/filesystem/use_fixtures.feature +0 -104
  163. data/features/04_aruba_api/text/extract_text.feature +0 -87
  164. data/features/04_aruba_api/text/replace_variables.feature +0 -45
  165. data/features/04_aruba_api/text/sanitize_text.feature +0 -228
  166. data/features/04_aruba_api/text/unescape_text.feature +0 -127
  167. data/features/05_use_rspec_matchers/command/check_timeouts.feature +0 -48
  168. data/features/05_use_rspec_matchers/directory/have_sub_directory.feature +0 -110
  169. data/features/05_use_rspec_matchers/file/be_a_command_found_in_path.feature +0 -115
  170. data/features/05_use_rspec_matchers/file/be_existing_executable.feature +0 -88
  171. data/features/05_use_rspec_matchers/file/be_existing_file.feature +0 -82
  172. data/features/05_use_rspec_matchers/file/have_file_content.feature +0 -123
  173. data/features/05_use_rspec_matchers/file/have_file_size.feature +0 -107
  174. data/features/05_use_rspec_matchers/path/be_an_absolute_path.feature +0 -74
  175. data/features/05_use_rspec_matchers/path/be_an_existing_path.feature +0 -97
  176. data/features/05_use_rspec_matchers/path/have_permissions.feature +0 -118
  177. data/features/06_use_aruba_cli/initialize_project_with_aruba.feature +0 -79
  178. data/features/06_use_aruba_cli/open_console.feature +0 -55
  179. data/features/08_other/improve_performance_if_using_jruby.feature +0 -37
  180. data/features/step_definitions/hooks.rb +0 -146
  181. data/features/support/aruba.rb +0 -7
  182. data/features/support/env.rb +0 -33
  183. data/features/support/simplecov_setup.rb +0 -11
  184. data/lib/aruba/api/bundler.rb +0 -16
  185. data/lib/aruba/cucumber/deprecated.rb +0 -93
  186. data/lib/aruba/matchers/deprecated.rb +0 -1
  187. data/lib/aruba/matchers/deprecated/file.rb +0 -17
  188. data/lib/aruba/reporting.rb +0 -126
  189. data/script/bootstrap +0 -24
  190. data/script/test +0 -3
  191. data/spec/aruba/api/bundler_spec.rb +0 -15
  192. data/spec/aruba/api/commands_spec.rb +0 -30
  193. data/spec/aruba/api/core_spec.rb +0 -184
  194. data/spec/aruba/api/deprecated_spec.rb +0 -421
  195. data/spec/aruba/api/filesystem_spec.rb +0 -746
  196. data/spec/aruba/api/runtime_spec.rb +0 -28
  197. data/spec/aruba/api_spec.rb +0 -73
  198. data/spec/aruba/aruba_path_spec.rb +0 -103
  199. data/spec/aruba/basic_configuration_spec.rb +0 -5
  200. data/spec/aruba/configuration_spec.rb +0 -5
  201. data/spec/aruba/hooks_spec.rb +0 -17
  202. data/spec/aruba/in_config_wrapper_spec.rb +0 -25
  203. data/spec/aruba/jruby_spec.rb +0 -73
  204. data/spec/aruba/matchers/command/have_output_size_spec.rb +0 -25
  205. data/spec/aruba/matchers/command_spec.rb +0 -174
  206. data/spec/aruba/matchers/deprecated_spec.rb +0 -120
  207. data/spec/aruba/matchers/directory_spec.rb +0 -57
  208. data/spec/aruba/matchers/file_spec.rb +0 -208
  209. data/spec/aruba/matchers/path_spec.rb +0 -58
  210. data/spec/aruba/platform/simple_table_spec.rb +0 -23
  211. data/spec/aruba/platform/windows_environment_variables_spec.rb +0 -500
  212. data/spec/aruba/platforms/unix_command_string_spec.rb +0 -17
  213. data/spec/aruba/platforms/windows_command_string_spec.rb +0 -22
  214. data/spec/aruba/processes/spawn_process_spec.rb +0 -112
  215. data/spec/aruba/rspec_spec.rb +0 -15
  216. data/spec/aruba/runtime_spec.rb +0 -29
  217. data/spec/event_bus/name_resolver_spec.rb +0 -68
  218. data/spec/event_bus_spec.rb +0 -158
  219. data/spec/spec_helper.rb +0 -22
  220. data/spec/support/configs/.keep +0 -0
  221. data/spec/support/configs/aruba.rb +0 -5
  222. data/spec/support/configs/pry.rb +0 -3
  223. data/spec/support/configs/rspec.rb +0 -15
  224. data/spec/support/helpers/.keep +0 -0
  225. data/spec/support/helpers/reporting.rb +0 -44
  226. data/spec/support/matchers/.keep +0 -0
  227. data/spec/support/matchers/option.rb +0 -35
  228. data/spec/support/shared_contexts/.keep +0 -0
  229. data/spec/support/shared_contexts/aruba.rb +0 -49
  230. data/spec/support/shared_examples/.keep +0 -0
  231. data/spec/support/shared_examples/configuration.rb +0 -116
  232. data/spec/support/shared_examples/directory.rb +0 -7
  233. data/spec/support/shared_examples/file.rb +0 -7
  234. data/templates/css/console.css +0 -24
  235. data/templates/css/filesystem.css +0 -42
  236. data/templates/css/pygments-autumn.css +0 -59
  237. data/templates/files.erb +0 -14
  238. data/templates/images/LICENSE +0 -22
  239. data/templates/images/folder.png +0 -0
  240. data/templates/images/page_white.png +0 -0
  241. data/templates/images/page_white_gherkin.png +0 -0
  242. data/templates/images/page_white_ruby.png +0 -0
  243. data/templates/index.erb +0 -20
  244. data/templates/js/filesystem.js +0 -5
  245. data/templates/js/jquery-1.11.3.min.js +0 -5
  246. 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