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,62 +0,0 @@
1
- Feature: Mock the HOME variable
2
-
3
- If you develop commandline applications, you might want to give your users
4
- the possibility to configure your program. Normally this is done via
5
- `.your-app-rc` or via `.config/your-app` an systems which comply to the
6
- freedesktop-specifications.
7
-
8
- To prevent to litter the developers HOME-directory `aruba` comes with a step
9
- which mocks the `HOME`-variable. It is set to the
10
- `aruba`-`working-directory`.
11
-
12
- Background:
13
- Given I use the fixture "cli-app"
14
- And an executable named "bin/cli" with:
15
- """
16
- #!/bin/bash
17
-
18
- echo "HOME: $HOME"
19
- """
20
-
21
- Scenario: Mocked home directory by using a step
22
- Given a file named "features/home_variable.feature" with:
23
- """
24
- Feature: Home Variable
25
- Scenario: Run command
26
- Given a mocked home directory
27
- When I run `cli`
28
- Then the output should match %r<HOME:.*tmp/aruba$>
29
- """
30
- When I run `cucumber`
31
- Then the features should all pass
32
-
33
- Scenario: Mocked home directory by using a tag
34
- Given a file named "features/home_variable.feature" with:
35
- """
36
- Feature: Home Variable
37
- @mocked-home-directory
38
- Scenario: Run command
39
- When I run `cli`
40
- Then the output should match %r<HOME:.*tmp/aruba$>
41
- """
42
- When I run `cucumber`
43
- Then the features should all pass
44
-
45
- Scenario: Redefine home directory by using the aruba configuration
46
- Given a file named "features/support/home_variable.rb" with:
47
- """
48
- require 'aruba/cucumber'
49
-
50
- Aruba.configure do |config|
51
- config.home_directory = File.join(config.root_directory, config.working_directory)
52
- end
53
- """
54
- Given a file named "features/home_variable.feature" with:
55
- """
56
- Feature: Home Variable
57
- Scenario: Run command
58
- When I run `cli`
59
- Then the output should match %r<HOME:.*tmp/aruba$>
60
- """
61
- When I run `cucumber`
62
- Then the features should all pass
@@ -1,52 +0,0 @@
1
- Feature: Prepend environment variable via "cucumber"-step
2
-
3
- It is quite handy to modify the environment of a process. To make this
4
- possible, `aruba` provides several steps. One of these is
5
- `I prepend the values to environment variables:`-step. Using this step prepends
6
- the values. Each variable name and each value is converted to a string.
7
- Otherwise `ruby` would complain about an invalid argument.
8
-
9
- Background:
10
- Given I use the fixture "cli-app"
11
- And an executable named "bin/cli" with:
12
- """
13
- #!/bin/bash
14
-
15
- echo $LONG_LONG_VARIABLE
16
- """
17
- And a file named "features/support/variables.rb" with:
18
- """
19
- ENV['LONG_LONG_VARIABLE'] = '1'
20
- """
21
-
22
- Scenario: Prepend environment variable by using a step given in table
23
- Given a file named "features/home_variable.feature" with:
24
- """
25
- Feature: Environment Variable
26
- Scenario: Run command
27
- Given I prepend the values to the environment variables:
28
- | variable | value |
29
- | LONG_LONG_VARIABLE | long_value |
30
- When I run `cli`
31
- Then the output should contain:
32
- \"\"\"
33
- long_value1
34
- \"\"\"
35
- """
36
- When I run `cucumber`
37
- Then the features should all pass
38
-
39
- Scenario: Prepend single environment variable by using a step
40
- Given a file named "features/home_variable.feature" with:
41
- """
42
- Feature: Environment Variable
43
- Scenario: Run command
44
- Given I prepend "long_value" to the environment variable "LONG_LONG_VARIABLE"
45
- When I run `cli`
46
- Then the output should contain:
47
- \"\"\"
48
- long_value1
49
- \"\"\"
50
- """
51
- When I run `cucumber`
52
- Then the features should all pass
@@ -1,49 +0,0 @@
1
- Feature: Set environment variable via "cucumber"-step
2
-
3
- It is quite handy to modify the environment of a process. To make this
4
- possible, `aruba` provides several steps. One of these is
5
- `I set the environment variables to:`-step. Using this step sets the values of a
6
- non-existing variables and overwrites an existing values. Each variable name
7
- and each value is converted to a string. Otherwise `ruby` would complain
8
- about an invalid argument.
9
-
10
- Background:
11
- Given I use the fixture "cli-app"
12
- And an executable named "bin/cli" with:
13
- """
14
- #!/bin/bash
15
-
16
- echo $LONG_LONG_VARIABLE
17
- """
18
-
19
- Scenario: Set environment variable by using a step given in table
20
- Given a file named "features/home_variable.feature" with:
21
- """
22
- Feature: Environment Variable
23
- Scenario: Run command
24
- Given I set the environment variables to:
25
- | variable | value |
26
- | LONG_LONG_VARIABLE | long_value |
27
- When I run `cli`
28
- Then the output should contain:
29
- \"\"\"
30
- long_value
31
- \"\"\"
32
- """
33
- When I run `cucumber`
34
- Then the features should all pass
35
-
36
- Scenario: Set single environment variable by using a step
37
- Given a file named "features/home_variable.feature" with:
38
- """
39
- Feature: Environment Variable
40
- Scenario: Run command
41
- Given I set the environment variable "LONG_LONG_VARIABLE" to "long_value"
42
- When I run `cli`
43
- Then the output should contain:
44
- \"\"\"
45
- long_value
46
- \"\"\"
47
- """
48
- When I run `cucumber`
49
- Then the features should all pass
@@ -1,45 +0,0 @@
1
- Feature: Append content to file
2
-
3
- You might want to append some content to a file.
4
-
5
- Background:
6
- Given I use a fixture named "cli-app"
7
-
8
- Scenario: Append to a existing file
9
- Given a file named "features/non-existence.feature" with:
10
- """
11
- Feature: Existence
12
- Scenario: Existence
13
- Given a file named "foo/bar/example.txt" with:
14
- \"\"\"
15
- hello world
16
- \"\"\"
17
- When I append to "foo/bar/example.txt" with:
18
- \"\"\"
19
- this was appended
20
- \"\"\"
21
- Then the file named "foo/bar/example.txt" should contain:
22
- \"\"\"
23
- hello worldthis was appended
24
- \"\"\"
25
- """
26
- When I run `cucumber`
27
- Then the features should all pass
28
-
29
- Scenario: Append to a non-existing file
30
- Given a file named "features/non-existence.feature" with:
31
- """
32
- Feature: Existence
33
- Scenario: Existence
34
- Given a file named "foo/bar/example.txt" does not exist
35
- When I append to "foo/bar/example.txt" with:
36
- \"\"\"
37
- this was appended
38
- \"\"\"
39
- Then the file named "foo/bar/example.txt" should contain:
40
- \"\"\"
41
- this was appended
42
- \"\"\"
43
- """
44
- When I run `cucumber`
45
- Then the features should all pass
@@ -1,33 +0,0 @@
1
- Feature: Change working directory
2
-
3
- You might want to change the current working directory.
4
-
5
- Background:
6
- Given I use a fixture named "cli-app"
7
-
8
- Scenario: Change to an existing sub directory
9
- Given a file named "features/non-existence.feature" with:
10
- """
11
- Feature: Working Directory
12
- Scenario: Working Directory
13
- Given a file named "foo/bar/example.txt" with:
14
- \"\"\"
15
- hello world
16
- \"\"\"
17
- When I cd to "foo/bar"
18
- And I run `cat example.txt`
19
- Then the output should contain "hello world"
20
- And the file "example.txt" should exist
21
- """
22
- When I run `cucumber`
23
- Then the features should all pass
24
-
25
- Scenario: Change to an non-existing sub directory
26
- Given a file named "features/non-existence.feature" with:
27
- """
28
- Feature: Working Directory
29
- Scenario: Working Directory
30
- When I cd to "foo/bar/non-existing"
31
- """
32
- When I run `cucumber`
33
- Then the features should not pass
@@ -1,61 +0,0 @@
1
- Feature: Check file content
2
-
3
- Background:
4
- Given I use a fixture named "cli-app"
5
-
6
- Scenario: Check file contents with plain text
7
- Given a file named "features/non-existence.feature" with:
8
- """
9
- Feature: Check
10
- Scenario: Check
11
- Given a file named "foo" with:
12
- \"\"\"
13
- hello world
14
- \"\"\"
15
- Then the file "foo" should contain "hello world"
16
- And the file "foo" should not contain "HELLO WORLD"
17
- """
18
- When I run `cucumber`
19
- Then the features should all pass
20
-
21
- Scenario: Check file contents with regular expression
22
- Given a file named "features/non-existence.feature" with:
23
- """
24
- Feature: Check
25
- Background:
26
- Given a file named "foo" with:
27
- \"\"\"
28
- hello world
29
- \"\"\"
30
-
31
- Scenario: Check #1
32
- Then the file "foo" should match /hel.o world/
33
- And the file "foo" should not match /HELLO WORLD/
34
-
35
- Scenario: Check #2
36
- Then the file "foo" should match %r<hel.o world>
37
- And the file "foo" should not match %r<HELLO WORLD>
38
- """
39
- When I run `cucumber`
40
- Then the features should all pass
41
-
42
- Scenario: Check file contents with cucumber doc string
43
- Given a file named "features/non-existence.feature" with:
44
- """
45
- Feature: Existence
46
- Scenario: Existence
47
- Given a file named "foo" with:
48
- \"\"\"
49
- foo
50
- bar
51
- baz
52
- foobar
53
- \"\"\"
54
- Then the file "foo" should contain:
55
- \"\"\"
56
- bar
57
- baz
58
- \"\"\"
59
- """
60
- When I run `cucumber`
61
- Then the features should all pass
@@ -1,39 +0,0 @@
1
- Feature: Check permissions of file
2
-
3
- Background:
4
- Given I use a fixture named "cli-app"
5
-
6
- Scenario: Check mode of existing file
7
- Given a file named "features/create_file.feature" with:
8
- """
9
- Feature: Check
10
- Background:
11
- Given an empty file named "file1.txt" with mode "0644"
12
-
13
- Scenario: Check #1
14
- Then the file named "file1.txt" should have permissions "0644"
15
-
16
- Scenario: Check #2
17
- Then a file "file1.txt" should have permissions "0644"
18
-
19
- Scenario: Check #3
20
- Then a file "file1.txt" should not have permissions "0444"
21
-
22
- Scenario: Check #4
23
- Then the file "file1.txt" should not have permissions "0444"
24
- """
25
- When I run `cucumber`
26
- Then the features should all pass
27
-
28
- Scenario: Check mode of non-existing file
29
- Given a file named "features/create_file.feature" with:
30
- """
31
- Feature: Check
32
- Background:
33
- Given a file named "file1.txt" does not exist
34
-
35
- Scenario: Check
36
- Then the file named "file1.txt" should have permissions "0644"
37
- """
38
- When I run `cucumber`
39
- Then the features should not pass
@@ -1,42 +0,0 @@
1
- Feature: Compare files
2
-
3
- Background:
4
- Given I use a fixture named "cli-app"
5
-
6
- Scenario: Compare existing files
7
- Given a file named "features/non-existence.feature" with:
8
- """
9
- Feature: Existence
10
- Scenario: Existence
11
- Given a file named "foo" with:
12
- \"\"\"
13
- hello world
14
- \"\"\"
15
- And a file named "bar" with:
16
- \"\"\"
17
- hello world
18
- \"\"\"
19
- And a file named "nonbar" with:
20
- \"\"\"
21
- hello another world
22
- \"\"\"
23
- Then the file "foo" should be equal to file "bar"
24
- And the file "foo" should not be equal to file "nonbar"
25
- """
26
- When I run `cucumber`
27
- Then the features should all pass
28
-
29
- Scenario: Compare non-existing files
30
- Given a file named "features/non-existence.feature" with:
31
- """
32
- Feature: Existence
33
- Scenario: Existence
34
- Given a file named "foo" with:
35
- \"\"\"
36
- hello world
37
- \"\"\"
38
- Then the file "foo" should be equal to file "bar"
39
- """
40
- When I run `cucumber`
41
- Then the features should not pass
42
-
@@ -1,45 +0,0 @@
1
- Feature: Copy file or directory
2
-
3
- As a user of aruba
4
- I want ot copy a file or a directory
5
- To setup my tests
6
-
7
- Background:
8
- Given I use a fixture named "cli-app"
9
-
10
- Scenario: Copy file
11
- Given a file named "features/copy.feature" with:
12
- """
13
- Feature: Copy
14
- Scenario: Copy
15
- Given an empty file named "file1.txt"
16
- And an empty file named "file2.txt"
17
- And an empty file named "file3.txt"
18
- When I copy a file named "file1.txt" to "new_file1.txt"
19
- When I copy a file from "file2.txt" to "new_file2.txt"
20
- When I copy the file "file3.txt" to "new_file3.txt"
21
- Then a file named "new_file1.txt" should exist
22
- Then a file named "new_file2.txt" should exist
23
- Then a file named "new_file3.txt" should exist
24
- """
25
- When I run `cucumber`
26
- Then the features should all pass
27
-
28
- Scenario: Copy directory
29
- Given a file named "features/copy.feature" with:
30
- """
31
- Feature: Copy
32
- Scenario: Copy
33
- Given a directory named "dir1.d"
34
- And a directory named "dir2.d"
35
- And a directory named "dir3.d"
36
- When I copy a directory named "dir1.d" to "new_dir1.d"
37
- When I copy a directory from "dir2.d" to "new_dir2.d"
38
- When I copy the directory "dir3.d" to "new_dir3.d"
39
- Then a directory named "new_dir1.d" should exist
40
- Then a directory named "new_dir2.d" should exist
41
- Then a directory named "new_dir3.d" should exist
42
- """
43
- When I run `cucumber`
44
- Then the features should all pass
45
-
@@ -1,57 +0,0 @@
1
- Feature: Create Directory
2
-
3
- As a user of aruba
4
- I want to create directories
5
-
6
- Background:
7
- Given I use a fixture named "cli-app"
8
-
9
- Scenario: Non-existing directory
10
- Given a file named "features/create_directory.feature" with:
11
- """
12
- Feature: Create directory
13
- Background:
14
- Given a directory named "dir1"
15
-
16
- Scenario: Create directory #1
17
- Then a directory named "dir1" should exist
18
-
19
- Scenario: Create directory #2
20
- Then a directory named "dir1" should exist
21
-
22
- Scenario: Create directory #3
23
- Then a directory named "dir1" should exist
24
-
25
- Scenario: Create directory #4
26
- Then a directory named "dir1" should exist
27
-
28
- Scenario: Create directory #5
29
- Then a directory named "dir1" should exist
30
- """
31
- When I run `cucumber`
32
- Then the features should all pass
33
-
34
- Scenario: Existing directory
35
-
36
- It doesn't matter if a directory already exist.
37
-
38
- Given a file named "features/create_directory.feature" with:
39
- """
40
- Feature: Create directory
41
- Scenario: Create directory
42
- Given a directory named "dir1"
43
- And a directory named "dir1"
44
- """
45
- When I run `cucumber`
46
- Then the features should all pass
47
-
48
- Scenario: Change mode a long with creation of directory
49
- Given a file named "features/create_directory.feature" with:
50
- """
51
- Feature: Create directory
52
- Scenario: Create directory
53
- Given a directory named "dir1" with mode "0644"
54
- Then the directory named "dir1" should have permissions "0644"
55
- """
56
- When I run `cucumber`
57
- Then the features should all pass
@@ -1,76 +0,0 @@
1
- Feature: Create new File
2
-
3
- As a user of aruba
4
- I want to create files
5
-
6
- Background:
7
- Given I use a fixture named "cli-app"
8
-
9
- Scenario: Create empty file
10
- Given a file named "features/create_file.feature" with:
11
- """
12
- Feature: Create file
13
- Scenario: Create file
14
- Given an empty file named "file1.txt"
15
- Then a file named "file1.txt" should exist
16
- """
17
- When I run `cucumber`
18
- Then the features should all pass
19
-
20
- Scenario: Create file with content
21
- Given a file named "features/create_file.feature" with:
22
- """
23
- Feature: Create file
24
- Scenario: Create file
25
- Given a file named "file1.txt" with:
26
- \"\"\"
27
- Hello World
28
- \"\"\"
29
- Then the file named "file1.txt" should contain:
30
- \"\"\"
31
- Hello World
32
- \"\"\"
33
- """
34
- When I run `cucumber`
35
- Then the features should all pass
36
-
37
- Scenario: Change mode a long with creation of a file with content
38
- Given a file named "features/create_file.feature" with:
39
- """
40
- Feature: Create file
41
- Scenario: Create file
42
- Given a file named "file1.txt" with mode "0644" and with:
43
- \"\"\"
44
- Hello World
45
- \"\"\"
46
- Then the file named "file1.txt" should have permissions "0644"
47
- And the file named "file1.txt" should contain:
48
- \"\"\"
49
- Hello World
50
- \"\"\"
51
- """
52
- When I run `cucumber`
53
- Then the features should all pass
54
-
55
- Scenario: Change mode a long with creation of empty file
56
- Given a file named "features/create_file.feature" with:
57
- """
58
- Feature: Create file
59
- Scenario: Create file
60
- Given an empty file named "file1.txt" with mode "0644"
61
- Then the file named "file1.txt" should have permissions "0644"
62
- """
63
- When I run `cucumber`
64
- Then the features should all pass
65
-
66
- Scenario: Create a fixed sized file
67
- Given a file named "features/non-existence.feature" with:
68
- """
69
- Feature: Create file
70
- Scenario: Create file
71
- Given a 1048576 byte file named "test.txt"
72
- Then a 1048576 byte file named "test.txt" should exist
73
- """
74
- When I run `cucumber`
75
- Then the features should all pass
76
-
@@ -1,57 +0,0 @@
1
- Feature: Make sure and check a directory exists
2
-
3
- To setup a working environment, you may want to make sure, that a
4
- directory exist.
5
-
6
- Background:
7
- Given I use a fixture named "cli-app"
8
-
9
- Scenario: Check for presence of a single directory
10
- Given a file named "features/existence.feature" with:
11
- """
12
- Feature: Existence
13
- Background:
14
- Given an empty directory "lorem/ipsum/dolor"
15
-
16
- Scenario: Existence #1
17
- Then the directory "lorem/ipsum/dolor" should exist
18
-
19
- Scenario: Existence #2
20
- Then the directory named "lorem/ipsum/dolor" should exist
21
-
22
- Scenario: Existence #3
23
- Then a directory named "lorem/ipsum/dolor" should exist
24
- """
25
- When I run `cucumber`
26
- Then the features should all pass
27
-
28
- Scenario: Check for presence of a multiple directories
29
- Given a file named "features/existence.feature" with:
30
- """
31
- Feature: Existence
32
- Scenario: Existence
33
- Given an empty directory "lorem/ipsum/dolor"
34
- And an empty directory "lorem/ipsum/amet"
35
- Then the following directories should exist:
36
- | lorem/ipsum/dolor |
37
- | lorem/ipsum/amet |
38
- """
39
- When I run `cucumber`
40
- Then the features should all pass
41
-
42
-
43
- Scenario: Check for presence of a subset of directories
44
- Given a file named "features/existence.feature" with:
45
- """
46
- Feature: Existence
47
- Scenario: Existence
48
- Given an empty directory "lorem/ipsum/dolor"
49
- And an empty directory "lorem/ipsum/amet"
50
- And an empty directory "lorem/ipsum/sit"
51
- Then the following directories should exist:
52
- | lorem/ipsum/dolor |
53
- | lorem/ipsum/amet |
54
- """
55
- When I run `cucumber`
56
- Then the features should all pass
57
-
@@ -1,43 +0,0 @@
1
- Feature: Make sure and check a file exists
2
-
3
- To setup a working environment, you may want to make sure, that a
4
- file exist or if you ran your command of a file
5
- was deleted.
6
-
7
- Background:
8
- Given I use a fixture named "cli-app"
9
-
10
- Scenario: Check for presence of a single file
11
- Given an empty file named "lorem/ipsum/dolor"
12
- Then a file named "lorem/ipsum/dolor" should exist
13
-
14
- Scenario: Check for presence of a subset of files
15
- Given a file named "features/existence.feature" with:
16
- """
17
- Feature: Existence
18
- Scenario: Existence
19
- Given an empty file named "lorem/ipsum/dolor"
20
- And an empty file named "lorem/ipsum/sit"
21
- And an empty file named "lorem/ipsum/amet"
22
- Then the following files should exist:
23
- | lorem/ipsum/dolor |
24
- | lorem/ipsum/amet |
25
- """
26
- When I run `cucumber`
27
- Then the features should all pass
28
-
29
- Scenario: Check for presence of a single file using a regex
30
- Given a file named "features/non-existence.feature" with:
31
- """
32
- Feature: Existence
33
- Background:
34
- Given an empty file named "lorem/ipsum/dolor"
35
-
36
- Scenario: Existence #1
37
- Then a file matching %r<dolor$> should exist
38
-
39
- Scenario: Existence #2
40
- Then a file matching %r<ipsum/dolor> should exist
41
- """
42
- When I run `cucumber`
43
- Then the features should all pass