producer-core 0.5.8 → 0.5.9

Sign up to get free protection for your applications and to get access to all the features.
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