berkshelf 3.0.0.beta4 → 3.0.0.beta5
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.
- checksums.yaml +4 -4
- data/.gitignore +1 -0
- data/CHANGELOG.md +6 -0
- data/README.md +3 -0
- data/berkshelf-complete.sh +10 -3
- data/berkshelf.gemspec +12 -11
- data/features/berksfile.feature +0 -2
- data/features/commands/apply.feature +0 -1
- data/features/commands/contingent.feature +0 -3
- data/features/commands/cookbook.feature +0 -3
- data/features/commands/init.feature +0 -2
- data/features/commands/install.feature +42 -35
- data/features/commands/list.feature +0 -3
- data/features/commands/outdated.feature +0 -4
- data/features/commands/package.feature +2 -39
- data/features/commands/shelf/list.feature +0 -2
- data/features/commands/shelf/show.feature +0 -5
- data/features/commands/shelf/uninstall.feature +0 -5
- data/features/commands/show.feature +0 -3
- data/features/commands/update.feature +0 -3
- data/features/commands/upload.feature +0 -13
- data/features/commands/vendor.feature +0 -5
- data/features/community_site.feature +0 -2
- data/features/config.feature +0 -6
- data/features/json_formatter.feature +0 -5
- data/features/licenses.feature +0 -5
- data/features/lockfile.feature +0 -20
- data/features/step_definitions/chef_server_steps.rb +8 -2
- data/generator_files/Gemfile.erb +2 -2
- data/lib/berkshelf.rb +0 -4
- data/lib/berkshelf/berksfile.rb +21 -51
- data/lib/berkshelf/cli.rb +26 -15
- data/lib/berkshelf/config.rb +4 -0
- data/lib/berkshelf/cookbook_generator.rb +1 -1
- data/lib/berkshelf/cookbook_store.rb +8 -0
- data/lib/berkshelf/core_ext/file.rb +2 -2
- data/lib/berkshelf/core_ext/pathname.rb +5 -7
- data/lib/berkshelf/dependency.rb +8 -1
- data/lib/berkshelf/downloader.rb +37 -0
- data/lib/berkshelf/errors.rb +1 -0
- data/lib/berkshelf/formatters.rb +1 -0
- data/lib/berkshelf/formatters/human_readable.rb +23 -9
- data/lib/berkshelf/formatters/json.rb +7 -9
- data/lib/berkshelf/git.rb +0 -1
- data/lib/berkshelf/init_generator.rb +1 -1
- data/lib/berkshelf/installer.rb +43 -19
- data/lib/berkshelf/location.rb +8 -13
- data/lib/berkshelf/locations/git_location.rb +12 -19
- data/lib/berkshelf/locations/mercurial_location.rb +5 -18
- data/lib/berkshelf/locations/path_location.rb +7 -0
- data/lib/berkshelf/lockfile.rb +5 -1
- data/lib/berkshelf/packager.rb +73 -0
- data/lib/berkshelf/resolver.rb +7 -5
- data/lib/berkshelf/resolver/graph.rb +7 -0
- data/lib/berkshelf/source.rb +22 -2
- data/lib/berkshelf/ui.rb +0 -2
- data/lib/berkshelf/version.rb +1 -1
- data/spec/support/git.rb +1 -0
- data/spec/support/mercurial.rb +37 -36
- data/spec/unit/berkshelf/berksfile_spec.rb +2 -34
- data/spec/unit/berkshelf/cli_spec.rb +3 -2
- data/spec/unit/berkshelf/config_spec.rb +3 -3
- data/spec/unit/berkshelf/core_ext/pathname_spec.rb +46 -0
- data/spec/unit/berkshelf/dependency_spec.rb +3 -3
- data/spec/unit/berkshelf/formatters_spec.rb +4 -4
- data/spec/unit/berkshelf/git_spec.rb +8 -8
- data/spec/unit/berkshelf/installer_spec.rb +2 -2
- data/spec/unit/berkshelf/locations/git_location_spec.rb +2 -8
- data/spec/unit/berkshelf/locations/mercurial_location_spec.rb +4 -23
- data/spec/unit/berkshelf/lockfile_spec.rb +1 -1
- data/spec/unit/berkshelf/mercurial_spec.rb +6 -7
- data/spec/unit/berkshelf/packager_spec.rb +39 -0
- data/spec/unit/berkshelf/ui_spec.rb +2 -2
- data/spec/unit/berkshelf_spec.rb +2 -2
- metadata +37 -24
- data/lib/berkshelf/api_client.rb +0 -65
- data/lib/berkshelf/api_client/remote_cookbook.rb +0 -55
- data/spec/unit/berkshelf/api_client/remote_cookbook_spec.rb +0 -23
- data/spec/unit/berkshelf/api_client_spec.rb +0 -57
@@ -19,7 +19,6 @@ Feature: berks list
|
|
19
19
|
* fake2 (1.0.1)
|
20
20
|
"""
|
21
21
|
|
22
|
-
|
23
22
|
Scenario: Running the list command when the dependencies aren't downloaded
|
24
23
|
And I have a Berksfile pointing at the local Berkshelf API with:
|
25
24
|
"""
|
@@ -34,7 +33,6 @@ Feature: berks list
|
|
34
33
|
"""
|
35
34
|
And the exit status should be "CookbookNotFound"
|
36
35
|
|
37
|
-
|
38
36
|
Scenario: Running the list command when the lockfile isn't present
|
39
37
|
Given the cookbook store has the cookbooks:
|
40
38
|
| fake | 1.0.0 |
|
@@ -49,7 +47,6 @@ Feature: berks list
|
|
49
47
|
"""
|
50
48
|
And the exit status should be "CookbookNotFound"
|
51
49
|
|
52
|
-
|
53
50
|
Scenario: Running the list command with no dependencies defined
|
54
51
|
Given I have a Berksfile pointing at the local Berkshelf API
|
55
52
|
When I successfully run `berks list`
|
@@ -18,7 +18,6 @@ Feature: berks outdated
|
|
18
18
|
All cookbooks up to date!
|
19
19
|
"""
|
20
20
|
|
21
|
-
|
22
21
|
Scenario: the dependency has no version constraint and there are new items
|
23
22
|
Given the Chef Server has cookbooks:
|
24
23
|
| bacon | 1.0.0 |
|
@@ -39,7 +38,6 @@ Feature: berks outdated
|
|
39
38
|
* bacon (1.1.0)
|
40
39
|
"""
|
41
40
|
|
42
|
-
|
43
41
|
Scenario: the dependency has a version constraint and there are new items that satisfy it
|
44
42
|
Given the Chef Server has cookbooks:
|
45
43
|
| bacon | 1.1.0 |
|
@@ -61,7 +59,6 @@ Feature: berks outdated
|
|
61
59
|
* bacon (1.5.8)
|
62
60
|
"""
|
63
61
|
|
64
|
-
|
65
62
|
Scenario: When there is no lockfile present
|
66
63
|
And I have a Berksfile pointing at the local Berkshelf API with:
|
67
64
|
"""
|
@@ -74,7 +71,6 @@ Feature: berks outdated
|
|
74
71
|
"""
|
75
72
|
And the exit status should be "CookbookNotFound"
|
76
73
|
|
77
|
-
|
78
74
|
Scenario: When the cookbook is not installed
|
79
75
|
And I have a Berksfile pointing at the local Berkshelf API with:
|
80
76
|
"""
|
@@ -9,46 +9,9 @@ Feature: berks package
|
|
9
9
|
"""
|
10
10
|
cookbook 'fake', '~> 1.0.0'
|
11
11
|
"""
|
12
|
-
When I successfully run `berks package
|
13
|
-
Then a file named "
|
12
|
+
When I successfully run `berks package my-cookbooks.tar.gz`
|
13
|
+
Then a file named "my-cookbooks.tar.gz" should exist
|
14
14
|
And the output should contain:
|
15
15
|
"""
|
16
16
|
Cookbook(s) packaged to
|
17
17
|
"""
|
18
|
-
|
19
|
-
|
20
|
-
Scenario: With the --output option
|
21
|
-
Given I have a Berksfile pointing at the local Berkshelf API with:
|
22
|
-
"""
|
23
|
-
cookbook 'fake', '~> 1.0.0'
|
24
|
-
"""
|
25
|
-
When I successfully run `berks package fake --output foo/bar`
|
26
|
-
Then a file named "foo/bar/fake.tar.gz" should exist
|
27
|
-
|
28
|
-
|
29
|
-
Scenario: With an installed cookbook name
|
30
|
-
Given I have a Berksfile pointing at the local Berkshelf API with:
|
31
|
-
"""
|
32
|
-
cookbook 'fake', '~> 1.0.0'
|
33
|
-
"""
|
34
|
-
When I run `berks package non-existent`
|
35
|
-
Then a file named "non-existent.tar.gz" should not exist
|
36
|
-
And the output should contain:
|
37
|
-
"""
|
38
|
-
Cookbook 'non-existent' is not in your Berksfile
|
39
|
-
"""
|
40
|
-
And the exit status should be "CookbookNotFound"
|
41
|
-
|
42
|
-
|
43
|
-
Scenario: With an invalid cookbook
|
44
|
-
Given a cookbook named "cookbook with spaces"
|
45
|
-
And I have a Berksfile pointing at the local Berkshelf API with:
|
46
|
-
"""
|
47
|
-
cookbook 'cookbook with spaces', path: './cookbook with spaces'
|
48
|
-
"""
|
49
|
-
When I run `berks package`
|
50
|
-
Then the output should contain:
|
51
|
-
"""
|
52
|
-
The cookbook 'cookbook with spaces' has invalid filenames:
|
53
|
-
"""
|
54
|
-
And the exit status should be "InvalidCookbookFiles"
|
@@ -6,7 +6,6 @@ Feature: berks shelf list
|
|
6
6
|
There are no cookbooks in the Berkshelf shelf
|
7
7
|
"""
|
8
8
|
|
9
|
-
|
10
9
|
Scenario: With two cookbooks in the store
|
11
10
|
Given the cookbook store has the cookbooks:
|
12
11
|
| fake | 1.0.0 |
|
@@ -19,7 +18,6 @@ Feature: berks shelf list
|
|
19
18
|
* fake (1.0.0)
|
20
19
|
"""
|
21
20
|
|
22
|
-
|
23
21
|
Scenario: With multiple cookbook versions installed
|
24
22
|
Given the cookbook store has the cookbooks:
|
25
23
|
| fake | 1.0.0 |
|
@@ -7,7 +7,6 @@ Feature: berks shelf show
|
|
7
7
|
"""
|
8
8
|
And the exit status should be "CookbookNotFound"
|
9
9
|
|
10
|
-
|
11
10
|
Scenario: With cookbooks in the store
|
12
11
|
Given the cookbook store has the cookbooks:
|
13
12
|
| fake | 1.0.0 |
|
@@ -28,7 +27,6 @@ Feature: berks shelf show
|
|
28
27
|
Name: ekaf
|
29
28
|
"""
|
30
29
|
|
31
|
-
|
32
30
|
Scenario: With cookbooks in the store and the --version option
|
33
31
|
Given the cookbook store has the cookbooks:
|
34
32
|
| fake | 1.0.0 |
|
@@ -49,7 +47,6 @@ Feature: berks shelf show
|
|
49
47
|
Name: ekaf
|
50
48
|
"""
|
51
49
|
|
52
|
-
|
53
50
|
Scenario: With cookbooks in the store and the --version option doesn't exist
|
54
51
|
Given the cookbook store has the cookbooks:
|
55
52
|
| fake | 1.0.0 |
|
@@ -61,7 +58,6 @@ Feature: berks shelf show
|
|
61
58
|
"""
|
62
59
|
And the exit status should be "CookbookNotFound"
|
63
60
|
|
64
|
-
|
65
61
|
Scenario: With multiple cookbook versions installed
|
66
62
|
Given the cookbook store has the cookbooks:
|
67
63
|
| fake | 1.0.0 |
|
@@ -101,7 +97,6 @@ Feature: berks shelf show
|
|
101
97
|
License: none
|
102
98
|
"""
|
103
99
|
|
104
|
-
|
105
100
|
Scenario: With multiple cookbook versions installed and the --version flag
|
106
101
|
Given the cookbook store has the cookbooks:
|
107
102
|
| fake | 1.0.0 |
|
@@ -7,7 +7,6 @@ Feature: berks shelf uninstall
|
|
7
7
|
"""
|
8
8
|
And the exit status should be "CookbookNotFound"
|
9
9
|
|
10
|
-
|
11
10
|
Scenario: With two cookbooks in the store
|
12
11
|
Given the cookbook store has the cookbooks:
|
13
12
|
| fake | 1.0.0 |
|
@@ -22,7 +21,6 @@ Feature: berks shelf uninstall
|
|
22
21
|
And the cookbook store should have the cookbooks:
|
23
22
|
| ekaf | 2.3.4 |
|
24
23
|
|
25
|
-
|
26
24
|
Scenario: With multiple cookbook versions installed
|
27
25
|
Given the cookbook store has the cookbooks:
|
28
26
|
| fake | 1.0.0 |
|
@@ -43,7 +41,6 @@ Feature: berks shelf uninstall
|
|
43
41
|
| fake | 1.2.0 |
|
44
42
|
| fake | 2.0.0 |
|
45
43
|
|
46
|
-
|
47
44
|
Scenario: When specifying a version
|
48
45
|
Given the cookbook store has the cookbooks:
|
49
46
|
| fake | 1.0.0 |
|
@@ -62,7 +59,6 @@ Feature: berks shelf uninstall
|
|
62
59
|
| fake | 1.2.0 |
|
63
60
|
| fake | 2.0.0 |
|
64
61
|
|
65
|
-
|
66
62
|
@spawn
|
67
63
|
Scenario: With contingencies
|
68
64
|
Given the cookbook store contains a cookbook "fake" "1.0.0" with dependencies:
|
@@ -84,7 +80,6 @@ Feature: berks shelf uninstall
|
|
84
80
|
And the cookbook store should not have the cookbooks:
|
85
81
|
| ekaf | 2.3.4 |
|
86
82
|
|
87
|
-
|
88
83
|
Scenario: With contingencies and the --force flag
|
89
84
|
Given the cookbook store contains a cookbook "fake" "1.0.0" with dependencies:
|
90
85
|
| ekaf | 2.3.4 |
|
@@ -19,7 +19,6 @@ Feature: berks show
|
|
19
19
|
License: none
|
20
20
|
"""
|
21
21
|
|
22
|
-
|
23
22
|
Scenario: When the cookbook is not in the Berksfile
|
24
23
|
Given I have a Berksfile pointing at the local Berkshelf API
|
25
24
|
When I run `berks show fake`
|
@@ -29,7 +28,6 @@ Feature: berks show
|
|
29
28
|
"""
|
30
29
|
And the exit status should be "DependencyNotFound"
|
31
30
|
|
32
|
-
|
33
31
|
Scenario: When there is no lockfile present
|
34
32
|
And I have a Berksfile pointing at the local Berkshelf API with:
|
35
33
|
"""
|
@@ -42,7 +40,6 @@ Feature: berks show
|
|
42
40
|
"""
|
43
41
|
And the exit status should be "CookbookNotFound"
|
44
42
|
|
45
|
-
|
46
43
|
Scenario: When the cookbook is not installed
|
47
44
|
Given the cookbook store is empty
|
48
45
|
And I have a Berksfile pointing at the local Berkshelf API with:
|
@@ -8,7 +8,6 @@ Feature: berks update
|
|
8
8
|
| ekaf | 1.0.0 |
|
9
9
|
| ekaf | 1.0.1 |
|
10
10
|
|
11
|
-
|
12
11
|
Scenario: Without a cookbook specified
|
13
12
|
And I have a Berksfile pointing at the local Berkshelf API with:
|
14
13
|
"""
|
@@ -23,7 +22,6 @@ Feature: berks update
|
|
23
22
|
| fake | 0.2.0 |
|
24
23
|
| ekaf | 1.0.1 |
|
25
24
|
|
26
|
-
|
27
25
|
Scenario: With a single cookbook specified
|
28
26
|
And I have a Berksfile pointing at the local Berkshelf API with:
|
29
27
|
"""
|
@@ -38,7 +36,6 @@ Feature: berks update
|
|
38
36
|
| fake | 0.2.0 |
|
39
37
|
| ekaf | 1.0.0 |
|
40
38
|
|
41
|
-
|
42
39
|
Scenario: With a cookbook that does not exist
|
43
40
|
Given I have a Berksfile pointing at the local Berkshelf API
|
44
41
|
When I run `berks update not_real`
|
@@ -7,7 +7,6 @@ Feature: berks upload
|
|
7
7
|
| ekaf | 2.0.0 |
|
8
8
|
| oops | 3.0.0 |
|
9
9
|
|
10
|
-
|
11
10
|
Scenario: multiple cookbooks with no arguments
|
12
11
|
And I have a Berksfile pointing at the local Berkshelf API with:
|
13
12
|
"""
|
@@ -19,7 +18,6 @@ Feature: berks upload
|
|
19
18
|
| fake | 1.0.0 |
|
20
19
|
| ekaf | 2.0.0 |
|
21
20
|
|
22
|
-
|
23
21
|
Scenario: a cookbook with a path location
|
24
22
|
Given a cookbook named "fake"
|
25
23
|
And I have a Berksfile pointing at the local Berkshelf API with:
|
@@ -30,7 +28,6 @@ Feature: berks upload
|
|
30
28
|
Then the Chef Server should have the cookbooks:
|
31
29
|
| fake | 0.0.0 |
|
32
30
|
|
33
|
-
|
34
31
|
Scenario: specifying a single cookbook with dependencies
|
35
32
|
Given the cookbook store contains a cookbook "reset" "3.4.5" with dependencies:
|
36
33
|
| fake | = 1.0.0 |
|
@@ -47,7 +44,6 @@ Feature: berks upload
|
|
47
44
|
And the Chef Server should not have the cookbooks:
|
48
45
|
| ekaf | 2.0.0 |
|
49
46
|
|
50
|
-
|
51
47
|
Scenario: specifying a dependency not defined in the Berksfile
|
52
48
|
Given I have a Berksfile pointing at the local Berkshelf API
|
53
49
|
When I run `berks upload reset`
|
@@ -57,7 +53,6 @@ Feature: berks upload
|
|
57
53
|
"""
|
58
54
|
And the exit status should be "DependencyNotFound"
|
59
55
|
|
60
|
-
|
61
56
|
Scenario: specifying multiple cookbooks to upload
|
62
57
|
Given I have a Berksfile pointing at the local Berkshelf API with:
|
63
58
|
"""
|
@@ -72,7 +67,6 @@ Feature: berks upload
|
|
72
67
|
And the Chef Server should not have the cookbooks:
|
73
68
|
| oops |
|
74
69
|
|
75
|
-
|
76
70
|
Scenario: uploading a single groups of demands with the --only flag
|
77
71
|
Given I have a Berksfile pointing at the local Berkshelf API with:
|
78
72
|
"""
|
@@ -85,7 +79,6 @@ Feature: berks upload
|
|
85
79
|
And the Chef Server should not have the cookbooks:
|
86
80
|
| ekaf | 2.0.0 |
|
87
81
|
|
88
|
-
|
89
82
|
Scenario: uploading multiple groups of demands with the --only flag
|
90
83
|
Given I have a Berksfile pointing at the local Berkshelf API with:
|
91
84
|
"""
|
@@ -97,7 +90,6 @@ Feature: berks upload
|
|
97
90
|
| fake | 1.0.0 |
|
98
91
|
| ekaf | 2.0.0 |
|
99
92
|
|
100
|
-
|
101
93
|
Scenario: skipping a single group to upload with the --except flag
|
102
94
|
Given I have a Berksfile pointing at the local Berkshelf API with:
|
103
95
|
"""
|
@@ -110,7 +102,6 @@ Feature: berks upload
|
|
110
102
|
And the Chef Server should not have the cookbooks:
|
111
103
|
| ekaf | 2.0.0 |
|
112
104
|
|
113
|
-
|
114
105
|
Scenario: skipping multiple groups with the --except flag
|
115
106
|
Given I have a Berksfile pointing at the local Berkshelf API with:
|
116
107
|
"""
|
@@ -122,7 +113,6 @@ Feature: berks upload
|
|
122
113
|
| fake | 1.0.0 |
|
123
114
|
| ekaf | 2.0.0 |
|
124
115
|
|
125
|
-
|
126
116
|
Scenario: attempting to upload an invalid cookbook
|
127
117
|
Given a cookbook named "cookbook with spaces"
|
128
118
|
And I have a Berksfile pointing at the local Berkshelf API with:
|
@@ -136,7 +126,6 @@ Feature: berks upload
|
|
136
126
|
"""
|
137
127
|
And the exit status should be "InvalidCookbookFiles"
|
138
128
|
|
139
|
-
|
140
129
|
Scenario: With unicode characters
|
141
130
|
Given a cookbook named "fake"
|
142
131
|
And I cd to "fake"
|
@@ -157,7 +146,6 @@ Feature: berks upload
|
|
157
146
|
Uploading fake (0.0.0)
|
158
147
|
"""
|
159
148
|
|
160
|
-
|
161
149
|
Scenario: When the cookbook already exist
|
162
150
|
And the Chef Server has frozen cookbooks:
|
163
151
|
| fake | 1.0.0 |
|
@@ -177,7 +165,6 @@ Feature: berks upload
|
|
177
165
|
* fake (1.0.0)
|
178
166
|
"""
|
179
167
|
|
180
|
-
|
181
168
|
Scenario: When the cookbook already exist and is a metadata location
|
182
169
|
Given a cookbook named "fake"
|
183
170
|
And the cookbook "fake" has the file "Berksfile" with:
|
@@ -6,7 +6,6 @@ Feature: Vendoring cookbooks to a directory
|
|
6
6
|
| ekaf | 2.0.0 |
|
7
7
|
* the Berkshelf API server's cache is up to date
|
8
8
|
|
9
|
-
|
10
9
|
Scenario: successfully vendoring a Berksfile with multiple cookbook demands
|
11
10
|
Given I have a Berksfile pointing at the local Berkshelf API with:
|
12
11
|
"""
|
@@ -17,12 +16,10 @@ Feature: Vendoring cookbooks to a directory
|
|
17
16
|
Then the directory "cukebooks/fake" should contain version "1.0.0" of the "fake" cookbook
|
18
17
|
And the directory "cukebooks/ekaf" should contain version "2.0.0" of the "ekaf" cookbook
|
19
18
|
|
20
|
-
|
21
19
|
Scenario: attempting to vendor when no Berksfile is present
|
22
20
|
When I run `berks vendor cukebooks`
|
23
21
|
Then the exit status should be "BerksfileNotFound"
|
24
22
|
|
25
|
-
|
26
23
|
Scenario: vendoring a Berksfile with a metadata demand
|
27
24
|
Given a cookbook named "fake"
|
28
25
|
And I cd to "fake"
|
@@ -33,7 +30,6 @@ Feature: Vendoring cookbooks to a directory
|
|
33
30
|
When I successfully run `berks vendor cukebooks`
|
34
31
|
And the directory "cukebooks/fake" should contain version "0.0.0" of the "fake" cookbook
|
35
32
|
|
36
|
-
|
37
33
|
Scenario: vendoring without an explicit path to vendor into
|
38
34
|
Given I have a Berksfile pointing at the local Berkshelf API with:
|
39
35
|
"""
|
@@ -42,7 +38,6 @@ Feature: Vendoring cookbooks to a directory
|
|
42
38
|
When I successfully run `berks vendor`
|
43
39
|
And the directory "berks-cookbooks/fake" should contain version "1.0.0" of the "fake" cookbook
|
44
40
|
|
45
|
-
|
46
41
|
Scenario: vendoring to a directory that already exists
|
47
42
|
Given I have a Berksfile pointing at the local Berkshelf API with:
|
48
43
|
"""
|
@@ -12,7 +12,6 @@ Feature: Installing cookbooks from the community site
|
|
12
12
|
And the cookbook store should have the cookbooks:
|
13
13
|
| apache2 | 1.6.6 |
|
14
14
|
|
15
|
-
|
16
15
|
Scenario: when the cookbook does not exist
|
17
16
|
Given I have a Berksfile pointing at the community API endpoint with:
|
18
17
|
"""
|
@@ -25,7 +24,6 @@ Feature: Installing cookbooks from the community site
|
|
25
24
|
"""
|
26
25
|
And the exit status should be "NoSolutionError"
|
27
26
|
|
28
|
-
|
29
27
|
Scenario: when the cookbook exists, but the version does not
|
30
28
|
Given I have a Berksfile pointing at the community API endpoint with:
|
31
29
|
"""
|
data/features/config.feature
CHANGED
@@ -6,7 +6,6 @@ Feature: Reading a Berkshelf configuration file
|
|
6
6
|
| config.vm.box = "opscode_ubuntu-12.04_provisionerless" |
|
7
7
|
| config.vm.box_url = "https://opscode-vm-bento.s3.amazonaws.com/vagrant/opscode_ubuntu-12.04_provisionerless.box" |
|
8
8
|
|
9
|
-
|
10
9
|
Scenario: Using a Berkshelf configuration file that disables the vagrant-omnibus plugin
|
11
10
|
Given I have a Berkshelf config file containing:
|
12
11
|
"""
|
@@ -40,7 +39,6 @@ Feature: Reading a Berkshelf configuration file
|
|
40
39
|
| config.vm.network :public_network |
|
41
40
|
And the exit status should be 0
|
42
41
|
|
43
|
-
|
44
42
|
Scenario: Using a Berkshelf configuration file that sets the vagrant-omnibus plugin chef version
|
45
43
|
Given I have a Berkshelf config file containing:
|
46
44
|
"""
|
@@ -74,7 +72,6 @@ Feature: Reading a Berkshelf configuration file
|
|
74
72
|
| config.vm.network :public_network |
|
75
73
|
And the exit status should be 0
|
76
74
|
|
77
|
-
|
78
75
|
Scenario: Using a Berkshelf configuration file that sets the vagrant-omnibus plugin chef version to latest
|
79
76
|
Given I have a Berkshelf config file containing:
|
80
77
|
"""
|
@@ -107,7 +104,6 @@ Feature: Reading a Berkshelf configuration file
|
|
107
104
|
| config.vm.network :private_network, ip: "12.34.56.78" |
|
108
105
|
| config.vm.network :public_network |
|
109
106
|
|
110
|
-
|
111
107
|
Scenario: Using a partial Berkshelf configuration file
|
112
108
|
Given I have a Berkshelf config file containing:
|
113
109
|
"""
|
@@ -125,7 +121,6 @@ Feature: Reading a Berkshelf configuration file
|
|
125
121
|
Then the resulting "sparkle_motion" Vagrantfile should contain:
|
126
122
|
| config.vm.network :forwarded_port, guest: 12345, host: 54321 |
|
127
123
|
|
128
|
-
|
129
124
|
Scenario: Using an invalid Berkshelf configuration file
|
130
125
|
Given I have a Berkshelf config file containing:
|
131
126
|
"""
|
@@ -142,7 +137,6 @@ Feature: Reading a Berkshelf configuration file
|
|
142
137
|
And the output should contain "vagrant.vm.box Expected attribute: 'vagrant.vm.box' to be a type of: 'String'"
|
143
138
|
And the exit status should be "InvalidConfiguration"
|
144
139
|
|
145
|
-
|
146
140
|
Scenario: Using a Berkshelf configuration file with Chef configuration information
|
147
141
|
Given I have a Berkshelf config file containing:
|
148
142
|
"""
|
@@ -4,7 +4,6 @@ Feature: --format json
|
|
4
4
|
* the Chef Server is empty
|
5
5
|
* the cookbook store is empty
|
6
6
|
|
7
|
-
|
8
7
|
Scenario: JSON output installing a cookbook from the default location
|
9
8
|
Given I have a Berksfile pointing at the local Berkshelf API with:
|
10
9
|
"""
|
@@ -34,7 +33,6 @@ Feature: --format json
|
|
34
33
|
}
|
35
34
|
"""
|
36
35
|
|
37
|
-
|
38
36
|
Scenario: JSON output installing a cookbook we already have
|
39
37
|
Given the cookbook store has the cookbooks:
|
40
38
|
| berkshelf-cookbook-fixture | 1.0.0 |
|
@@ -61,7 +59,6 @@ Feature: --format json
|
|
61
59
|
}
|
62
60
|
"""
|
63
61
|
|
64
|
-
|
65
62
|
Scenario: JSON output when running the show command
|
66
63
|
Given the cookbook store has the cookbooks:
|
67
64
|
| fake | 1.0.0 |
|
@@ -93,7 +90,6 @@ Feature: --format json
|
|
93
90
|
}
|
94
91
|
"""
|
95
92
|
|
96
|
-
|
97
93
|
Scenario: JSON output when running the upload command
|
98
94
|
Given I have a Berksfile pointing at the local Berkshelf API with:
|
99
95
|
"""
|
@@ -120,7 +116,6 @@ Feature: --format json
|
|
120
116
|
}
|
121
117
|
"""
|
122
118
|
|
123
|
-
|
124
119
|
Scenario: JSON output when running the outdated command
|
125
120
|
Given the cookbook store has the cookbooks:
|
126
121
|
| seth | 0.1.0 |
|