aruba 0.14.9 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (309) 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 -179
  8. data/.rubocop_todo.yml +262 -0
  9. data/.simplecov +7 -5
  10. data/.travis.yml +54 -46
  11. data/.yardopts +3 -0
  12. data/CHANGELOG.md +613 -246
  13. data/CONTRIBUTING.md +247 -45
  14. data/Dockerfile +67 -0
  15. data/Gemfile +5 -96
  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 +42 -2
  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 +6 -0
  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 -6
  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/empty-app/lib/cli/app.rb +0 -6
  40. data/fixtures/getting-started-app/Gemfile +1 -1
  41. data/lib/aruba/api/commands.rb +109 -143
  42. data/lib/aruba/api/core.rb +57 -43
  43. data/lib/aruba/api/environment.rb +16 -7
  44. data/lib/aruba/api/filesystem.rb +42 -29
  45. data/lib/aruba/api/text.rb +3 -9
  46. data/lib/aruba/api.rb +6 -11
  47. data/lib/aruba/aruba_path.rb +27 -89
  48. data/lib/aruba/basic_configuration.rb +4 -24
  49. data/lib/aruba/cli.rb +1 -1
  50. data/lib/aruba/colorizer.rb +10 -99
  51. data/lib/aruba/command.rb +2 -0
  52. data/lib/aruba/config/jruby.rb +15 -5
  53. data/lib/aruba/config_wrapper.rb +1 -1
  54. data/lib/aruba/configuration.rb +92 -0
  55. data/lib/aruba/console/help.rb +1 -7
  56. data/lib/aruba/console.rb +5 -5
  57. data/lib/aruba/contracts/absolute_path.rb +2 -2
  58. data/lib/aruba/contracts/relative_path.rb +2 -2
  59. data/lib/aruba/cucumber/command.rb +171 -160
  60. data/lib/aruba/cucumber/environment.rb +1 -1
  61. data/lib/aruba/cucumber/file.rb +21 -35
  62. data/lib/aruba/cucumber/hooks.rb +17 -56
  63. data/lib/aruba/cucumber/testing_frameworks.rb +74 -50
  64. data/lib/aruba/cucumber.rb +0 -5
  65. data/lib/aruba/event_bus/name_resolver.rb +5 -16
  66. data/lib/aruba/hooks.rb +1 -1
  67. data/lib/aruba/in_config_wrapper.rb +5 -1
  68. data/lib/aruba/initializer.rb +36 -42
  69. data/lib/aruba/matchers/base/base_matcher.rb +2 -2
  70. data/lib/aruba/matchers/base/message_indenter.rb +19 -0
  71. data/lib/aruba/matchers/base/object_formatter.rb +2 -9
  72. data/lib/aruba/matchers/collection/include_an_object.rb +7 -9
  73. data/lib/aruba/matchers/command/be_successfully_executed.rb +6 -4
  74. data/lib/aruba/matchers/command/have_exit_status.rb +14 -4
  75. data/lib/aruba/matchers/command/have_finished_in_time.rb +3 -5
  76. data/lib/aruba/matchers/command/have_output.rb +10 -5
  77. data/lib/aruba/matchers/command/have_output_on_stderr.rb +2 -2
  78. data/lib/aruba/matchers/command/have_output_on_stdout.rb +2 -2
  79. data/lib/aruba/matchers/command/have_output_size.rb +2 -2
  80. data/lib/aruba/matchers/directory/be_an_existing_directory.rb +5 -7
  81. data/lib/aruba/matchers/directory/have_sub_directory.rb +4 -6
  82. data/lib/aruba/matchers/file/be_a_command_found_in_path.rb +2 -4
  83. data/lib/aruba/matchers/file/be_an_existing_executable.rb +4 -6
  84. data/lib/aruba/matchers/file/be_an_existing_file.rb +5 -7
  85. data/lib/aruba/matchers/file/have_file_content.rb +4 -4
  86. data/lib/aruba/matchers/file/have_file_size.rb +6 -8
  87. data/lib/aruba/matchers/file/have_same_file_content.rb +5 -8
  88. data/lib/aruba/matchers/path/a_path_matching_pattern.rb +2 -4
  89. data/lib/aruba/matchers/path/be_an_absolute_path.rb +3 -5
  90. data/lib/aruba/matchers/path/be_an_existing_path.rb +4 -6
  91. data/lib/aruba/matchers/path/have_permissions.rb +6 -8
  92. data/lib/aruba/matchers/string/include_output_string.rb +8 -10
  93. data/lib/aruba/matchers/string/match_output_string.rb +9 -11
  94. data/lib/aruba/matchers/string/output_string_eq.rb +7 -9
  95. data/lib/aruba/platform.rb +0 -8
  96. data/lib/aruba/platforms/announcer.rb +42 -79
  97. data/lib/aruba/platforms/aruba_file_creator.rb +2 -6
  98. data/lib/aruba/platforms/aruba_fixed_size_file_creator.rb +2 -2
  99. data/lib/aruba/platforms/aruba_logger.rb +23 -7
  100. data/lib/aruba/platforms/command_monitor.rb +12 -107
  101. data/lib/aruba/platforms/determine_disk_usage.rb +56 -14
  102. data/lib/aruba/platforms/filesystem_status.rb +10 -14
  103. data/lib/aruba/platforms/local_environment.rb +2 -2
  104. data/lib/aruba/platforms/simple_table.rb +3 -11
  105. data/lib/aruba/platforms/unix_command_string.rb +7 -11
  106. data/lib/aruba/platforms/unix_environment_variables.rb +18 -27
  107. data/lib/aruba/platforms/unix_platform.rb +20 -51
  108. data/lib/aruba/platforms/unix_which.rb +2 -1
  109. data/lib/aruba/platforms/windows_command_string.rb +15 -10
  110. data/lib/aruba/platforms/windows_environment_variables.rb +43 -44
  111. data/lib/aruba/platforms/windows_platform.rb +4 -0
  112. data/lib/aruba/platforms/windows_which.rb +4 -3
  113. data/lib/aruba/processes/basic_process.rb +28 -30
  114. data/lib/aruba/processes/debug_process.rb +12 -3
  115. data/lib/aruba/processes/in_process.rb +17 -8
  116. data/lib/aruba/processes/spawn_process.rb +57 -46
  117. data/lib/aruba/rspec.rb +14 -36
  118. data/lib/aruba/runtime.rb +3 -6
  119. data/lib/aruba/setup.rb +6 -6
  120. data/lib/aruba/tasks/docker_helpers.rb +154 -0
  121. data/lib/aruba/version.rb +1 -1
  122. metadata +191 -244
  123. data/features/.nav +0 -72
  124. data/features/api/command/find_command.feature +0 -83
  125. data/features/api/command/last_command_started.feature +0 -50
  126. data/features/api/command/last_command_stopped.feature +0 -89
  127. data/features/api/command/run.feature +0 -414
  128. data/features/api/command/run_simple.feature +0 -242
  129. data/features/api/command/send_signal.feature +0 -53
  130. data/features/api/command/stderr.feature +0 -46
  131. data/features/api/command/stdout.feature +0 -46
  132. data/features/api/command/stop.feature +0 -131
  133. data/features/api/command/stop_all_commands.feature +0 -53
  134. data/features/api/command/terminate_all_commands.feature +0 -53
  135. data/features/api/command/which.feature +0 -37
  136. data/features/api/core/expand_path.feature +0 -88
  137. data/features/api/environment/append_environment_variable.feature +0 -128
  138. data/features/api/environment/delete_environment_variable.feature +0 -63
  139. data/features/api/environment/prepend_environment_variable.feature +0 -128
  140. data/features/api/environment/set_environment_variable.feature +0 -376
  141. data/features/api/filesystem/cd.feature +0 -184
  142. data/features/api/filesystem/create_directory.feature +0 -57
  143. data/features/api/filesystem/disk_usage.feature +0 -152
  144. data/features/api/filesystem/does_exist.feature +0 -62
  145. data/features/api/filesystem/fixtures.feature +0 -104
  146. data/features/api/filesystem/is_absolute.feature +0 -48
  147. data/features/api/filesystem/is_directory.feature +0 -53
  148. data/features/api/filesystem/is_file.feature +0 -54
  149. data/features/api/filesystem/is_relative.feature +0 -48
  150. data/features/api/filesystem/move.feature +0 -119
  151. data/features/api/text/extract_text.feature +0 -87
  152. data/features/api/text/replace_variables.feature +0 -45
  153. data/features/api/text/sanitize_text.feature +0 -228
  154. data/features/api/text/unescape_text.feature +0 -127
  155. data/features/cli/console.feature +0 -52
  156. data/features/cli/init.feature +0 -79
  157. data/features/configuration/activate_announcer_on_command_failure.feature +0 -38
  158. data/features/configuration/command_runtime_environment.feature +0 -129
  159. data/features/configuration/console_history_file.feature +0 -38
  160. data/features/configuration/exit_timeout.feature +0 -52
  161. data/features/configuration/fixtures_directories.feature +0 -38
  162. data/features/configuration/fixtures_path_prefix.feature +0 -23
  163. data/features/configuration/home_directory.feature +0 -80
  164. data/features/configuration/io_timeout.feature +0 -30
  165. data/features/configuration/keep_ansi.feature +0 -30
  166. data/features/configuration/log_level.feature +0 -38
  167. data/features/configuration/physical_block_size.feature +0 -53
  168. data/features/configuration/remove_ansi_escape_sequences.feature +0 -38
  169. data/features/configuration/root_directory.feature +0 -30
  170. data/features/configuration/startup_wait_time.feature +0 -48
  171. data/features/configuration/usage.feature +0 -159
  172. data/features/configuration/working_directory.feature +0 -33
  173. data/features/development/build.feature +0 -15
  174. data/features/getting_started/cleanup.feature +0 -58
  175. data/features/getting_started/run_commands.feature +0 -187
  176. data/features/getting_started/supported_testing_frameworks.feature +0 -104
  177. data/features/getting_started/writing_good_feature_tests.feature +0 -38
  178. data/features/hooks/after/command.feature +0 -46
  179. data/features/hooks/before/command.feature +0 -75
  180. data/features/matchers/collection/include_an_object.feature +0 -72
  181. data/features/matchers/directory/have_sub_directory.feature +0 -110
  182. data/features/matchers/file/be_a_command_found_in_path.feature +0 -115
  183. data/features/matchers/file/be_existing_executable.feature +0 -88
  184. data/features/matchers/file/be_existing_file.feature +0 -82
  185. data/features/matchers/file/have_file_content.feature +0 -123
  186. data/features/matchers/file/have_file_size.feature +0 -107
  187. data/features/matchers/path/be_an_absolute_path.feature +0 -74
  188. data/features/matchers/path/be_an_existing_path.feature +0 -97
  189. data/features/matchers/path/have_permissions.feature +0 -118
  190. data/features/matchers/timeouts.feature +0 -48
  191. data/features/platforms/jruby.feature +0 -14
  192. data/features/rspec/integration.feature +0 -179
  193. data/features/step_definitions/aruba_dev_steps.rb +0 -56
  194. data/features/step_definitions/hooks.rb +0 -156
  195. data/features/steps/command/debug.feature +0 -92
  196. data/features/steps/command/exit_statuses.feature +0 -136
  197. data/features/steps/command/in_process.feature +0 -485
  198. data/features/steps/command/interactive.feature +0 -90
  199. data/features/steps/command/output.feature +0 -567
  200. data/features/steps/command/run.feature +0 -66
  201. data/features/steps/command/send_signal.feature +0 -104
  202. data/features/steps/command/shell.feature +0 -155
  203. data/features/steps/command/stderr.feature +0 -68
  204. data/features/steps/command/stdout.feature +0 -109
  205. data/features/steps/command/stop.feature +0 -313
  206. data/features/steps/core/announce.feature +0 -283
  207. data/features/steps/environment/append_environment_variable.feature +0 -52
  208. data/features/steps/environment/disable_bunder.feature +0 -18
  209. data/features/steps/environment/home_variable.feature +0 -62
  210. data/features/steps/environment/prepend_environment_variable.feature +0 -52
  211. data/features/steps/environment/set_environment_variable.feature +0 -49
  212. data/features/steps/filesystem/append_to_file.feature +0 -45
  213. data/features/steps/filesystem/cd_to_directory.feature +0 -33
  214. data/features/steps/filesystem/check_file_content.feature +0 -61
  215. data/features/steps/filesystem/check_permissions_of_file.feature +0 -39
  216. data/features/steps/filesystem/compare_files.feature +0 -42
  217. data/features/steps/filesystem/copy.feature +0 -45
  218. data/features/steps/filesystem/create_directory.feature +0 -57
  219. data/features/steps/filesystem/create_file.feature +0 -76
  220. data/features/steps/filesystem/existence_of_directory.feature +0 -57
  221. data/features/steps/filesystem/existence_of_file.feature +0 -43
  222. data/features/steps/filesystem/file_content.feature +0 -86
  223. data/features/steps/filesystem/fixtures.feature +0 -64
  224. data/features/steps/filesystem/move.feature +0 -45
  225. data/features/steps/filesystem/non_existence_of_directory.feature +0 -69
  226. data/features/steps/filesystem/non_existence_of_file.feature +0 -80
  227. data/features/steps/filesystem/overwrite_file.feature +0 -72
  228. data/features/steps/filesystem/remove_directory.feature +0 -38
  229. data/features/steps/filesystem/remove_file.feature +0 -38
  230. data/features/steps/filesystem/use_fixture.feature +0 -77
  231. data/features/steps/overview.feature +0 -25
  232. data/features/support/aruba.rb +0 -7
  233. data/features/support/env.rb +0 -33
  234. data/features/support/jruby.rb +0 -5
  235. data/features/support/simplecov_setup.rb +0 -8
  236. data/fixtures/cli-app/bin/cli +0 -6
  237. data/fixtures/spawn_process/stderr.sh +0 -3
  238. data/lib/aruba/api/deprecated.rb +0 -1234
  239. data/lib/aruba/config.rb +0 -107
  240. data/lib/aruba/cucumber/core.rb +0 -5
  241. data/lib/aruba/cucumber/rvm.rb +0 -3
  242. data/lib/aruba/in_process.rb +0 -14
  243. data/lib/aruba/jruby.rb +0 -4
  244. data/lib/aruba/matchers/deprecated/file.rb +0 -17
  245. data/lib/aruba/matchers/deprecated.rb +0 -1
  246. data/lib/aruba/matchers/path/match_path_pattern.rb +0 -41
  247. data/lib/aruba/matchers/rspec_matcher_include_regexp.rb +0 -25
  248. data/lib/aruba/platforms/disk_usage_calculator.rb +0 -20
  249. data/lib/aruba/reporting.rb +0 -126
  250. data/lib/aruba/spawn_process.rb +0 -11
  251. data/script/bootstrap +0 -28
  252. data/script/console +0 -16
  253. data/script/test +0 -3
  254. data/spec/aruba/api/bundler_spec.rb +0 -15
  255. data/spec/aruba/api/deprecated_spec.rb +0 -308
  256. data/spec/aruba/api/environment/restore_env_spec.rb +0 -86
  257. data/spec/aruba/api/environment/set_env_spec.rb +0 -46
  258. data/spec/aruba/api/filesystem/file_size_spec.rb +0 -28
  259. data/spec/aruba/api/runtime_spec.rb +0 -28
  260. data/spec/aruba/api_spec.rb +0 -981
  261. data/spec/aruba/aruba_path_spec.rb +0 -103
  262. data/spec/aruba/basic_configuration_spec.rb +0 -5
  263. data/spec/aruba/configuration_spec.rb +0 -5
  264. data/spec/aruba/hooks_spec.rb +0 -17
  265. data/spec/aruba/in_config_wrapper_spec.rb +0 -25
  266. data/spec/aruba/jruby_spec.rb +0 -55
  267. data/spec/aruba/matchers/command/have_output_size_spec.rb +0 -25
  268. data/spec/aruba/matchers/command_spec.rb +0 -174
  269. data/spec/aruba/matchers/deprecated_spec.rb +0 -120
  270. data/spec/aruba/matchers/directory_spec.rb +0 -57
  271. data/spec/aruba/matchers/file_spec.rb +0 -208
  272. data/spec/aruba/matchers/path_spec.rb +0 -58
  273. data/spec/aruba/platform/simple_table_spec.rb +0 -23
  274. data/spec/aruba/platform/windows_environment_variables_spec.rb +0 -500
  275. data/spec/aruba/platforms/unix_command_string_spec.rb +0 -17
  276. data/spec/aruba/platforms/windows_command_string_spec.rb +0 -22
  277. data/spec/aruba/rspec_spec.rb +0 -15
  278. data/spec/aruba/runtime_spec.rb +0 -29
  279. data/spec/aruba/spawn_process_spec.rb +0 -96
  280. data/spec/event_bus/name_resolver_spec.rb +0 -68
  281. data/spec/event_bus_spec.rb +0 -158
  282. data/spec/spec_helper.rb +0 -20
  283. data/spec/support/configs/.keep +0 -0
  284. data/spec/support/configs/aruba.rb +0 -5
  285. data/spec/support/configs/pry.rb +0 -3
  286. data/spec/support/configs/rspec.rb +0 -15
  287. data/spec/support/helpers/.keep +0 -0
  288. data/spec/support/helpers/reporting.rb +0 -44
  289. data/spec/support/matchers/.keep +0 -0
  290. data/spec/support/matchers/option.rb +0 -35
  291. data/spec/support/shared_contexts/.keep +0 -0
  292. data/spec/support/shared_contexts/aruba.rb +0 -49
  293. data/spec/support/shared_examples/.keep +0 -0
  294. data/spec/support/shared_examples/configuration.rb +0 -116
  295. data/spec/support/shared_examples/directory.rb +0 -7
  296. data/spec/support/shared_examples/file.rb +0 -7
  297. data/templates/css/console.css +0 -24
  298. data/templates/css/filesystem.css +0 -42
  299. data/templates/css/pygments-autumn.css +0 -59
  300. data/templates/files.erb +0 -14
  301. data/templates/images/LICENSE +0 -22
  302. data/templates/images/folder.png +0 -0
  303. data/templates/images/page_white.png +0 -0
  304. data/templates/images/page_white_gherkin.png +0 -0
  305. data/templates/images/page_white_ruby.png +0 -0
  306. data/templates/index.erb +0 -20
  307. data/templates/js/filesystem.js +0 -5
  308. data/templates/js/jquery-1.11.3.min.js +0 -5
  309. data/templates/main.erb +0 -34
@@ -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,55 +0,0 @@
1
- require 'spec_helper'
2
- require 'aruba/api'
3
-
4
- describe "Aruba JRuby Startup Helper" do
5
- before(:all) do
6
- @fake_env = ENV.clone
7
- end
8
-
9
- before :each do
10
- Aruba.config.reset
11
-
12
- # Define before_cmd-hook
13
- load 'aruba/config/jruby.rb'
14
- end
15
-
16
- before(:each) do
17
- @fake_env['JRUBY_OPTS'] = "--1.9"
18
- @fake_env['JAVA_OPTS'] = "-Xdebug"
19
-
20
- stub_const('ENV', @fake_env)
21
- end
22
-
23
- context 'when some mri ruby' do
24
- before :each do
25
- stub_const('RUBY_PLATFORM', 'x86_64-chocolate')
26
- end
27
-
28
- before :each do
29
- Aruba.config.before :command, self
30
- end
31
-
32
- it { expect(ENV['JRUBY_OPTS']).to eq '--1.9' }
33
- it { expect(ENV['JAVA_OPTS']).to eq '-Xdebug' }
34
- end
35
-
36
- context 'when jruby ruby' do
37
- before :each do
38
- stub_const('RUBY_PLATFORM', 'java')
39
- end
40
-
41
- before :each do
42
- rb_config = double('rb_config')
43
- allow(rb_config).to receive(:[]).and_return('solaris')
44
-
45
- stub_const 'RbConfig::CONFIG', rb_config
46
- end
47
-
48
- before :each do
49
- Aruba.config.before :command, self
50
- end
51
-
52
- it { expect(ENV['JRUBY_OPTS']).to eq '--dev -X-C --1.9' }
53
- it { expect(ENV['JAVA_OPTS']).to eq '-d32 -Xdebug' }
54
- end
55
- 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
@@ -1,57 +0,0 @@
1
- require 'spec_helper'
2
- require 'aruba/matchers/directory'
3
- require 'fileutils'
4
-
5
- RSpec.describe 'Directory Matchers' do
6
- include_context 'uses aruba API'
7
- include_context 'needs to expand paths'
8
-
9
- describe 'to_be_an_existing_directory' do
10
- let(:name) { 'test.d' }
11
- let(:path) { @aruba.expand_path(name) }
12
-
13
- context 'when directory exists' do
14
- before :each do
15
- FileUtils.mkdir_p path
16
- end
17
-
18
- it { expect(name).to be_an_existing_directory }
19
- end
20
-
21
- context 'when directory does not exist' do
22
- it { expect(name).not_to be_an_existing_directory }
23
- end
24
- end
25
-
26
- describe 'to_have_sub_directory' do
27
- let(:name) { 'test.d' }
28
- let(:path) { @aruba.expand_path(name) }
29
- let(:content) { %w(subdir.1.d subdir.2.d) }
30
-
31
- context 'when directory exists' do
32
- before :each do
33
- FileUtils.mkdir_p path
34
- end
35
-
36
- before :each do
37
- Array(content).each { |p| Dir.mkdir File.join(path, p) }
38
- end
39
-
40
- context 'when single directory' do
41
- it { expect(name).to have_sub_directory('subdir.1.d') }
42
- end
43
-
44
- context 'when multiple directories' do
45
- it { expect(name).to have_sub_directory(['subdir.1.d', 'subdir.2.d']) }
46
- end
47
-
48
- context 'when non existing directory' do
49
- it { expect(name).not_to have_sub_directory('subdir.3.d') }
50
- end
51
- end
52
-
53
- context 'when directory does not exist' do
54
- it { expect(name).not_to have_sub_directory('subdir') }
55
- end
56
- end
57
- end