producer-core 0.5.8 → 0.5.9

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 (99) hide show
  1. checksums.yaml +4 -4
  2. data/lib/producer/core/version.rb +1 -1
  3. metadata +21 -202
  4. data/.gitignore +0 -3
  5. data/.travis.yml +0 -14
  6. data/Gemfile +0 -5
  7. data/Guardfile +0 -14
  8. data/LICENSE +0 -30
  9. data/Rakefile +0 -19
  10. data/config/cucumber.yaml +0 -2
  11. data/features/actions/echo.feature +0 -11
  12. data/features/actions/file_append.feature +0 -15
  13. data/features/actions/file_replace_content.feature +0 -24
  14. data/features/actions/file_write.feature +0 -21
  15. data/features/actions/mkdir.feature +0 -31
  16. data/features/actions/sh.feature +0 -43
  17. data/features/actions/yaml_write.feature +0 -14
  18. data/features/cli/debug.feature +0 -19
  19. data/features/cli/dry_run.feature +0 -22
  20. data/features/cli/error_reporting.feature +0 -32
  21. data/features/cli/target.feature +0 -15
  22. data/features/cli/usage.feature +0 -13
  23. data/features/cli/verbose.feature +0 -48
  24. data/features/condition/negated_test.feature +0 -47
  25. data/features/condition/target.feature +0 -15
  26. data/features/recipe/compose_macro.feature +0 -29
  27. data/features/recipe/errors.feature +0 -9
  28. data/features/recipe/macro.feature +0 -50
  29. data/features/recipe/registry.feature +0 -82
  30. data/features/recipe/source.feature +0 -17
  31. data/features/recipe/target.feature +0 -23
  32. data/features/recipe/test_macro.feature +0 -50
  33. data/features/ssh/config.feature +0 -25
  34. data/features/steps/environment_steps.rb +0 -3
  35. data/features/support/env.rb +0 -1
  36. data/features/task/ask.feature +0 -23
  37. data/features/task/condition.feature +0 -13
  38. data/features/task/nested_tasks.feature +0 -20
  39. data/features/task/recipe_argv.feature +0 -13
  40. data/features/task/target.feature +0 -11
  41. data/features/task/template.feature +0 -49
  42. data/features/tests/dir.feature +0 -21
  43. data/features/tests/env.feature +0 -47
  44. data/features/tests/executable.feature +0 -26
  45. data/features/tests/file.feature +0 -21
  46. data/features/tests/file_contains.feature +0 -26
  47. data/features/tests/file_eq.feature +0 -26
  48. data/features/tests/file_match.feature +0 -26
  49. data/features/tests/shell_command_status.feature +0 -46
  50. data/features/tests/yaml_eq.feature +0 -26
  51. data/producer-core.gemspec +0 -28
  52. data/spec/fixtures/recipes/empty.rb +0 -1
  53. data/spec/fixtures/recipes/raise.rb +0 -1
  54. data/spec/fixtures/recipes/some_recipe.rb +0 -5
  55. data/spec/fixtures/recipes/throw.rb +0 -1
  56. data/spec/fixtures/templates/basic.erb +0 -1
  57. data/spec/fixtures/templates/basic_yaml.yaml +0 -1
  58. data/spec/fixtures/templates/variables.erb +0 -1
  59. data/spec/producer/core/action_spec.rb +0 -46
  60. data/spec/producer/core/actions/echo_spec.rb +0 -20
  61. data/spec/producer/core/actions/file_append_spec.rb +0 -49
  62. data/spec/producer/core/actions/file_replace_content_spec.rb +0 -42
  63. data/spec/producer/core/actions/file_writer_spec.rb +0 -52
  64. data/spec/producer/core/actions/mkdir_spec.rb +0 -71
  65. data/spec/producer/core/actions/shell_command_spec.rb +0 -45
  66. data/spec/producer/core/actions/yaml_writer_spec.rb +0 -25
  67. data/spec/producer/core/cli_spec.rb +0 -211
  68. data/spec/producer/core/condition_spec.rb +0 -198
  69. data/spec/producer/core/env_spec.rb +0 -196
  70. data/spec/producer/core/error_formatter_spec.rb +0 -86
  71. data/spec/producer/core/logger_formatter_spec.rb +0 -26
  72. data/spec/producer/core/prompter_spec.rb +0 -40
  73. data/spec/producer/core/recipe/file_evaluator_spec.rb +0 -22
  74. data/spec/producer/core/recipe_spec.rb +0 -126
  75. data/spec/producer/core/remote/environment_spec.rb +0 -19
  76. data/spec/producer/core/remote/fs_spec.rb +0 -144
  77. data/spec/producer/core/remote_spec.rb +0 -168
  78. data/spec/producer/core/task_spec.rb +0 -198
  79. data/spec/producer/core/template_spec.rb +0 -41
  80. data/spec/producer/core/test_spec.rb +0 -7
  81. data/spec/producer/core/testing/mock_remote_spec.rb +0 -66
  82. data/spec/producer/core/tests/condition_test_spec.rb +0 -55
  83. data/spec/producer/core/tests/file_contains_spec.rb +0 -46
  84. data/spec/producer/core/tests/file_eq_spec.rb +0 -45
  85. data/spec/producer/core/tests/file_match_spec.rb +0 -46
  86. data/spec/producer/core/tests/has_dir_spec.rb +0 -25
  87. data/spec/producer/core/tests/has_env_spec.rb +0 -75
  88. data/spec/producer/core/tests/has_executable_spec.rb +0 -29
  89. data/spec/producer/core/tests/has_file_spec.rb +0 -25
  90. data/spec/producer/core/tests/shell_command_status_spec.rb +0 -34
  91. data/spec/producer/core/tests/yaml_eq_spec.rb +0 -47
  92. data/spec/producer/core/worker_spec.rb +0 -88
  93. data/spec/spec_helper.rb +0 -13
  94. data/spec/support/exit_helpers.rb +0 -6
  95. data/spec/support/fixtures_helpers.rb +0 -7
  96. data/spec/support/net_ssh_story_helpers.rb +0 -36
  97. data/spec/support/shared_action.rb +0 -44
  98. data/spec/support/shared_test.rb +0 -82
  99. data/spec/support/test_env_helpers.rb +0 -44
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 928f078bd25c17856fcd95f5f95b1cf5f62cc2f6
4
- data.tar.gz: 795822a79e878ed17e775216ecb75e4760739435
3
+ metadata.gz: 6abf15a14a7656837e1432e02ce8aa7562c48b16
4
+ data.tar.gz: db753a5ed68fae34c359d81ada37194979a24d60
5
5
  SHA512:
6
- metadata.gz: 537ca3e1729156f2ea60a7e9a7cf975a7fdc88b807670be525e49c7a56b6c7372adc7c5dacd0af18174ec96b9a8ecb46041d139f59f7132ab6f3dc3ba68ab911
7
- data.tar.gz: b7a099e4ffb7438e8a02336fac5f36cd58960e29009946546bd7fbf47ea96fc15b5dc45e838f15214d0f090d0ac8172380fc746e4e0aeba1878e57b013b6d08c
6
+ metadata.gz: f7f977ec6df499b54d5238abebb6e23677ce0ff01e8a33d35de096f5020341f3fef0465fbdd2e4166f3a494758a52b711d0fb2caabc066c96db2eb84e81e5157
7
+ data.tar.gz: a60cb9978b7b440c1aa6372c8ef41ce29a8cf6ab49b13fe3a9644ce2484778b2c00c8d46e70c4179972e435544f86cb20db468b06e5138195ec3197acd1b1d08
@@ -1,5 +1,5 @@
1
1
  module Producer
2
2
  module Core
3
- VERSION = '0.5.8'.freeze
3
+ VERSION = '0.5.9'.freeze
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: producer-core
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.8
4
+ version: 0.5.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Thibault Jouan
@@ -39,19 +39,19 @@ dependencies:
39
39
  - !ruby/object:Gem::Version
40
40
  version: '2.1'
41
41
  - !ruby/object:Gem::Dependency
42
- name: rspec
42
+ name: aruba
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '3.1'
47
+ version: '0.8'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '3.1'
54
+ version: '0.8'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: cucumber
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -67,104 +67,59 @@ dependencies:
67
67
  - !ruby/object:Gem::Version
68
68
  version: '2.0'
69
69
  - !ruby/object:Gem::Dependency
70
- name: aruba
70
+ name: cucumber-sshd
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: '0.8'
75
+ version: 1.1.1
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: '0.8'
82
+ version: 1.1.1
83
83
  - !ruby/object:Gem::Dependency
84
- name: cucumber-sshd
84
+ name: rake
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: 1.1.1
89
+ version: '10.1'
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: 1.1.1
96
+ version: '10.1'
97
97
  - !ruby/object:Gem::Dependency
98
- name: rake
98
+ name: rspec
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
101
  - - "~>"
102
102
  - !ruby/object:Gem::Version
103
- version: '10.1'
103
+ version: '3.1'
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
108
  - - "~>"
109
109
  - !ruby/object:Gem::Version
110
- version: '10.1'
111
- description: |
112
- Software provisioning tool, including a DSL to write "recipes".
110
+ version: '3.1'
111
+ description: |2
112
+ Software provisioning and configuration management tool, providing a
113
+ DSL to write "recipes".
113
114
  email: tj@a13.fr
114
115
  executables:
115
116
  - producer
116
117
  extensions: []
117
- extra_rdoc_files: []
118
+ extra_rdoc_files:
119
+ - README.md
118
120
  files:
119
- - ".gitignore"
120
- - ".travis.yml"
121
- - Gemfile
122
- - Guardfile
123
- - LICENSE
124
121
  - README.md
125
- - Rakefile
126
122
  - bin/producer
127
- - config/cucumber.yaml
128
- - features/actions/echo.feature
129
- - features/actions/file_append.feature
130
- - features/actions/file_replace_content.feature
131
- - features/actions/file_write.feature
132
- - features/actions/mkdir.feature
133
- - features/actions/sh.feature
134
- - features/actions/yaml_write.feature
135
- - features/cli/debug.feature
136
- - features/cli/dry_run.feature
137
- - features/cli/error_reporting.feature
138
- - features/cli/target.feature
139
- - features/cli/usage.feature
140
- - features/cli/verbose.feature
141
- - features/condition/negated_test.feature
142
- - features/condition/target.feature
143
- - features/recipe/compose_macro.feature
144
- - features/recipe/errors.feature
145
- - features/recipe/macro.feature
146
- - features/recipe/registry.feature
147
- - features/recipe/source.feature
148
- - features/recipe/target.feature
149
- - features/recipe/test_macro.feature
150
- - features/ssh/config.feature
151
- - features/steps/environment_steps.rb
152
- - features/support/env.rb
153
- - features/task/ask.feature
154
- - features/task/condition.feature
155
- - features/task/nested_tasks.feature
156
- - features/task/recipe_argv.feature
157
- - features/task/target.feature
158
- - features/task/template.feature
159
- - features/tests/dir.feature
160
- - features/tests/env.feature
161
- - features/tests/executable.feature
162
- - features/tests/file.feature
163
- - features/tests/file_contains.feature
164
- - features/tests/file_eq.feature
165
- - features/tests/file_match.feature
166
- - features/tests/shell_command_status.feature
167
- - features/tests/yaml_eq.feature
168
123
  - lib/producer/core.rb
169
124
  - lib/producer/core/action.rb
170
125
  - lib/producer/core/actions/echo.rb
@@ -211,57 +166,9 @@ files:
211
166
  - lib/producer/core/tests/yaml_eq.rb
212
167
  - lib/producer/core/version.rb
213
168
  - lib/producer/core/worker.rb
214
- - producer-core.gemspec
215
- - spec/fixtures/recipes/empty.rb
216
- - spec/fixtures/recipes/raise.rb
217
- - spec/fixtures/recipes/some_recipe.rb
218
- - spec/fixtures/recipes/throw.rb
219
- - spec/fixtures/templates/basic.erb
220
- - spec/fixtures/templates/basic_yaml.yaml
221
- - spec/fixtures/templates/variables.erb
222
- - spec/producer/core/action_spec.rb
223
- - spec/producer/core/actions/echo_spec.rb
224
- - spec/producer/core/actions/file_append_spec.rb
225
- - spec/producer/core/actions/file_replace_content_spec.rb
226
- - spec/producer/core/actions/file_writer_spec.rb
227
- - spec/producer/core/actions/mkdir_spec.rb
228
- - spec/producer/core/actions/shell_command_spec.rb
229
- - spec/producer/core/actions/yaml_writer_spec.rb
230
- - spec/producer/core/cli_spec.rb
231
- - spec/producer/core/condition_spec.rb
232
- - spec/producer/core/env_spec.rb
233
- - spec/producer/core/error_formatter_spec.rb
234
- - spec/producer/core/logger_formatter_spec.rb
235
- - spec/producer/core/prompter_spec.rb
236
- - spec/producer/core/recipe/file_evaluator_spec.rb
237
- - spec/producer/core/recipe_spec.rb
238
- - spec/producer/core/remote/environment_spec.rb
239
- - spec/producer/core/remote/fs_spec.rb
240
- - spec/producer/core/remote_spec.rb
241
- - spec/producer/core/task_spec.rb
242
- - spec/producer/core/template_spec.rb
243
- - spec/producer/core/test_spec.rb
244
- - spec/producer/core/testing/mock_remote_spec.rb
245
- - spec/producer/core/tests/condition_test_spec.rb
246
- - spec/producer/core/tests/file_contains_spec.rb
247
- - spec/producer/core/tests/file_eq_spec.rb
248
- - spec/producer/core/tests/file_match_spec.rb
249
- - spec/producer/core/tests/has_dir_spec.rb
250
- - spec/producer/core/tests/has_env_spec.rb
251
- - spec/producer/core/tests/has_executable_spec.rb
252
- - spec/producer/core/tests/has_file_spec.rb
253
- - spec/producer/core/tests/shell_command_status_spec.rb
254
- - spec/producer/core/tests/yaml_eq_spec.rb
255
- - spec/producer/core/worker_spec.rb
256
- - spec/spec_helper.rb
257
- - spec/support/exit_helpers.rb
258
- - spec/support/fixtures_helpers.rb
259
- - spec/support/net_ssh_story_helpers.rb
260
- - spec/support/shared_action.rb
261
- - spec/support/shared_test.rb
262
- - spec/support/test_env_helpers.rb
263
169
  homepage: https://rubygems.org/gems/producer-core
264
- licenses: []
170
+ licenses:
171
+ - BSD-3-Clause
265
172
  metadata: {}
266
173
  post_install_message:
267
174
  rdoc_options: []
@@ -283,92 +190,4 @@ rubygems_version: 2.4.5
283
190
  signing_key:
284
191
  specification_version: 4
285
192
  summary: Provisioning tool
286
- test_files:
287
- - features/actions/echo.feature
288
- - features/actions/file_append.feature
289
- - features/actions/file_replace_content.feature
290
- - features/actions/file_write.feature
291
- - features/actions/mkdir.feature
292
- - features/actions/sh.feature
293
- - features/actions/yaml_write.feature
294
- - features/cli/debug.feature
295
- - features/cli/dry_run.feature
296
- - features/cli/error_reporting.feature
297
- - features/cli/target.feature
298
- - features/cli/usage.feature
299
- - features/cli/verbose.feature
300
- - features/condition/negated_test.feature
301
- - features/condition/target.feature
302
- - features/recipe/compose_macro.feature
303
- - features/recipe/errors.feature
304
- - features/recipe/macro.feature
305
- - features/recipe/registry.feature
306
- - features/recipe/source.feature
307
- - features/recipe/target.feature
308
- - features/recipe/test_macro.feature
309
- - features/ssh/config.feature
310
- - features/steps/environment_steps.rb
311
- - features/support/env.rb
312
- - features/task/ask.feature
313
- - features/task/condition.feature
314
- - features/task/nested_tasks.feature
315
- - features/task/recipe_argv.feature
316
- - features/task/target.feature
317
- - features/task/template.feature
318
- - features/tests/dir.feature
319
- - features/tests/env.feature
320
- - features/tests/executable.feature
321
- - features/tests/file.feature
322
- - features/tests/file_contains.feature
323
- - features/tests/file_eq.feature
324
- - features/tests/file_match.feature
325
- - features/tests/shell_command_status.feature
326
- - features/tests/yaml_eq.feature
327
- - spec/fixtures/recipes/empty.rb
328
- - spec/fixtures/recipes/raise.rb
329
- - spec/fixtures/recipes/some_recipe.rb
330
- - spec/fixtures/recipes/throw.rb
331
- - spec/fixtures/templates/basic.erb
332
- - spec/fixtures/templates/basic_yaml.yaml
333
- - spec/fixtures/templates/variables.erb
334
- - spec/producer/core/action_spec.rb
335
- - spec/producer/core/actions/echo_spec.rb
336
- - spec/producer/core/actions/file_append_spec.rb
337
- - spec/producer/core/actions/file_replace_content_spec.rb
338
- - spec/producer/core/actions/file_writer_spec.rb
339
- - spec/producer/core/actions/mkdir_spec.rb
340
- - spec/producer/core/actions/shell_command_spec.rb
341
- - spec/producer/core/actions/yaml_writer_spec.rb
342
- - spec/producer/core/cli_spec.rb
343
- - spec/producer/core/condition_spec.rb
344
- - spec/producer/core/env_spec.rb
345
- - spec/producer/core/error_formatter_spec.rb
346
- - spec/producer/core/logger_formatter_spec.rb
347
- - spec/producer/core/prompter_spec.rb
348
- - spec/producer/core/recipe/file_evaluator_spec.rb
349
- - spec/producer/core/recipe_spec.rb
350
- - spec/producer/core/remote/environment_spec.rb
351
- - spec/producer/core/remote/fs_spec.rb
352
- - spec/producer/core/remote_spec.rb
353
- - spec/producer/core/task_spec.rb
354
- - spec/producer/core/template_spec.rb
355
- - spec/producer/core/test_spec.rb
356
- - spec/producer/core/testing/mock_remote_spec.rb
357
- - spec/producer/core/tests/condition_test_spec.rb
358
- - spec/producer/core/tests/file_contains_spec.rb
359
- - spec/producer/core/tests/file_eq_spec.rb
360
- - spec/producer/core/tests/file_match_spec.rb
361
- - spec/producer/core/tests/has_dir_spec.rb
362
- - spec/producer/core/tests/has_env_spec.rb
363
- - spec/producer/core/tests/has_executable_spec.rb
364
- - spec/producer/core/tests/has_file_spec.rb
365
- - spec/producer/core/tests/shell_command_status_spec.rb
366
- - spec/producer/core/tests/yaml_eq_spec.rb
367
- - spec/producer/core/worker_spec.rb
368
- - spec/spec_helper.rb
369
- - spec/support/exit_helpers.rb
370
- - spec/support/fixtures_helpers.rb
371
- - spec/support/net_ssh_story_helpers.rb
372
- - spec/support/shared_action.rb
373
- - spec/support/shared_test.rb
374
- - spec/support/test_env_helpers.rb
193
+ test_files: []
data/.gitignore DELETED
@@ -1,3 +0,0 @@
1
- /Gemfile-custom.rb
2
- /Gemfile.lock
3
- /tmp/
data/.travis.yml DELETED
@@ -1,14 +0,0 @@
1
- sudo: false
2
- language: ruby
3
- cache: bundler
4
- rvm:
5
- - 2.2
6
- - ruby-head
7
- - 2.1
8
- script: bundle exec rake ci
9
- before_script:
10
- - ssh-keygen -f ~/.ssh/id_rsa -t rsa -N ''
11
- - cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
12
- - chmod 600 ~/.ssh/authorized_keys
13
- - eval `ssh-agent -s`
14
- - ssh-add ~/.ssh/id_rsa
data/Gemfile DELETED
@@ -1,5 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- gemspec
4
-
5
- eval File.read('Gemfile-custom.rb') if File.exist?('Gemfile-custom.rb')
data/Guardfile DELETED
@@ -1,14 +0,0 @@
1
- directories %w[features lib spec]
2
-
3
- guard :cucumber, cli: '--format pretty --quiet', all_on_start: false do
4
- watch(%r{\Afeatures/.+\.feature\z})
5
- watch(%r{\Afeatures/support/.+\.rb\z}) { 'features' }
6
- watch(%r{\Afeatures/step_definitions/.+_steps\.rb\z}) { 'features' }
7
- end
8
-
9
- guard :rspec, cmd: 'bundle exec rspec -f doc' do
10
- watch(%r{\Aspec/.+_spec\.rb\z})
11
- watch(%r{\Alib/(.+)\.rb\z}) { |m| "spec/#{m[1]}_spec.rb" }
12
- watch('spec/spec_helper.rb') { 'spec' }
13
- watch(%r{\Aspec/support/.+\.rb\z}) { 'spec' }
14
- end
data/LICENSE DELETED
@@ -1,30 +0,0 @@
1
- Copyright 2013 Thibault Jouan. All rights reserved.
2
-
3
- Redistribution and use in source and binary forms, with or without
4
- modification, are permitted provided that the following conditions are
5
- met:
6
-
7
- * Redistributions of source code must retain the above copyright
8
- notice, this list of conditions and the following disclaimer.
9
-
10
- * Redistributions in binary form must reproduce the above copyright
11
- notice, this list of conditions and the following disclaimer in
12
- the documentation and/or other materials provided with the
13
- distribution.
14
-
15
- * Neither the name of the software nor the names of its contributors
16
- may be used to endorse or promote products derived from this
17
- software without specific prior written permission.
18
-
19
-
20
- THIS SOFTWARE IS PROVIDED BY THE AUTHORS AND CONTRIBUTORS "AS IS" AND
21
- ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22
- IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
23
- PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS
24
- BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
25
- CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
26
- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
27
- BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
28
- WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
29
- OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
30
- IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
data/Rakefile DELETED
@@ -1,19 +0,0 @@
1
- require 'cucumber/rake/task'
2
- require 'rspec/core/rake_task'
3
-
4
- task default: %i[features spec]
5
-
6
- Cucumber::Rake::Task.new(:features)
7
-
8
- Cucumber::Rake::Task.new(:features_ci) do |t|
9
- t.instance_eval { @desc << ' excluding @ci_skip' }
10
- t.cucumber_opts = '--tags ~@ci_skip'
11
- t.profile = 'quiet' if ENV.key? 'TRAVIS'
12
- end
13
-
14
- RSpec::Core::RakeTask.new do |t|
15
- t.rspec_opts = '--format progress' if ENV.key? 'TRAVIS'
16
- end
17
-
18
- desc 'Run CI test suite'
19
- task ci: %i[features_ci spec]
data/config/cucumber.yaml DELETED
@@ -1,2 +0,0 @@
1
- default: --require features/support --require features/steps --no-source
2
- quiet: --format progress
@@ -1,11 +0,0 @@
1
- Feature: `echo' task action
2
-
3
- Scenario: prints text on standard output
4
- Given a recipe with:
5
- """
6
- task :echo_action do
7
- echo 'hello'
8
- end
9
- """
10
- When I successfully execute the recipe
11
- Then the output must match /\Ahello\n/
@@ -1,15 +0,0 @@
1
- @sshd
2
- Feature: `file_append' task action
3
-
4
- Background:
5
- Given a remote file named "some_file" with "some content"
6
-
7
- Scenario: appends given content to requested file
8
- Given a recipe with:
9
- """
10
- task :file_append_action do
11
- file_append 'some_file', ' added'
12
- end
13
- """
14
- When I successfully execute the recipe on remote target
15
- Then the remote file "some_file" must contain exactly "some content added"
@@ -1,24 +0,0 @@
1
- @sshd
2
- Feature: `file_replace_content' task action
3
-
4
- Background:
5
- Given a remote file named "some_file" with "some content"
6
- And a remote file named "other_file" with "some content"
7
- And a recipe with:
8
- """
9
- task :file_replace_content_action_string do
10
- file_replace_content 'some_file', 'content', 'other content'
11
- end
12
-
13
- task :file_replace_content_action_regexp do
14
- file_replace_content 'other_file', /\w+\z/, 'other content'
15
- end
16
- """
17
-
18
- Scenario: replaces a string by another in the requested file
19
- When I successfully execute the recipe on remote target
20
- Then the remote file "some_file" must contain exactly "some other content"
21
-
22
- Scenario: replaces a regular expression by a string in the requested file
23
- When I successfully execute the recipe on remote target
24
- Then the remote file "other_file" must contain exactly "some other content"
@@ -1,21 +0,0 @@
1
- @sshd
2
- Feature: `file_write' task action
3
-
4
- Background:
5
- Given a recipe with:
6
- """
7
- task :file_write_action do
8
- file_write 'some_file', 'some_content'
9
- file_write 'some_file_0600', 'some_content', mode: 0600
10
- file_write 'some_file_0700', 'some_content', mode: 0700
11
- end
12
- """
13
-
14
- Scenario: writes given data to given file path
15
- When I successfully execute the recipe on remote target
16
- Then the remote file "some_file" must contain "some_content"
17
-
18
- Scenario: creates file with given permissions
19
- When I successfully execute the recipe on remote target
20
- Then the remote file "some_file_0600" must have 0600 mode
21
- And the remote file "some_file_0700" must have 0700 mode
@@ -1,31 +0,0 @@
1
- @sshd
2
- Feature: `mkdir' task action
3
-
4
- Background:
5
- Given a recipe with:
6
- """
7
- task :mkdir_action do
8
- mkdir 'some_directory'
9
- mkdir 'some_directory_0700', mode: 0700
10
- mkdir 'some_directory_0711', mode: 0711
11
- end
12
- """
13
-
14
- Scenario: creates directory given as argument
15
- When I successfully execute the recipe on remote target
16
- Then the remote directory "some_directory" must exist
17
-
18
- Scenario: creates directory with given attributes
19
- When I successfully execute the recipe on remote target
20
- Then the remote directory "some_directory_0700" must have 0700 mode
21
- And the remote directory "some_directory_0711" must have 0711 mode
22
-
23
- Scenario: creates directories recursively
24
- Given a recipe with:
25
- """
26
- task :mkdir_action do
27
- mkdir 'some/directory'
28
- end
29
- """
30
- When I successfully execute the recipe on remote target
31
- Then the remote directory "some/directory" must exist
@@ -1,43 +0,0 @@
1
- @sshd
2
- Feature: `sh' task action
3
-
4
- Scenario: forwards standard ouput
5
- Given a recipe with:
6
- """
7
- task :sh_action do
8
- sh '\echo hello from remote'
9
- end
10
- """
11
- When I successfully execute the recipe on remote target
12
- Then the output must contain exactly "hello from remote\n"
13
-
14
- Scenario: forwards error ouput
15
- Given a recipe with:
16
- """
17
- task :sh_action do
18
- sh '\echo error from remote >&2'
19
- end
20
- """
21
- When I successfully execute the recipe on remote target
22
- Then the error output must contain exactly "error from remote\n"
23
-
24
- Scenario: aborts on failed command execution
25
- Given a recipe with:
26
- """
27
- task :sh_action_aborting do
28
- sh '\false'
29
- sh '\echo after_fail'
30
- end
31
- """
32
- When I execute the recipe on remote target
33
- Then the output must not contain "after_fail"
34
-
35
- Scenario: prints command when execution fail
36
- Given a recipe with:
37
- """
38
- task :sh_action_command_error do
39
- sh '\false'
40
- end
41
- """
42
- When I execute the recipe on remote target
43
- Then the output must match /\A\w+Error:\s+\\false/
@@ -1,14 +0,0 @@
1
- @sshd
2
- Feature: `yaml_write' task action
3
-
4
- Background:
5
- Given a recipe with:
6
- """
7
- task :yaml_write_action do
8
- yaml_write 'some_file', data: { foo: 'bar' }
9
- end
10
- """
11
-
12
- Scenario: writes given data as YAML
13
- When I successfully execute the recipe on remote target
14
- Then the remote file "some_file" must match /^:foo: bar$/
@@ -1,19 +0,0 @@
1
- Feature: CLI debug option
2
-
3
- Scenario: reports recipe errors with their cause
4
- Given a recipe with an error
5
- When I execute the recipe with option -d
6
- Then the output must match /\ARecipeEvaluationError:.*\n\ncause:\nRuntimeError:/
7
-
8
- Scenario: does not exclude anything from backtrace
9
- Given a recipe using a remote
10
- When I execute the recipe on unknown remote target with option -d
11
- Then the output must contain "producer"
12
- And the output must contain "net-ssh"
13
- And the output must contain ruby lib directory
14
-
15
- Scenario: enables debug mode from the environment
16
- Given a recipe with an error
17
- And I set the environment variable "PRODUCER_DEBUG"
18
- When I execute the recipe
19
- Then the output must contain "producer"
@@ -1,22 +0,0 @@
1
- Feature: CLI dry run option
2
-
3
- Background:
4
- Given a recipe with:
5
- """
6
- task :say_hello do
7
- echo 'hello'
8
- end
9
- """
10
-
11
- Scenario: perfoms a trial run without applying actions
12
- When I successfully execute the recipe with option -n
13
- Then the output must not contain "hello"
14
-
15
- Scenario: prints a warning before any output
16
- When I successfully execute the recipe with option -n
17
- Then the output must match /\AWarning: running in dry run mode, actions will NOT be applied/
18
-
19
- Scenario: enables dry run mode from the environment
20
- Given I set the environment variable "PRODUCER_DRYRUN"
21
- When I successfully execute the recipe
22
- Then the output must contain "running in dry run"
@@ -1,32 +0,0 @@
1
- Feature: CLI error reporting
2
-
3
- Scenario: reports recipe errors
4
- Given a recipe with an error
5
- When I execute the recipe
6
- Then the exit status must be 70
7
- And the output must match /\ARecipeEvaluationError: some error\n/
8
-
9
- Scenario: reports errors with a backtrace
10
- Given a recipe with an error
11
- When I execute the recipe
12
- Then the output must match /^\s+recipe\.rb:\d+:in /
13
-
14
- Scenario: prepends recipe file path in the backtrace
15
- Given a recipe with an error
16
- When I execute the recipe
17
- Then the output must match /^\s+recipe\.rb \(recipe\)\n\s+recipe\.rb:/
18
-
19
- Scenario: excludes producer from backtrace
20
- Given a recipe using a remote
21
- When I execute the recipe on unknown remote target
22
- Then the output must not contain "producer-core"
23
-
24
- Scenario: excludes net-ssh from backtrace
25
- Given a recipe using a remote
26
- When I execute the recipe on unknown remote target
27
- Then the output must not contain "net-ssh"
28
-
29
- Scenario: excludes ruby standard library from backtrace
30
- Given a recipe using a remote
31
- When I execute the recipe on unknown remote target
32
- Then the output must not contain ruby lib directory