berkshelf 5.2.0 → 8.0.15

Sign up to get free protection for your applications and to get access to all the features.
Files changed (216) hide show
  1. checksums.yaml +5 -5
  2. data/Gemfile +19 -47
  3. data/Rakefile +14 -4
  4. data/berkshelf.gemspec +61 -40
  5. data/bin/berks +2 -2
  6. data/lib/berkshelf/api-client.rb +1 -0
  7. data/lib/berkshelf/api_client/chef_server_connection.rb +29 -0
  8. data/lib/berkshelf/api_client/connection.rb +57 -0
  9. data/lib/berkshelf/api_client/errors.rb +10 -0
  10. data/lib/berkshelf/api_client/remote_cookbook.rb +56 -0
  11. data/lib/berkshelf/api_client/version.rb +5 -0
  12. data/lib/berkshelf/api_client.rb +24 -0
  13. data/lib/berkshelf/berksfile.rb +149 -122
  14. data/lib/berkshelf/cached_cookbook.rb +127 -24
  15. data/lib/berkshelf/chef_config_compat.rb +51 -0
  16. data/lib/berkshelf/chef_repo_universe.rb +47 -0
  17. data/lib/berkshelf/cli.rb +143 -174
  18. data/lib/berkshelf/commands/shelf.rb +20 -19
  19. data/lib/berkshelf/community_rest.rb +59 -94
  20. data/lib/berkshelf/config.rb +97 -127
  21. data/lib/berkshelf/cookbook_store.rb +7 -6
  22. data/lib/berkshelf/core_ext/file.rb +1 -1
  23. data/lib/berkshelf/core_ext/file_utils.rb +4 -4
  24. data/lib/berkshelf/core_ext.rb +1 -1
  25. data/lib/berkshelf/dependency.rb +25 -32
  26. data/lib/berkshelf/downloader.rb +66 -39
  27. data/lib/berkshelf/errors.rb +23 -17
  28. data/lib/berkshelf/file_syncer.rb +24 -47
  29. data/lib/berkshelf/formatters/human.rb +7 -5
  30. data/lib/berkshelf/formatters/json.rb +6 -6
  31. data/lib/berkshelf/installer.rb +120 -111
  32. data/lib/berkshelf/location.rb +14 -14
  33. data/lib/berkshelf/locations/base.rb +1 -1
  34. data/lib/berkshelf/locations/git.rb +16 -24
  35. data/lib/berkshelf/locations/github.rb +2 -2
  36. data/lib/berkshelf/locations/path.rb +2 -2
  37. data/lib/berkshelf/lockfile.rb +326 -328
  38. data/lib/berkshelf/logger.rb +64 -1
  39. data/lib/berkshelf/mixin/git.rb +6 -5
  40. data/lib/berkshelf/packager.rb +44 -10
  41. data/lib/berkshelf/resolver/graph.rb +1 -1
  42. data/lib/berkshelf/resolver.rb +4 -4
  43. data/lib/berkshelf/ridley_compat.rb +109 -0
  44. data/lib/berkshelf/shell.rb +2 -1
  45. data/lib/berkshelf/shell_out.rb +18 -0
  46. data/lib/berkshelf/source.rb +77 -33
  47. data/lib/berkshelf/source_uri.rb +4 -4
  48. data/lib/berkshelf/ssl_policies.rb +38 -0
  49. data/lib/berkshelf/thor.rb +1 -1
  50. data/lib/berkshelf/thor_ext/hash_with_indifferent_access.rb +1 -1
  51. data/lib/berkshelf/thor_ext.rb +1 -1
  52. data/lib/berkshelf/uploader.rb +106 -70
  53. data/lib/berkshelf/validator.rb +13 -5
  54. data/lib/berkshelf/version.rb +1 -1
  55. data/lib/berkshelf/visualizer.rb +16 -11
  56. data/lib/berkshelf.rb +106 -81
  57. data/spec/config/knife.rb +4 -4
  58. data/spec/data/trusted_certs/example.crt +22 -0
  59. data/spec/fixtures/Berksfile +3 -3
  60. data/spec/fixtures/complex-cookbook-path/cookbooks/app/metadata.rb +2 -0
  61. data/spec/fixtures/complex-cookbook-path/cookbooks/jenkins/metadata.rb +2 -0
  62. data/spec/fixtures/complex-cookbook-path/cookbooks/jenkins-config/metadata.rb +4 -0
  63. data/spec/fixtures/cookbook-path/jenkins-config/metadata.rb +3 -3
  64. data/spec/fixtures/cookbook-path-uploader/apt-2.3.6/metadata.rb +2 -0
  65. data/spec/fixtures/cookbook-path-uploader/build-essential-1.4.2/metadata.rb +2 -0
  66. data/spec/fixtures/cookbook-path-uploader/jenkins-2.0.3/metadata.rb +5 -0
  67. data/spec/fixtures/cookbook-path-uploader/jenkins-config-0.1.0/metadata.rb +4 -0
  68. data/spec/fixtures/cookbook-path-uploader/runit-1.5.8/metadata.rb +5 -0
  69. data/spec/fixtures/cookbook-path-uploader/yum-3.0.6/metadata.rb +2 -0
  70. data/spec/fixtures/cookbook-path-uploader/yum-epel-0.2.0/metadata.rb +3 -0
  71. data/spec/fixtures/cookbook-store/jenkins-2.0.3/metadata.rb +5 -5
  72. data/spec/fixtures/cookbook-store/jenkins-2.0.4/metadata.rb +4 -4
  73. data/spec/fixtures/cookbooks/example_cookbook/metadata.rb +3 -3
  74. data/spec/fixtures/cookbooks/example_cookbook-0.5.0/metadata.rb +3 -3
  75. data/spec/spec_helper.rb +56 -64
  76. data/spec/support/chef_api.rb +15 -16
  77. data/spec/support/chef_server.rb +71 -69
  78. data/spec/support/git.rb +59 -58
  79. data/spec/support/kitchen.rb +0 -14
  80. data/spec/support/matchers/file_system_matchers.rb +4 -5
  81. data/spec/support/matchers/filepath_matchers.rb +2 -2
  82. data/spec/support/path_helpers.rb +17 -17
  83. data/spec/support/shared_examples/formatter.rb +1 -1
  84. data/spec/tmp/berkshelf/cookbooks/fake-0.1.0/attributes/default.rb +0 -0
  85. data/spec/tmp/berkshelf/cookbooks/fake-0.1.0/files/default/file.h +0 -0
  86. data/spec/tmp/berkshelf/cookbooks/fake-0.1.0/metadata.rb +2 -0
  87. data/spec/tmp/berkshelf/cookbooks/fake-0.1.0/recipes/default.rb +0 -0
  88. data/spec/tmp/berkshelf/cookbooks/fake-0.1.0/templates/default/template.erb +0 -0
  89. data/spec/tmp/berkshelf/cookbooks/fake-0.2.0/attributes/default.rb +0 -0
  90. data/spec/tmp/berkshelf/cookbooks/fake-0.2.0/files/default/file.h +0 -0
  91. data/spec/tmp/berkshelf/cookbooks/fake-0.2.0/metadata.rb +2 -0
  92. data/spec/tmp/berkshelf/cookbooks/fake-0.2.0/recipes/default.rb +0 -0
  93. data/spec/tmp/berkshelf/cookbooks/fake-0.2.0/templates/default/template.erb +0 -0
  94. data/spec/tmp/berkshelf/cookbooks/fake-1.0.0/attributes/default.rb +0 -0
  95. data/spec/tmp/berkshelf/cookbooks/fake-1.0.0/files/default/file.h +0 -0
  96. data/spec/tmp/berkshelf/cookbooks/fake-1.0.0/metadata.rb +2 -0
  97. data/spec/tmp/berkshelf/cookbooks/fake-1.0.0/recipes/default.rb +0 -0
  98. data/spec/tmp/berkshelf/cookbooks/fake-1.0.0/templates/default/template.erb +0 -0
  99. data/spec/unit/berkshelf/berksfile_spec.rb +84 -105
  100. data/spec/unit/berkshelf/berkshelf/api_client/chef_server_connection_spec.rb +65 -0
  101. data/spec/unit/berkshelf/berkshelf/api_client/connection_spec.rb +157 -0
  102. data/spec/unit/berkshelf/berkshelf/api_client/remote_cookbook_spec.rb +23 -0
  103. data/spec/unit/berkshelf/berkshelf/api_client_spec.rb +9 -0
  104. data/spec/unit/berkshelf/cached_cookbook_spec.rb +45 -47
  105. data/spec/unit/berkshelf/chef_repo_universe_spec.rb +37 -0
  106. data/spec/unit/berkshelf/cli_spec.rb +7 -8
  107. data/spec/unit/berkshelf/community_rest_spec.rb +82 -90
  108. data/spec/unit/berkshelf/config_spec.rb +51 -22
  109. data/spec/unit/berkshelf/cookbook_store_spec.rb +41 -41
  110. data/spec/unit/berkshelf/core_ext/file_utils_spec.rb +7 -8
  111. data/spec/unit/berkshelf/core_ext/pathname_spec.rb +1 -1
  112. data/spec/unit/berkshelf/dependency_spec.rb +48 -48
  113. data/spec/unit/berkshelf/downloader_spec.rb +191 -34
  114. data/spec/unit/berkshelf/errors_spec.rb +3 -3
  115. data/spec/unit/berkshelf/file_syncer_spec.rb +87 -87
  116. data/spec/unit/berkshelf/formatters/base_spec.rb +23 -23
  117. data/spec/unit/berkshelf/formatters/human_spec.rb +2 -2
  118. data/spec/unit/berkshelf/formatters/json_spec.rb +2 -2
  119. data/spec/unit/berkshelf/formatters/null_spec.rb +3 -3
  120. data/spec/unit/berkshelf/installer_spec.rb +8 -8
  121. data/spec/unit/berkshelf/location_spec.rb +11 -11
  122. data/spec/unit/berkshelf/locations/base_spec.rb +35 -36
  123. data/spec/unit/berkshelf/locations/git_spec.rb +90 -93
  124. data/spec/unit/berkshelf/locations/path_spec.rb +40 -41
  125. data/spec/unit/berkshelf/lockfile_parser_spec.rb +71 -71
  126. data/spec/unit/berkshelf/lockfile_spec.rb +205 -211
  127. data/spec/unit/berkshelf/logger_spec.rb +3 -3
  128. data/spec/unit/berkshelf/mixin/logging_spec.rb +5 -5
  129. data/spec/unit/berkshelf/packager_spec.rb +2 -2
  130. data/spec/unit/berkshelf/resolver/graph_spec.rb +10 -8
  131. data/spec/unit/berkshelf/resolver_spec.rb +17 -17
  132. data/spec/unit/berkshelf/ridley_compat_spec.rb +16 -0
  133. data/spec/unit/berkshelf/shell_spec.rb +34 -34
  134. data/spec/unit/berkshelf/source_spec.rb +186 -20
  135. data/spec/unit/berkshelf/source_uri_spec.rb +1 -1
  136. data/spec/unit/berkshelf/ssl_policies_spec.rb +86 -0
  137. data/spec/unit/berkshelf/uploader_spec.rb +146 -64
  138. data/spec/unit/berkshelf/validator_spec.rb +23 -16
  139. data/spec/unit/berkshelf/visualizer_spec.rb +24 -15
  140. data/spec/unit/berkshelf_spec.rb +18 -18
  141. metadata +138 -289
  142. data/.gitignore +0 -29
  143. data/.travis.yml +0 -64
  144. data/CHANGELOG.legacy.md +0 -307
  145. data/CHANGELOG.md +0 -1358
  146. data/CONTRIBUTING.md +0 -64
  147. data/Gemfile.lock +0 -399
  148. data/Guardfile +0 -23
  149. data/PLUGINS.md +0 -25
  150. data/README.md +0 -70
  151. data/Thorfile +0 -61
  152. data/appveyor.yml +0 -31
  153. data/docs/berkshelf_for_newcomers.md +0 -65
  154. data/features/berksfile.feature +0 -46
  155. data/features/commands/apply.feature +0 -41
  156. data/features/commands/contingent.feature +0 -48
  157. data/features/commands/cookbook.feature +0 -35
  158. data/features/commands/info.feature +0 -99
  159. data/features/commands/init.feature +0 -27
  160. data/features/commands/install.feature +0 -636
  161. data/features/commands/list.feature +0 -78
  162. data/features/commands/outdated.feature +0 -130
  163. data/features/commands/package.feature +0 -17
  164. data/features/commands/search.feature +0 -17
  165. data/features/commands/shelf/list.feature +0 -32
  166. data/features/commands/shelf/show.feature +0 -143
  167. data/features/commands/shelf/uninstall.feature +0 -96
  168. data/features/commands/show.feature +0 -83
  169. data/features/commands/update.feature +0 -142
  170. data/features/commands/upload.feature +0 -426
  171. data/features/commands/vendor.feature +0 -111
  172. data/features/commands/verify.feature +0 -29
  173. data/features/commands/viz.feature +0 -66
  174. data/features/community_site.feature +0 -37
  175. data/features/config.feature +0 -111
  176. data/features/help.feature +0 -11
  177. data/features/json_formatter.feature +0 -161
  178. data/features/lifecycle.feature +0 -378
  179. data/features/lockfile.feature +0 -378
  180. data/features/step_definitions/berksfile_steps.rb +0 -39
  181. data/features/step_definitions/chef/config_steps.rb +0 -12
  182. data/features/step_definitions/chef_server_steps.rb +0 -60
  183. data/features/step_definitions/cli_steps.rb +0 -18
  184. data/features/step_definitions/config_steps.rb +0 -46
  185. data/features/step_definitions/environment_steps.rb +0 -7
  186. data/features/step_definitions/filesystem_steps.rb +0 -269
  187. data/features/step_definitions/gem_steps.rb +0 -13
  188. data/features/step_definitions/json_steps.rb +0 -23
  189. data/features/step_definitions/utility_steps.rb +0 -11
  190. data/features/support/aruba.rb +0 -12
  191. data/features/support/env.rb +0 -82
  192. data/generator_files/Berksfile.erb +0 -11
  193. data/generator_files/CHANGELOG.md.erb +0 -3
  194. data/generator_files/Gemfile.erb +0 -8
  195. data/generator_files/README.md.erb +0 -42
  196. data/generator_files/Thorfile.erb +0 -11
  197. data/generator_files/Vagrantfile.erb +0 -117
  198. data/generator_files/chefignore +0 -94
  199. data/generator_files/default_recipe.erb +0 -6
  200. data/generator_files/default_test.rb.erb +0 -11
  201. data/generator_files/gitignore.erb +0 -23
  202. data/generator_files/helpers.rb.erb +0 -7
  203. data/generator_files/licenses/apachev2.erb +0 -13
  204. data/generator_files/licenses/gplv2.erb +0 -15
  205. data/generator_files/licenses/gplv3.erb +0 -14
  206. data/generator_files/licenses/mit.erb +0 -20
  207. data/generator_files/licenses/reserved.erb +0 -3
  208. data/generator_files/metadata.rb.erb +0 -11
  209. data/lib/berkshelf/base_generator.rb +0 -43
  210. data/lib/berkshelf/commands/test_command.rb +0 -13
  211. data/lib/berkshelf/cookbook_generator.rb +0 -133
  212. data/lib/berkshelf/init_generator.rb +0 -195
  213. data/spec/fixtures/cookbooks/example_cookbook/.gitignore +0 -2
  214. data/spec/fixtures/cookbooks/example_cookbook/.kitchen.yml +0 -26
  215. data/spec/unit/berkshelf/cookbook_generator_spec.rb +0 -110
  216. data/spec/unit/berkshelf/init_generator_spec.rb +0 -263
@@ -1,378 +0,0 @@
1
- #
2
- # The lifecycle feature contains a series of "long-running" lifecycle commands.
3
- # These tests do not fit into a single command as they are cross-cutting and
4
- # require more setup than a typical test.
5
- #
6
- # These tests are designed to mirror the real-world use cases for Berkshelf in
7
- # day-to-day work. It also contains a collection of previously known bugs to
8
- # prevent regressions.
9
- #
10
- Feature: Lifecycle commands
11
- Background:
12
- * the cookbook store has the cookbooks:
13
- | ekaf | 1.0.0 |
14
- | fake | 1.0.0 |
15
-
16
- Scenario: A trusted lockfile does not fetch the dependency index
17
- * I have a Berksfile pointing at the local Berkshelf API with:
18
- """
19
- cookbook 'fake', '1.0.0'
20
- """
21
- * I write to "Berksfile.lock" with:
22
- """
23
- DEPENDENCIES
24
- fake (= 1.0.0)
25
-
26
- GRAPH
27
- fake (1.0.0)
28
- """
29
- * I successfully run `berks install`
30
- * the output should not contain "Fetching cookbook index"
31
- * the output should contain "Using fake (1.0.0)"
32
-
33
- Scenario: An untrusted lockfile fetches the dependency index
34
- * I have a Berksfile pointing at the local Berkshelf API with:
35
- """
36
- cookbook 'fake', '1.0.0'
37
- """
38
- * I successfully run `berks install`
39
- * the output should contain "Fetching cookbook index"
40
- * the file "Berksfile.lock" should contain:
41
- """
42
- DEPENDENCIES
43
- fake (= 1.0.0)
44
-
45
- GRAPH
46
- fake (1.0.0)
47
- """
48
- * I append to "Berksfile" with:
49
- """
50
-
51
- cookbook 'ekaf', '1.0.0'
52
- """
53
- * I successfully run `berks install`
54
- * the file "Berksfile.lock" should contain:
55
- """
56
- DEPENDENCIES
57
- ekaf (= 1.0.0)
58
- fake (= 1.0.0)
59
-
60
- GRAPH
61
- ekaf (1.0.0)
62
- fake (1.0.0)
63
- """
64
- * the output should contain "Using ekaf (1.0.0)"
65
- * the output should contain "Using fake (1.0.0)"
66
-
67
- Scenario: Removing a direct dependency
68
- * I have a Berksfile pointing at the local Berkshelf API with:
69
- """
70
- cookbook 'fake', '1.0.0'
71
- """
72
- * I write to "Berksfile.lock" with:
73
- """
74
- DEPENDENCIES
75
- ekaf (= 1.0.0)
76
- fake (= 1.0.0)
77
-
78
- GRAPH
79
- ekaf (1.0.0)
80
- fake (1.0.0)
81
- """
82
- * I successfully run `berks install`
83
- * the file "Berksfile.lock" should contain:
84
- """
85
- DEPENDENCIES
86
- fake (= 1.0.0)
87
-
88
- GRAPH
89
- fake (1.0.0)
90
- """
91
- * the output should not contain "Using ekaf (1.0.0)"
92
- * the output should contain "Using fake (1.0.0)"
93
-
94
- Scenario: A trusted lockfile with transitive dependencies does not fetch the dependency index
95
- * I have a Berksfile pointing at the local Berkshelf API with:
96
- """
97
- metadata
98
- """
99
- * I write to "metadata.rb" with:
100
- """
101
- name 'transitive'
102
- version '1.2.3'
103
- depends 'fake', '1.0.0'
104
- """
105
- * I write to "Berksfile.lock" with:
106
- """
107
- DEPENDENCIES
108
- transitive
109
- path: .
110
- metadata: true
111
-
112
- GRAPH
113
- fake (1.0.0)
114
- transitive (1.2.3)
115
- fake (= 1.0.0)
116
- """
117
- * I successfully run `berks install`
118
- * the output should not contain "Fetching cookbook index"
119
- * the output should contain "Using fake (1.0.0)"
120
- * the output should contain "Using transitive (1.2.3)"
121
-
122
- Scenario: An utrusted lockfile because of transitive dependencies fetches the dependency index
123
- * I have a Berksfile pointing at the local Berkshelf API with:
124
- """
125
- metadata
126
- """
127
- * I write to "metadata.rb" with:
128
- """
129
- name 'transitive'
130
- version '1.2.3'
131
- depends 'fake', '1.0.0'
132
- """
133
- * I successfully run `berks install`
134
- * the output should contain "Fetching cookbook index"
135
- * the file "Berksfile.lock" should contain:
136
- """
137
- DEPENDENCIES
138
- transitive
139
- path: .
140
- metadata: true
141
-
142
- GRAPH
143
- fake (1.0.0)
144
- transitive (1.2.3)
145
- fake (= 1.0.0)
146
- """
147
- * I append to "metadata.rb" with:
148
- """
149
-
150
- depends 'ekaf', '1.0.0'
151
- """
152
- * I successfully run `berks install`
153
- * the file "Berksfile.lock" should contain:
154
- """
155
- DEPENDENCIES
156
- transitive
157
- path: .
158
- metadata: true
159
-
160
- GRAPH
161
- ekaf (1.0.0)
162
- fake (1.0.0)
163
- transitive (1.2.3)
164
- ekaf (= 1.0.0)
165
- fake (= 1.0.0)
166
- """
167
- * the output should contain "Using ekaf (1.0.0)"
168
- * the output should contain "Using fake (1.0.0)"
169
- * the output should contain "Using transitive (1.2.3)"
170
-
171
- Scenario: Removing a transitive dependency
172
- * I have a Berksfile pointing at the local Berkshelf API with:
173
- """
174
- metadata
175
- """
176
- * I write to "metadata.rb" with:
177
- """
178
- name 'transitive'
179
- version '1.2.3'
180
- depends 'fake', '1.0.0'
181
- """
182
- * I write to "Berksfile.lock" with:
183
- """
184
- DEPENDENCIES
185
- transitive
186
- path: .
187
- metadata: true
188
-
189
- GRAPH
190
- ekaf (1.0.0)
191
- fake (1.0.0)
192
- transitive (1.2.3)
193
- ekaf (= 1.0.0)
194
- fake (= 1.0.0)
195
- """
196
- * I successfully run `berks install`
197
- * the file "Berksfile.lock" should contain:
198
- """
199
- DEPENDENCIES
200
- transitive
201
- path: .
202
- metadata: true
203
-
204
- GRAPH
205
- fake (1.0.0)
206
- transitive (1.2.3)
207
- fake (= 1.0.0)
208
- """
209
- * the output should not contain "Using ekaf (1.0.0)"
210
- * the output should contain "Using fake (1.0.0)"
211
-
212
- Scenario: Moving a transitive dependency to a direct dependency
213
- * I have a Berksfile pointing at the local Berkshelf API with:
214
- """
215
- metadata
216
- """
217
- * I write to "metadata.rb" with:
218
- """
219
- name 'transitive'
220
- version '1.2.3'
221
- depends 'fake', '1.0.0'
222
- """
223
- * I successfully run `berks install`
224
- * the file "Berksfile.lock" should contain:
225
- """
226
- DEPENDENCIES
227
- transitive
228
- path: .
229
- metadata: true
230
-
231
- GRAPH
232
- fake (1.0.0)
233
- transitive (1.2.3)
234
- fake (= 1.0.0)
235
- """
236
- * the output should not contain "Using ekaf (1.0.0)"
237
- * the output should contain "Using fake (1.0.0)"
238
- * I write to "fake/metadata.rb" with:
239
- """
240
- name 'fake'
241
- version '1.0.0'
242
- """
243
- * I have a Berksfile pointing at the local Berkshelf API with:
244
- """
245
- metadata
246
- cookbook 'fake', path: 'fake'
247
- """
248
- * I successfully run `berks install`
249
- * the file "Berksfile.lock" should contain:
250
- """
251
- DEPENDENCIES
252
- fake
253
- path: fake
254
- transitive
255
- path: .
256
- metadata: true
257
-
258
- GRAPH
259
- fake (1.0.0)
260
- transitive (1.2.3)
261
- fake (= 1.0.0)
262
- """
263
-
264
- Scenario: Moving a transitive dependency to a direct dependency and then removing it
265
- * I have a Berksfile pointing at the local Berkshelf API with:
266
- """
267
- metadata
268
- """
269
- * I write to "metadata.rb" with:
270
- """
271
- name 'transitive'
272
- version '1.2.3'
273
- depends 'fake'
274
- """
275
- * I successfully run `berks install`
276
- * I write to "fake/metadata.rb" with:
277
- """
278
- name 'fake'
279
- version '1.0.0'
280
- """
281
- * I have a Berksfile pointing at the local Berkshelf API with:
282
- """
283
- metadata
284
- cookbook 'fake', path: 'fake'
285
- """
286
- * I successfully run `berks install`
287
- * I have a Berksfile pointing at the local Berkshelf API with:
288
- """
289
- metadata
290
- """
291
- * I successfully run `berks install`
292
- * the file "Berksfile.lock" should contain:
293
- """
294
- DEPENDENCIES
295
- transitive
296
- path: .
297
- metadata: true
298
-
299
- GRAPH
300
- fake (1.0.0)
301
- transitive (1.2.3)
302
- fake (>= 0.0.0)
303
- """
304
-
305
- Scenario: Bumping the version of a local cookbook
306
- * I have a Berksfile pointing at the local Berkshelf API with:
307
- """
308
- metadata
309
- """
310
- * I write to "metadata.rb" with:
311
- """
312
- name 'fake'
313
- version '1.0.0'
314
- """
315
- * I successfully run `berks install`
316
- * the file "Berksfile.lock" should contain:
317
- """
318
- DEPENDENCIES
319
- fake
320
- path: .
321
- metadata: true
322
-
323
- GRAPH
324
- fake (1.0.0)
325
- """
326
- * I write to "metadata.rb" with:
327
- """
328
- name 'fake'
329
- version '1.0.1'
330
- """
331
- * I successfully run `berks install`
332
- * the file "Berksfile.lock" should contain:
333
- """
334
- DEPENDENCIES
335
- fake
336
- path: .
337
- metadata: true
338
-
339
- GRAPH
340
- fake (1.0.1)
341
- """
342
- * the output should contain "Using fake (1.0.1)"
343
-
344
- Scenario: Switching a dependency to a new location
345
- * I have a Berksfile pointing at the local Berkshelf API with:
346
- """
347
- cookbook 'fake'
348
- """
349
- * I write to "Berksfile.lock" with:
350
- """
351
- DEPENDENCIES
352
- fake
353
-
354
- GRAPH
355
- fake (1.0.0)
356
- """
357
- * I have a Berksfile pointing at the local Berkshelf API with:
358
- """
359
- cookbook 'fake', path: './fake'
360
- """
361
- * I write to "fake/metadata.rb" with:
362
-
363
- """
364
- name 'fake'
365
- version '2.0.0'
366
- """
367
- * I successfully run `berks install`
368
- * the file "Berksfile.lock" should contain:
369
- """
370
- DEPENDENCIES
371
- fake
372
- path: fake
373
-
374
- GRAPH
375
- fake (2.0.0)
376
- """
377
- * the output should not contain "Using fake (1.0.0)"
378
- * the output should contain "Using fake (2.0.0)"