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,88 +0,0 @@
1
- Feature: Expand paths with aruba
2
-
3
- There are quite a few uses cases why you want to expand a path. `aruba` helps
4
- you with this by providing you the `expand_path`-method. This method expands
5
- paths relative to the `aruba.current_directory`-directory.
6
-
7
- Background:
8
- Given I use the fixture "cli-app"
9
-
10
- Scenario: Use relative path
11
- Given a file named "spec/expand_path_spec.rb" with:
12
- """ruby
13
- require 'spec_helper'
14
-
15
- RSpec.describe 'Expand path', :type => :aruba do
16
- let(:path) { 'path/to/dir' }
17
- it { expect(expand_path(path)).to eq File.join(aruba.root_directory, aruba.current_directory, path) }
18
- end
19
- """
20
- When I run `rspec`
21
- Then the specs should all pass
22
-
23
- Scenario: Change directory using cd
24
- Given a file named "spec/expand_path_spec.rb" with:
25
- """ruby
26
- require 'spec_helper'
27
-
28
- RSpec.describe 'Expand path', :type => :aruba do
29
- let(:path) { 'path/to/dir' }
30
- let(:directory) { 'dir1' }
31
-
32
- before(:each) { create_directory(directory) }
33
- before(:each) { cd(directory) }
34
-
35
- it { expect(expand_path(path)).to eq File.join(aruba.root_directory, aruba.current_directory, path) }
36
- end
37
- """
38
- When I run `rspec`
39
- Then the specs should all pass
40
-
41
- Scenario: Warn if aruba's working directory does not exist
42
- Given a file named "spec/expand_path_spec.rb" with:
43
- """ruby
44
- require 'spec_helper'
45
-
46
- RSpec.describe 'Expand path', :type => :aruba do
47
- before(:each) { remove('.') }
48
-
49
- let(:path) { 'path/to/dir' }
50
-
51
- it { expect { expand_path(path) }.to output(/working directory does not exist/).to_stderr }
52
- end
53
- """
54
- When I run `rspec`
55
- Then the specs should all pass
56
-
57
- Scenario: Use ~ in path
58
-
59
- Now this useses the HOME-variable from your normal shell HOME-variable.
60
- From 1.0.0 on HOME will be `File.join(aruba.config.root_directory,
61
- aruba.config.working_directory)`. If you want HOME have some other value,
62
- you need to configure it explicitly via `Aruba.configure {}`.
63
-
64
- Given a file named "spec/expand_path_spec.rb" with:
65
- """ruby
66
- require 'spec_helper'
67
-
68
- # Old before 1.0.0
69
- RSpec.describe 'Expand path', :type => :aruba do
70
- let(:path) { '~/path/to/dir' }
71
-
72
- it { expect(expand_path(path)).to match %r</home/[^/]+/path/to/dir> }
73
- end
74
-
75
- # New from 1.0.0
76
- RSpec.describe 'Expand path', :type => :aruba do
77
- let(:path) { '~/path/to/dir' }
78
-
79
- before(:each) do
80
- set_environment_variable('HOME', File.join(aruba.config.root_directory, aruba.config.working_directory))
81
- end
82
-
83
- it { expect(expand_path(path)).to eq File.join(aruba.config.root_directory, aruba.config.working_directory, 'path/to/dir') }
84
- end
85
- """
86
- When I run `rspec`
87
- Then the specs should all pass
88
-
@@ -1,128 +0,0 @@
1
- Feature: Append environment variable
2
-
3
- It is quite handy to modify the environment of a process. To make this
4
- possible, `aruba` provides several methods. One of these is
5
- `#append_environment_variable`. Using this variable appends a given value to
6
- an existing one. If the variable does not exist, it is created with the given
7
- value.
8
-
9
- Each variable name and each value is converted to a string. Otherwise `ruby`
10
- would complain about an invalid argument. To make use of a variable you can
11
- either use `#run` and the like or `#with_environment`.
12
-
13
- Background:
14
- Given I use the fixture "cli-app"
15
-
16
- Scenario: Non-existing variable
17
- Given a file named "spec/environment_spec.rb" with:
18
- """ruby
19
- require 'spec_helper'
20
-
21
- RSpec.describe 'Long running command', :type => :aruba do
22
- before(:each) { append_environment_variable 'LONG_LONG_VARIABLE', 'a' }
23
-
24
- before(:each) { run_command('env') }
25
- before(:each) { stop_all_commands }
26
-
27
- it { expect(last_command_started.output).to include 'LONG_LONG_VARIABLE=a' }
28
- end
29
- """
30
- When I run `rspec`
31
- Then the specs should all pass
32
-
33
- Scenario: Existing inner variable
34
- Given a file named "spec/environment_spec.rb" with:
35
- """ruby
36
- require 'spec_helper'
37
-
38
- RSpec.describe 'Long running command', :type => :aruba do
39
- before(:each) { append_environment_variable 'LONG_LONG_VARIABLE', 'a' }
40
- before(:each) { append_environment_variable 'LONG_LONG_VARIABLE', 'b' }
41
-
42
- before(:each) { run_command('env') }
43
- before(:each) { stop_all_commands }
44
-
45
- it { expect(last_command_started.output).to include 'LONG_LONG_VARIABLE=ab' }
46
- end
47
- """
48
- When I run `rspec`
49
- Then the specs should all pass
50
-
51
-
52
- Scenario: Existing outer variable
53
- Given a file named "spec/environment_spec.rb" with:
54
- """ruby
55
- require 'spec_helper'
56
-
57
- ENV['REALLY_LONG_LONG_VARIABLE'] = 'a'
58
-
59
- RSpec.describe 'Long running command', :type => :aruba do
60
- before(:each) { append_environment_variable 'REALLY_LONG_LONG_VARIABLE', 'b' }
61
-
62
- before(:each) { run_command('env') }
63
- before(:each) { stop_all_commands }
64
-
65
- it { expect(last_command_started.output).to include 'REALLY_LONG_LONG_VARIABLE=ab' }
66
-
67
- # Has no effect here, is not in block and not a command `run`
68
- it { expect(ENV['REALLY_LONG_LONG_VARIABLE']).to eq 'a' }
69
- end
70
- """
71
- When I run `rspec`
72
- Then the specs should all pass
73
-
74
- Scenario: Run some ruby code with previously set environment
75
- Given a file named "spec/environment_spec.rb" with:
76
- """ruby
77
- require 'spec_helper'
78
-
79
- ENV['REALLY_LONG_LONG_VARIABLE'] = 'a'
80
-
81
- RSpec.describe 'Long running command', :type => :aruba do
82
- before(:each) { append_environment_variable 'REALLY_LONG_LONG_VARIABLE', 'b' }
83
-
84
- before(:each) { run_command('env') }
85
- before(:each) { stop_all_commands }
86
-
87
- it do
88
- with_environment do
89
- expect(ENV['REALLY_LONG_LONG_VARIABLE']).to eq 'ab'
90
- end
91
- end
92
-
93
- # Has no effect here, is not in block and not a command `run`
94
- it { expect(ENV['REALLY_LONG_LONG_VARIABLE']).to eq 'a' }
95
- end
96
- """
97
- When I run `rspec`
98
- Then the specs should all pass
99
-
100
- Scenario: Run some ruby code with local environment
101
-
102
- If you pass the same variable to the block it will not be appended, but
103
- overwrites the variable
104
-
105
- Given a file named "spec/environment_spec.rb" with:
106
- """ruby
107
- require 'spec_helper'
108
-
109
- ENV['REALLY_LONG_LONG_VARIABLE'] = 'a'
110
-
111
- RSpec.describe 'Long running command', :type => :aruba do
112
- before(:each) { append_environment_variable 'REALLY_LONG_LONG_VARIABLE', 'b' }
113
-
114
- before(:each) { run_command('env') }
115
- before(:each) { stop_all_commands }
116
-
117
- it do
118
- with_environment 'REALLY_LONG_LONG_VARIABLE' => 'a' do
119
- expect(ENV['REALLY_LONG_LONG_VARIABLE']).to eq 'a'
120
- end
121
- end
122
-
123
- # Has no effect here, is not in block and not a command `run`
124
- it { expect(ENV['REALLY_LONG_LONG_VARIABLE']).to eq 'a' }
125
- end
126
- """
127
- When I run `rspec`
128
- Then the specs should all pass
@@ -1,63 +0,0 @@
1
- Feature: Delete existing environment variable via API-method
2
-
3
- It is quite handy to modify the environment of a process. To make this
4
- possible, `aruba` provides several methods. One of these is
5
- `#delete_environment_variable`. Using this remove an existing variable.
6
-
7
- Background:
8
- Given I use the fixture "cli-app"
9
-
10
- Scenario: Non-existing variable
11
- Given a file named "spec/environment_spec.rb" with:
12
- """ruby
13
- require 'spec_helper'
14
-
15
- RSpec.describe 'Long running command', :type => :aruba do
16
- before(:each) { delete_environment_variable 'LONG_LONG_VARIABLE' }
17
-
18
- before(:each) { run_command('env') }
19
- before(:each) { stop_all_commands }
20
-
21
- it { expect(last_command_started.output).not_to include 'LONG_LONG_VARIABLE=1' }
22
- end
23
- """
24
- When I run `rspec`
25
- Then the specs should all pass
26
-
27
- Scenario: Existing variable set from within the test
28
- Given a file named "spec/environment_spec.rb" with:
29
- """ruby
30
- require 'spec_helper'
31
-
32
- RSpec.describe 'Long running command', :type => :aruba do
33
- before(:each) { set_environment_variable 'LONG_LONG_VARIABLE', '1' }
34
- before(:each) { delete_environment_variable 'LONG_LONG_VARIABLE' }
35
-
36
- before(:each) { run_command('env') }
37
- before(:each) { stop_all_commands }
38
-
39
- it { expect(last_command_started.output).not_to include 'LONG_LONG_VARIABLE' }
40
- end
41
- """
42
- When I run `rspec`
43
- Then the specs should all pass
44
-
45
- Scenario: Existing variable set by some outer parent process
46
-
47
- Given a file named "spec/environment_spec.rb" with:
48
- """ruby
49
- require 'spec_helper'
50
-
51
- ENV['REALLY_LONG_LONG_VARIABLE'] = '1'
52
-
53
- RSpec.describe 'Environment command', :type => :aruba do
54
- before(:each) { delete_environment_variable 'REALLY_LONG_LONG_VARIABLE' }
55
-
56
- before(:each) { run_command('env') }
57
- before(:each) { stop_all_commands }
58
-
59
- it { expect(last_command_started.output).not_to include 'REALLY_LONG_LONG_VARIABLE' }
60
- end
61
- """
62
- When I run `rspec`
63
- Then the specs should all pass
@@ -1,128 +0,0 @@
1
- Feature: Prepend environment variable
2
-
3
- It is quite handy to modify the environment of a process. To make this
4
- possible, `aruba` provides several methods. One of these is
5
- `#prepend_environment_variable`. Using this variable prepends a given value to
6
- an existing one. If the variable does not exist, it is created with the given
7
- value.
8
-
9
- Each variable name and each value is converted to a string. Otherwise `ruby`
10
- would complain about an invalid argument. To make use of a variable you can
11
- either use `#run_command` and the like or `#with_environment`.
12
-
13
- Background:
14
- Given I use the fixture "cli-app"
15
-
16
- Scenario: Non-existing variable
17
- Given a file named "spec/environment_spec.rb" with:
18
- """ruby
19
- require 'spec_helper'
20
-
21
- RSpec.describe 'Long running command', :type => :aruba do
22
- before(:each) { prepend_environment_variable 'LONG_LONG_VARIABLE', 'a' }
23
-
24
- before(:each) { run_command('env') }
25
- before(:each) { stop_all_commands }
26
-
27
- it { expect(last_command_started.output).to include 'LONG_LONG_VARIABLE=a' }
28
- end
29
- """
30
- When I run `rspec`
31
- Then the specs should all pass
32
-
33
- Scenario: Existing inner variable
34
- Given a file named "spec/environment_spec.rb" with:
35
- """ruby
36
- require 'spec_helper'
37
-
38
- RSpec.describe 'Long running command', :type => :aruba do
39
- before(:each) { prepend_environment_variable 'LONG_LONG_VARIABLE', 'a' }
40
- before(:each) { prepend_environment_variable 'LONG_LONG_VARIABLE', 'b' }
41
-
42
- before(:each) { run_command('env') }
43
- before(:each) { stop_all_commands }
44
-
45
- it { expect(last_command_started.output).to include 'LONG_LONG_VARIABLE=ba' }
46
- end
47
- """
48
- When I run `rspec`
49
- Then the specs should all pass
50
-
51
-
52
- Scenario: Existing outer variable
53
- Given a file named "spec/environment_spec.rb" with:
54
- """ruby
55
- require 'spec_helper'
56
-
57
- ENV['REALLY_LONG_LONG_VARIABLE'] = 'a'
58
-
59
- RSpec.describe 'Long running command', :type => :aruba do
60
- before(:each) { prepend_environment_variable 'REALLY_LONG_LONG_VARIABLE', 'b' }
61
-
62
- before(:each) { run_command('env') }
63
- before(:each) { stop_all_commands }
64
-
65
- it { expect(last_command_started.output).to include 'REALLY_LONG_LONG_VARIABLE=ba' }
66
-
67
- # Has no effect here, is not in block and not a command `run`
68
- it { expect(ENV['REALLY_LONG_LONG_VARIABLE']).to eq 'a' }
69
- end
70
- """
71
- When I run `rspec`
72
- Then the specs should all pass
73
-
74
- Scenario: Run some ruby code with previously set environment
75
- Given a file named "spec/environment_spec.rb" with:
76
- """ruby
77
- require 'spec_helper'
78
-
79
- ENV['REALLY_LONG_LONG_VARIABLE'] = 'a'
80
-
81
- RSpec.describe 'Long running command', :type => :aruba do
82
- before(:each) { prepend_environment_variable 'REALLY_LONG_LONG_VARIABLE', 'b' }
83
-
84
- before(:each) { run_command('env') }
85
- before(:each) { stop_all_commands }
86
-
87
- it do
88
- with_environment do
89
- expect(ENV['REALLY_LONG_LONG_VARIABLE']).to eq 'ba'
90
- end
91
- end
92
-
93
- # Has no effect here, is not in block and not a command `run`
94
- it { expect(ENV['REALLY_LONG_LONG_VARIABLE']).to eq 'a' }
95
- end
96
- """
97
- When I run `rspec`
98
- Then the specs should all pass
99
-
100
- Scenario: Run some ruby code with local environment
101
-
102
- If you pass the same variable to the block it will not be prepended, but
103
- overwrites the variable
104
-
105
- Given a file named "spec/environment_spec.rb" with:
106
- """ruby
107
- require 'spec_helper'
108
-
109
- ENV['REALLY_LONG_LONG_VARIABLE'] = 'a'
110
-
111
- RSpec.describe 'Long running command', :type => :aruba do
112
- before(:each) { prepend_environment_variable 'REALLY_LONG_LONG_VARIABLE', 'b' }
113
-
114
- before(:each) { run_command('env') }
115
- before(:each) { stop_all_commands }
116
-
117
- it do
118
- with_environment 'REALLY_LONG_LONG_VARIABLE' => 'a' do
119
- expect(ENV['REALLY_LONG_LONG_VARIABLE']).to eq 'a'
120
- end
121
- end
122
-
123
- # Has no effect here, is not in block and not a command `run`
124
- it { expect(ENV['REALLY_LONG_LONG_VARIABLE']).to eq 'a' }
125
- end
126
- """
127
- When I run `rspec`
128
- Then the specs should all pass