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,308 +0,0 @@
1
- require 'spec_helper'
2
-
3
- RSpec.describe 'Deprecated API' do
4
- include_context 'uses aruba API'
5
-
6
- around do |example|
7
- Aruba.platform.with_environment do
8
- example.run
9
- end
10
- end
11
-
12
- before do
13
- allow(Aruba.platform).to receive(:deprecated)
14
- end
15
-
16
- describe "#assert_not_matching_output" do
17
- before(:each){ @aruba.run_simple("echo foo", false) }
18
- after(:each) { @aruba.all_commands.each(&:stop) }
19
-
20
- it "passes when the output doesn't match a regexp" do
21
- @aruba.assert_not_matching_output "bar", @aruba.all_output
22
- end
23
- it "fails when the output does match a regexp" do
24
- expect do
25
- @aruba.assert_not_matching_output "foo", @aruba.all_output
26
- end . to raise_error RSpec::Expectations::ExpectationNotMetError
27
- end
28
- end
29
-
30
- describe '#filesystem_permissions' do
31
- def actual_permissions
32
- format( "%o" , File::Stat.new(file_path).mode )[-4,4]
33
- end
34
-
35
- let(:file_name) { @file_name }
36
- let(:file_path) { @file_path }
37
- let(:permissions) { '0655' }
38
-
39
- before :each do
40
- @aruba.set_environment_variable 'HOME', File.expand_path(@aruba.aruba.current_directory)
41
- end
42
-
43
- before(:each) do
44
- File.open(file_path, 'w') { |f| f << "" }
45
- end
46
-
47
- before(:each) do
48
- @aruba.filesystem_permissions(permissions, file_name)
49
- end
50
-
51
- context 'when file exists' do
52
- context 'and permissions are given as string' do
53
- it { expect(actual_permissions).to eq('0655') }
54
- end
55
-
56
- context 'and permissions are given as octal number' do
57
- let(:permissions) { 0o655 }
58
- it { expect(actual_permissions).to eq('0655') }
59
- end
60
-
61
- context 'and path has ~ in it' do
62
- let(:path) { random_string }
63
- let(:file_name) { File.join('~', path) }
64
- let(:file_path) { File.join(@aruba.aruba.current_directory, path) }
65
-
66
- it { expect(actual_permissions).to eq('0655') }
67
- end
68
- end
69
- end
70
-
71
- describe '#check_filesystem_permissions' do
72
- let(:file_name) { @file_name }
73
- let(:file_path) { @file_path }
74
-
75
- let(:permissions) { '0655' }
76
-
77
- before :each do
78
- @aruba.set_environment_variable 'HOME', File.expand_path(@aruba.aruba.current_directory)
79
- end
80
-
81
- before(:each) do
82
- File.open(file_path, 'w') { |f| f << "" }
83
- end
84
-
85
- before(:each) do
86
- @aruba.filesystem_permissions(permissions, file_name)
87
- end
88
-
89
- context 'when file exists' do
90
- context 'and should have permissions' do
91
- context 'and permissions are given as string' do
92
- it { @aruba.check_filesystem_permissions(permissions, file_name, true) }
93
- end
94
-
95
- context 'and permissions are given as octal number' do
96
- let(:permissions) { 0o666 }
97
-
98
- it { @aruba.check_filesystem_permissions(permissions, file_name, true) }
99
- end
100
-
101
- context 'and path includes ~' do
102
- let(:string) { random_string }
103
- let(:file_name) { File.join('~', string) }
104
- let(:file_path) { File.join(@aruba.aruba.current_directory, string) }
105
-
106
- it { @aruba.check_filesystem_permissions(permissions, file_name, true) }
107
- end
108
-
109
- context 'but fails because the permissions are different' do
110
- let(:expected_permissions) { 0o666 }
111
-
112
- it { expect { @aruba.check_filesystem_permissions(expected_permissions, file_name, true) }.to raise_error RSpec::Expectations::ExpectationNotMetError }
113
- end
114
- end
115
-
116
- context 'and should not have permissions' do
117
- context 'and succeeds when the difference is expected and permissions are different' do
118
- let(:different_permissions) { 0o666 }
119
-
120
- it { @aruba.check_filesystem_permissions(different_permissions, file_name, false) }
121
- end
122
-
123
- context 'and fails because the permissions are the same although they should be different' do
124
- let(:different_permissions) { 0o655 }
125
-
126
- it { expect { @aruba.check_filesystem_permissions(different_permissions, file_name, false) }.to raise_error RSpec::Expectations::ExpectationNotMetError }
127
- end
128
- end
129
- end
130
- end
131
-
132
- context '#check_file_presence' do
133
- before(:each) { File.open(@file_path, 'w') { |f| f << "" } }
134
-
135
- it "should check existence using plain match" do
136
- file_name = 'nested/dir/hello_world.txt'
137
- file_path = File.join(@aruba.aruba.current_directory, file_name)
138
-
139
- Aruba.platform.mkdir(File.dirname(file_path))
140
- File.open(file_path, 'w') { |f| f << "" }
141
-
142
- @aruba.check_file_presence(file_name)
143
- @aruba.check_file_presence([file_name])
144
- @aruba.check_file_presence([file_name], true)
145
- @aruba.check_file_presence(['asdf'], false)
146
- end
147
-
148
- it "should check existence using regex" do
149
- file_name = 'nested/dir/hello_world.txt'
150
- file_path = File.join(@aruba.aruba.current_directory, file_name)
151
-
152
- Aruba.platform.mkdir(File.dirname(file_path))
153
- File.open(file_path, 'w') { |f| f << "" }
154
-
155
- @aruba.check_file_presence([ /test123/ ], false )
156
- @aruba.check_file_presence([ /hello_world.txt$/ ], true )
157
- @aruba.check_file_presence([ /dir/ ], true )
158
- @aruba.check_file_presence([ %r{nested/.+/} ], true )
159
- end
160
-
161
- it "is no problem to mix both" do
162
- file_name = 'nested/dir/hello_world.txt'
163
- file_path = File.join(@aruba.aruba.current_directory, file_name)
164
-
165
- Aruba.platform.mkdir(File.dirname(file_path))
166
- File.open(file_path, 'w') { |f| f << "" }
167
-
168
- @aruba.check_file_presence([ file_name, /nested/ ], true )
169
- @aruba.check_file_presence([ /test123/, 'asdf' ], false )
170
- end
171
-
172
- it "works with ~ in path name" do
173
- file_path = File.join('~', random_string)
174
-
175
- @aruba.with_environment 'HOME' => File.expand_path(@aruba.aruba.current_directory) do
176
- Aruba.platform.mkdir(File.dirname(File.expand_path(file_path)))
177
- File.open(File.expand_path(file_path), 'w') { |f| f << "" }
178
-
179
- @aruba.check_file_presence( [ file_path ], true )
180
- end
181
- end
182
- end
183
-
184
- context "check file content" do
185
- before :example do
186
- @aruba.write_file(@file_name, "foo bar baz")
187
- end
188
-
189
- describe "#check_binary_file_content" do
190
- let(:file_name) { @file_name }
191
- let(:file_path) { @file_path }
192
-
193
- let(:reference_file) { 'fixture' }
194
- let(:reference_file_content) { 'foo bar baz' }
195
-
196
- before :each do
197
- @aruba.write_file(reference_file, reference_file_content)
198
- end
199
-
200
- context 'when files are the same' do
201
- context 'and this is expected' do
202
- it { @aruba.check_binary_file_content(file_name, reference_file) }
203
- it { @aruba.check_binary_file_content(file_name, reference_file, true) }
204
- end
205
-
206
- context 'and this is not expected' do
207
- it { expect { @aruba.check_binary_file_content(file_name, reference_file, false) }.to raise_error RSpec::Expectations::ExpectationNotMetError }
208
- end
209
- end
210
-
211
- context 'when files are not the same' do
212
- let(:reference_file_content) { 'bar' }
213
-
214
- context 'and this is expected' do
215
- it { @aruba.check_binary_file_content(file_name, reference_file, false) }
216
- end
217
-
218
- context 'and this is not expected' do
219
- it { expect { @aruba.check_binary_file_content(file_name, reference_file, true) }.to raise_error RSpec::Expectations::ExpectationNotMetError }
220
- end
221
- end
222
- end
223
-
224
- context "#check_file_content" do
225
- context "with regexp" do
226
- let(:matching_content){/bar/}
227
- let(:non_matching_content){/nothing/}
228
- it "succeeds if file content matches" do
229
- @aruba.check_file_content(@file_name, matching_content)
230
- @aruba.check_file_content(@file_name, matching_content, true)
231
- end
232
-
233
- it "succeeds if file content does not match" do
234
- @aruba.check_file_content(@file_name, non_matching_content, false)
235
- end
236
-
237
- it "works with ~ in path name" do
238
- file_path = File.join('~', random_string)
239
-
240
- @aruba.with_environment 'HOME' => File.expand_path(aruba.current_directory) do
241
- @aruba.write_file(file_path, "foo bar baz")
242
- @aruba.check_file_content(file_path, non_matching_content, false)
243
- end
244
- end
245
- end
246
- context "with string" do
247
- let(:matching_content){"foo bar baz"}
248
- let(:non_matching_content){"bar"}
249
- it "succeeds if file content matches" do
250
- @aruba.check_file_content(@file_name, matching_content)
251
- @aruba.check_file_content(@file_name, matching_content, true)
252
- end
253
-
254
- it "succeeds if file content does not match" do
255
- @aruba.check_file_content(@file_name, non_matching_content, false)
256
- end
257
-
258
- it "works with ~ in path name" do
259
- file_path = File.join('~', random_string)
260
-
261
- @aruba.with_environment 'HOME' => File.expand_path(aruba.current_directory) do
262
- @aruba.write_file(file_path, "foo bar baz")
263
- @aruba.check_file_content(file_path, non_matching_content, false)
264
- end
265
- end
266
- end
267
- end
268
- end
269
-
270
- context '#check_file_size' do
271
- it "should check an existing file size" do
272
- @aruba.write_fixed_size_file(@file_name, @file_size)
273
- @aruba.check_file_size([[@file_name, @file_size]])
274
- end
275
-
276
- it "should check an existing file size and fail" do
277
- @aruba.write_fixed_size_file(@file_name, @file_size)
278
- expect { @aruba.check_file_size([[@file_name, @file_size + 1]]) }.to raise_error RSpec::Expectations::ExpectationNotMetError
279
- end
280
-
281
- it "works with ~ in path name" do
282
- file_path = File.join('~', random_string)
283
-
284
- @aruba.with_environment 'HOME' => File.expand_path(aruba.current_directory) do
285
- @aruba.write_fixed_size_file(file_path, @file_size)
286
- @aruba.check_file_size([[file_path, @file_size]])
287
- end
288
- end
289
-
290
- it "should check an existing file size and fail" do
291
- @aruba.write_fixed_size_file(@file_name, @file_size)
292
- expect { @aruba.check_file_size([[@file_name, @file_size + 1]]) }.to raise_error RSpec::Expectations::ExpectationNotMetError
293
- end
294
- end
295
-
296
- describe "#get_process" do
297
- before(:each){@aruba.run_simple "true"}
298
- after(:each) { @aruba.all_commands.each(&:stop) }
299
-
300
- it "returns a process" do
301
- expect(@aruba.get_process("true")).not_to be(nil)
302
- end
303
-
304
- it "raises a descriptive exception" do
305
- expect { @aruba.get_process("false") }.to raise_error Aruba::CommandNotFoundError, "No command named 'false' has been started"
306
- end
307
- end
308
- end
@@ -1,86 +0,0 @@
1
- require 'spec_helper'
2
-
3
- RSpec.describe 'Command Environment' do
4
- include_context 'uses aruba API'
5
-
6
- around do |example|
7
- Aruba.platform.with_environment do
8
- example.run
9
- end
10
- end
11
-
12
- before do
13
- allow(Aruba.platform).to receive(:deprecated)
14
- end
15
-
16
- describe '#restore_env' do
17
- context 'when non-existing variable' do
18
- before :each do
19
- ENV.delete 'LONG_LONG_ENV_VARIABLE'
20
- end
21
-
22
- context 'when set single' do
23
- before :each do
24
- @aruba.set_env 'LONG_LONG_ENV_VARIABLE', '1'
25
- @aruba.restore_env
26
- end
27
-
28
- it { expect(ENV).not_to be_key 'LONG_LONG_ENV_VARIABLE' }
29
- end
30
-
31
- context 'when set multiple times' do
32
- before :each do
33
- @aruba.set_env 'LONG_LONG_ENV_VARIABLE', '1'
34
- @aruba.set_env 'LONG_LONG_ENV_VARIABLE', '2'
35
- @aruba.set_env 'LONG_LONG_ENV_VARIABLE', '3'
36
- @aruba.restore_env
37
- end
38
-
39
- it { expect(ENV).not_to be_key 'LONG_LONG_ENV_VARIABLE' }
40
- end
41
- end
42
-
43
- context 'when existing variable from outer context' do
44
- before :each do
45
- ENV['LONG_LONG_ENV_VARIABLE'] = '0'
46
- end
47
-
48
- context 'when set single time' do
49
- before :each do
50
- @aruba.set_env 'LONG_LONG_ENV_VARIABLE', '1'
51
- @aruba.restore_env
52
- end
53
-
54
- it { expect(ENV['LONG_LONG_ENV_VARIABLE']).to eq '0' }
55
- end
56
-
57
- context 'when set multiple times' do
58
- before :each do
59
- @aruba.set_env 'LONG_LONG_ENV_VARIABLE', '1'
60
- @aruba.set_env 'LONG_LONG_ENV_VARIABLE', '2'
61
- @aruba.set_env 'LONG_LONG_ENV_VARIABLE', '3'
62
- @aruba.restore_env
63
- end
64
-
65
- it { expect(ENV['LONG_LONG_ENV_VARIABLE']).to eq '0' }
66
- end
67
- end
68
- end
69
-
70
- describe "#restore_env" do
71
- after(:each) { @aruba.all_commands.each(&:stop) }
72
- it "restores environment variable" do
73
- @aruba.set_env 'LONG_LONG_ENV_VARIABLE', 'true'
74
- @aruba.restore_env
75
- @aruba.run "env"
76
- expect(@aruba.all_output).not_to include("LONG_LONG_ENV_VARIABLE")
77
- end
78
- it "restores environment variable that has been set multiple times" do
79
- @aruba.set_env 'LONG_LONG_ENV_VARIABLE', 'true'
80
- @aruba.set_env 'LONG_LONG_ENV_VARIABLE', 'false'
81
- @aruba.restore_env
82
- @aruba.run "env"
83
- expect(@aruba.all_output).not_to include("LONG_LONG_ENV_VARIABLE")
84
- end
85
- end
86
- end
@@ -1,46 +0,0 @@
1
- require 'spec_helper'
2
-
3
- RSpec.describe 'Command Environment' do
4
- include_context 'uses aruba API'
5
-
6
- around do |example|
7
- Aruba.platform.with_environment do
8
- example.run
9
- end
10
- end
11
-
12
- before do
13
- allow(Aruba.platform).to receive(:deprecated)
14
- end
15
-
16
- describe '#set_env' do
17
- context 'when non-existing variable' do
18
- before :each do
19
- ENV.delete('LONG_LONG_ENV_VARIABLE')
20
- end
21
-
22
- context 'when string' do
23
- before :each do
24
- @aruba.set_env 'LONG_LONG_ENV_VARIABLE', '1'
25
- end
26
-
27
- it { expect(ENV['LONG_LONG_ENV_VARIABLE']).to eq '1' }
28
- end
29
- end
30
-
31
- context 'when existing variable set by aruba' do
32
- before :each do
33
- @aruba.set_env 'LONG_LONG_ENV_VARIABLE', '1'
34
- @aruba.set_env 'LONG_LONG_ENV_VARIABLE', '2'
35
- end
36
-
37
- it { expect(ENV['LONG_LONG_ENV_VARIABLE']).to eq '2' }
38
- end
39
-
40
- context 'when existing variable by outer context' do
41
- before :each do
42
- ENV['LONG_LONG_ENV_VARIABLE'] = '1'
43
- end
44
- end
45
- end
46
- end
@@ -1,28 +0,0 @@
1
- require 'spec_helper'
2
-
3
- RSpec.describe 'Filesystem Api' do
4
- include_context 'uses aruba API'
5
-
6
- def expand_path(*args)
7
- @aruba.expand_path(*args)
8
- end
9
-
10
- describe '#file_size' do
11
- let(:name) { @file_name }
12
- let(:path) { @file_path }
13
- let(:size) { file_size(name) }
14
-
15
- context 'when file exist' do
16
- before :each do
17
- File.open(path, 'w') { |f| f.print 'a' }
18
- end
19
-
20
- it { expect(size).to eq 1 }
21
- end
22
-
23
- context 'when file does not exist' do
24
- let(:name) { 'non_existing_file' }
25
- it { expect { size }.to raise_error RSpec::Expectations::ExpectationNotMetError }
26
- end
27
- end
28
- end
@@ -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