knife_cookbook_dependencies 0.0.6 → 0.0.7
Sign up to get free protection for your applications and to get access to all the features.
- data/Rakefile +5 -0
- data/features/lib/chef/knife/clean.feature +29 -0
- data/features/lib/chef/knife/install.feature +24 -0
- data/features/lib/chef/knife/update.feature +38 -0
- data/features/support/env.rb +7 -1
- data/features/support/step_definitions.rb +4 -0
- data/lib/chef/knife/cookbook_dependencies_clean.rb +19 -0
- data/lib/chef/knife/cookbook_dependencies_update.rb +21 -0
- data/lib/kcd/cookbook.rb +4 -1
- data/lib/kcd/lockfile.rb +14 -2
- data/lib/kcd/version.rb +1 -1
- data/lib/knife_cookbook_dependencies.rb +18 -14
- data/spec/lib/kcd/cookbook_spec.rb +1 -1
- data/spec/spec_helper.rb +2 -1
- metadata +42 -36
- data/spec/acceptance/knife_cookbook_dependencies_spec.rb +0 -12
data/Rakefile
CHANGED
@@ -2,6 +2,11 @@ require "bundler/gem_tasks"
|
|
2
2
|
require 'rdoc/task'
|
3
3
|
require 'rspec/core/rake_task'
|
4
4
|
|
5
|
+
desc "clean VCR cassettes"
|
6
|
+
task "vcr:clean" do
|
7
|
+
sh "rm -rf spec/fixtures/vcr_cassettes/*"
|
8
|
+
end
|
9
|
+
|
5
10
|
desc "check documentation coverage"
|
6
11
|
task "rdoc:check" do
|
7
12
|
sh "rdoc -C " + Dir["lib/**/*.rb"].join(" ")
|
@@ -0,0 +1,29 @@
|
|
1
|
+
Feature: Clean
|
2
|
+
As a user
|
3
|
+
I want to be able to clean all the files downloaded/created by kcd
|
4
|
+
So that I can be sure previous runs are not messing up my current action
|
5
|
+
and so I can get rid of installations I don't want any more
|
6
|
+
|
7
|
+
Scenario: knife cookbook dependencies clean
|
8
|
+
Given I write to "Cookbookfile" with:
|
9
|
+
"""
|
10
|
+
cookbook "mysql"
|
11
|
+
"""
|
12
|
+
When I run `knife cookbook dependencies install`
|
13
|
+
And I run `knife cookbook dependencies clean`
|
14
|
+
Then the following directories should not exist:
|
15
|
+
| cookbooks |
|
16
|
+
And the file "Cookbookfile.lock" should not exist
|
17
|
+
And the temp directory should not exist
|
18
|
+
|
19
|
+
Scenario: knife cookbook deps clean
|
20
|
+
Given I write to "Cookbookfile" with:
|
21
|
+
"""
|
22
|
+
cookbook "mysql"
|
23
|
+
"""
|
24
|
+
When I run `knife cookbook deps install`
|
25
|
+
And I run `knife cookbook deps clean`
|
26
|
+
Then the following directories should not exist:
|
27
|
+
| cookbooks |
|
28
|
+
And the file "Cookbookfile.lock" should not exist
|
29
|
+
And the temp directory should not exist
|
@@ -0,0 +1,24 @@
|
|
1
|
+
Feature: install cookbooks from a Cookbookfile
|
2
|
+
As a user with a Cookbookfile
|
3
|
+
I want to be able to run knife cookbook dependencies install to install my cookbooks
|
4
|
+
So that I don't have to download my cookbooks and their dependencies manually
|
5
|
+
|
6
|
+
Scenario: install cookbooks
|
7
|
+
Given I write to "Cookbookfile" with:
|
8
|
+
"""
|
9
|
+
cookbook "mysql"
|
10
|
+
"""
|
11
|
+
When I run `knife cookbook dependencies install`
|
12
|
+
Then the following directories should exist:
|
13
|
+
| cookbooks/mysql |
|
14
|
+
| cookbooks/openssl |
|
15
|
+
|
16
|
+
Scenario: install cookbooks with the alias
|
17
|
+
Given I write to "Cookbookfile" with:
|
18
|
+
"""
|
19
|
+
cookbook "mysql"
|
20
|
+
"""
|
21
|
+
When I run `knife cookbook deps install`
|
22
|
+
Then the following directories should exist:
|
23
|
+
| cookbooks/mysql |
|
24
|
+
| cookbooks/openssl |
|
@@ -0,0 +1,38 @@
|
|
1
|
+
Feature: update
|
2
|
+
As a user
|
3
|
+
I want a way to update the versions without clearing out the files I've downloaded
|
4
|
+
So that I can update faster than a clean install
|
5
|
+
|
6
|
+
Scenario: knife cookbook dependencies update
|
7
|
+
Given I write to "Cookbookfile" with:
|
8
|
+
"""
|
9
|
+
cookbook "mysql"
|
10
|
+
"""
|
11
|
+
Given I write to "Cookbookfile.lock" with:
|
12
|
+
"""
|
13
|
+
cookbook 'mysql', :locked_version => '0.0.1'
|
14
|
+
cookbook 'openssl', :locked_version => '0.0.1'
|
15
|
+
"""
|
16
|
+
When I run `knife cookbook dependencies update`
|
17
|
+
Then the file "Cookbookfile.lock" should contain exactly:
|
18
|
+
"""
|
19
|
+
cookbook 'mysql', :locked_version => '1.2.4'
|
20
|
+
cookbook 'openssl', :locked_version => '1.0.0'
|
21
|
+
"""
|
22
|
+
|
23
|
+
Scenario: knife cookbook deps update
|
24
|
+
Given I write to "Cookbookfile" with:
|
25
|
+
"""
|
26
|
+
cookbook "mysql"
|
27
|
+
"""
|
28
|
+
Given I write to "Cookbookfile.lock" with:
|
29
|
+
"""
|
30
|
+
cookbook 'mysql', :locked_version => '0.0.1'
|
31
|
+
cookbook 'openssl', :locked_version => '0.0.1'
|
32
|
+
"""
|
33
|
+
When I run `knife cookbook deps update`
|
34
|
+
Then the file "Cookbookfile.lock" should contain exactly:
|
35
|
+
"""
|
36
|
+
cookbook 'mysql', :locked_version => '1.2.4'
|
37
|
+
cookbook 'openssl', :locked_version => '1.0.0'
|
38
|
+
"""
|
data/features/support/env.rb
CHANGED
@@ -0,0 +1,19 @@
|
|
1
|
+
require 'chef/knife'
|
2
|
+
require 'kcd'
|
3
|
+
|
4
|
+
module KnifeCookbookDependencies
|
5
|
+
class CookbookDependenciesClean < Chef::Knife
|
6
|
+
banner "knife cookbook dependencies clean"
|
7
|
+
|
8
|
+
def run
|
9
|
+
ui.info 'Cleaning up...'
|
10
|
+
::KCD.ui = ui
|
11
|
+
|
12
|
+
::KCD.clean
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
class CookbookDepsClean < CookbookDependenciesClean
|
17
|
+
banner "knife cookbook deps clean"
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
require 'chef/knife'
|
2
|
+
require 'kcd'
|
3
|
+
|
4
|
+
module KnifeCookbookDependencies
|
5
|
+
class CookbookDependenciesUpdate < CookbookDependenciesInstall
|
6
|
+
banner "knife cookbook dependencies update"
|
7
|
+
|
8
|
+
alias :install_run :run
|
9
|
+
|
10
|
+
def run
|
11
|
+
::KCD.ui = ui
|
12
|
+
|
13
|
+
Lockfile.remove!
|
14
|
+
install_run
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
class CookbookDepsUpdate < CookbookDependenciesUpdate
|
19
|
+
banner "knife cookbook deps update"
|
20
|
+
end
|
21
|
+
end
|
data/lib/kcd/cookbook.rb
CHANGED
@@ -7,7 +7,7 @@ module KnifeCookbookDependencies
|
|
7
7
|
attr_reader :name, :version_constraints, :groups
|
8
8
|
attr_accessor :locked_version
|
9
9
|
|
10
|
-
DOWNLOAD_LOCATION =
|
10
|
+
DOWNLOAD_LOCATION = ::KCD::TMP_DIRECTORY || '/tmp'
|
11
11
|
|
12
12
|
def initialize(*args)
|
13
13
|
@options = args.last.is_a?(Hash) ? args.pop : {}
|
@@ -47,7 +47,10 @@ module KnifeCookbookDependencies
|
|
47
47
|
@git.checkout(@options[:ref]) if @options[:ref]
|
48
48
|
@options[:path] ||= @git.directory
|
49
49
|
else
|
50
|
+
FileUtils.mkdir_p KCD::TMP_DIRECTORY
|
50
51
|
csd = Chef::Knife::CookbookSiteDownload.new([name, latest_constrained_version.to_s, "--file", download_filename])
|
52
|
+
|
53
|
+
output = ''
|
51
54
|
rescue_404 do
|
52
55
|
output = KCD::KnifeUtils.capture_knife_output(csd)
|
53
56
|
end
|
data/lib/kcd/lockfile.rb
CHANGED
@@ -1,14 +1,16 @@
|
|
1
1
|
module KnifeCookbookDependencies
|
2
2
|
class Lockfile
|
3
|
+
DEFAULT_FILENAME = "#{KCD::DEFAULT_FILENAME}.lock"
|
4
|
+
|
3
5
|
def initialize(cookbooks)
|
4
6
|
@cookbooks = cookbooks
|
5
7
|
end
|
6
8
|
|
7
|
-
def write(filename =
|
9
|
+
def write(filename = DEFAULT_FILENAME)
|
8
10
|
content = @cookbooks.map do |cookbook|
|
9
11
|
get_cookbook_definition(cookbook)
|
10
12
|
end.join("\n")
|
11
|
-
File::open(
|
13
|
+
File::open(DEFAULT_FILENAME, "wb") { |f| f.write content }
|
12
14
|
end
|
13
15
|
|
14
16
|
def get_cookbook_definition(cookbook)
|
@@ -24,5 +26,15 @@ module KnifeCookbookDependencies
|
|
24
26
|
|
25
27
|
return definition
|
26
28
|
end
|
29
|
+
|
30
|
+
def remove!
|
31
|
+
self.class.remove!
|
32
|
+
end
|
33
|
+
|
34
|
+
class << self
|
35
|
+
def remove!
|
36
|
+
FileUtils.rm_f DEFAULT_FILENAME
|
37
|
+
end
|
38
|
+
end
|
27
39
|
end
|
28
40
|
end
|
data/lib/kcd/version.rb
CHANGED
@@ -1,20 +1,8 @@
|
|
1
|
-
require 'dep_selector'
|
2
|
-
require 'zlib'
|
3
|
-
require 'archive/tar/minitar'
|
4
|
-
|
5
|
-
require 'kcd/version'
|
6
|
-
require 'kcd/shelf'
|
7
|
-
require 'kcd/cookbook'
|
8
|
-
require 'kcd/metacookbook'
|
9
|
-
require 'kcd/dsl'
|
10
|
-
require 'kcd/cookbookfile'
|
11
|
-
require 'kcd/lockfile'
|
12
|
-
require 'kcd/git'
|
13
|
-
require 'kcd/error_messages'
|
14
|
-
|
15
1
|
module KnifeCookbookDependencies
|
16
2
|
DEFAULT_FILENAME = 'Cookbookfile'
|
17
3
|
COOKBOOKS_DIRECTORY = 'cookbooks'
|
4
|
+
TMP_DIRECTORY = File.join(ENV['TMPDIR'], 'knife_cookbook_dependencies')
|
5
|
+
FileUtils.mkdir_p TMP_DIRECTORY
|
18
6
|
|
19
7
|
autoload :KnifeUtils, 'kcd/knife_utils'
|
20
8
|
|
@@ -39,10 +27,26 @@ module KnifeCookbookDependencies
|
|
39
27
|
|
40
28
|
def clean
|
41
29
|
clear_shelf!
|
30
|
+
Lockfile.remove!
|
42
31
|
FileUtils.rm_rf COOKBOOKS_DIRECTORY
|
32
|
+
FileUtils.rm_rf TMP_DIRECTORY
|
43
33
|
end
|
44
34
|
end
|
45
35
|
end
|
46
36
|
|
47
37
|
# Alias for {KnifeCookbookDependencies}
|
48
38
|
KCD = KnifeCookbookDependencies
|
39
|
+
|
40
|
+
require 'dep_selector'
|
41
|
+
require 'zlib'
|
42
|
+
require 'archive/tar/minitar'
|
43
|
+
|
44
|
+
require 'kcd/version'
|
45
|
+
require 'kcd/shelf'
|
46
|
+
require 'kcd/cookbook'
|
47
|
+
require 'kcd/metacookbook'
|
48
|
+
require 'kcd/dsl'
|
49
|
+
require 'kcd/cookbookfile'
|
50
|
+
require 'kcd/lockfile'
|
51
|
+
require 'kcd/git'
|
52
|
+
require 'kcd/error_messages'
|
@@ -20,7 +20,7 @@ module KnifeCookbookDependencies
|
|
20
20
|
|
21
21
|
describe '#unpacked_cookbook_path' do
|
22
22
|
it "should give the path to the directory where the archive should get unpacked" do
|
23
|
-
subject.unpacked_cookbook_path.should == File.join(
|
23
|
+
subject.unpacked_cookbook_path.should == File.join(KCD::TMP_DIRECTORY, 'ntp-1.1.8')
|
24
24
|
end
|
25
25
|
end
|
26
26
|
|
data/spec/spec_helper.rb
CHANGED
@@ -64,7 +64,7 @@ Spork.prefork do
|
|
64
64
|
end
|
65
65
|
|
66
66
|
def with_cookbookfile content
|
67
|
-
Dir.chdir(
|
67
|
+
Dir.chdir(KCD::TMP_DIRECTORY) do
|
68
68
|
File.open('Cookbookfile', 'w') do |f|
|
69
69
|
f.write content
|
70
70
|
end
|
@@ -76,4 +76,5 @@ end
|
|
76
76
|
|
77
77
|
Spork.each_run do
|
78
78
|
require 'kcd'
|
79
|
+
FileUtils.mkdir_p KCD::TMP_DIRECTORY
|
79
80
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: knife_cookbook_dependencies
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.7
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -11,11 +11,11 @@ authors:
|
|
11
11
|
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
date: 2012-05-
|
14
|
+
date: 2012-05-17 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: dep_selector
|
18
|
-
requirement: &
|
18
|
+
requirement: &70254336887000 !ruby/object:Gem::Requirement
|
19
19
|
none: false
|
20
20
|
requirements:
|
21
21
|
- - ! '>='
|
@@ -23,10 +23,10 @@ dependencies:
|
|
23
23
|
version: '0'
|
24
24
|
type: :runtime
|
25
25
|
prerelease: false
|
26
|
-
version_requirements: *
|
26
|
+
version_requirements: *70254336887000
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: chef
|
29
|
-
requirement: &
|
29
|
+
requirement: &70254336886500 !ruby/object:Gem::Requirement
|
30
30
|
none: false
|
31
31
|
requirements:
|
32
32
|
- - ~>
|
@@ -34,10 +34,10 @@ dependencies:
|
|
34
34
|
version: 0.10.0
|
35
35
|
type: :runtime
|
36
36
|
prerelease: false
|
37
|
-
version_requirements: *
|
37
|
+
version_requirements: *70254336886500
|
38
38
|
- !ruby/object:Gem::Dependency
|
39
39
|
name: minitar
|
40
|
-
requirement: &
|
40
|
+
requirement: &70254336886080 !ruby/object:Gem::Requirement
|
41
41
|
none: false
|
42
42
|
requirements:
|
43
43
|
- - ! '>='
|
@@ -45,10 +45,10 @@ dependencies:
|
|
45
45
|
version: '0'
|
46
46
|
type: :runtime
|
47
47
|
prerelease: false
|
48
|
-
version_requirements: *
|
48
|
+
version_requirements: *70254336886080
|
49
49
|
- !ruby/object:Gem::Dependency
|
50
50
|
name: cucumber
|
51
|
-
requirement: &
|
51
|
+
requirement: &70254336885620 !ruby/object:Gem::Requirement
|
52
52
|
none: false
|
53
53
|
requirements:
|
54
54
|
- - ! '>='
|
@@ -56,10 +56,10 @@ dependencies:
|
|
56
56
|
version: '0'
|
57
57
|
type: :development
|
58
58
|
prerelease: false
|
59
|
-
version_requirements: *
|
59
|
+
version_requirements: *70254336885620
|
60
60
|
- !ruby/object:Gem::Dependency
|
61
61
|
name: vcr
|
62
|
-
requirement: &
|
62
|
+
requirement: &70254336885200 !ruby/object:Gem::Requirement
|
63
63
|
none: false
|
64
64
|
requirements:
|
65
65
|
- - ! '>='
|
@@ -67,10 +67,10 @@ dependencies:
|
|
67
67
|
version: '0'
|
68
68
|
type: :development
|
69
69
|
prerelease: false
|
70
|
-
version_requirements: *
|
70
|
+
version_requirements: *70254336885200
|
71
71
|
- !ruby/object:Gem::Dependency
|
72
72
|
name: webmock
|
73
|
-
requirement: &
|
73
|
+
requirement: &70254336884780 !ruby/object:Gem::Requirement
|
74
74
|
none: false
|
75
75
|
requirements:
|
76
76
|
- - ! '>='
|
@@ -78,10 +78,10 @@ dependencies:
|
|
78
78
|
version: '0'
|
79
79
|
type: :development
|
80
80
|
prerelease: false
|
81
|
-
version_requirements: *
|
81
|
+
version_requirements: *70254336884780
|
82
82
|
- !ruby/object:Gem::Dependency
|
83
83
|
name: aruba
|
84
|
-
requirement: &
|
84
|
+
requirement: &70254336884360 !ruby/object:Gem::Requirement
|
85
85
|
none: false
|
86
86
|
requirements:
|
87
87
|
- - ! '>='
|
@@ -89,10 +89,10 @@ dependencies:
|
|
89
89
|
version: '0'
|
90
90
|
type: :development
|
91
91
|
prerelease: false
|
92
|
-
version_requirements: *
|
92
|
+
version_requirements: *70254336884360
|
93
93
|
- !ruby/object:Gem::Dependency
|
94
94
|
name: rake
|
95
|
-
requirement: &
|
95
|
+
requirement: &70254336883860 !ruby/object:Gem::Requirement
|
96
96
|
none: false
|
97
97
|
requirements:
|
98
98
|
- - ~>
|
@@ -100,10 +100,10 @@ dependencies:
|
|
100
100
|
version: 0.9.0
|
101
101
|
type: :development
|
102
102
|
prerelease: false
|
103
|
-
version_requirements: *
|
103
|
+
version_requirements: *70254336883860
|
104
104
|
- !ruby/object:Gem::Dependency
|
105
105
|
name: rdoc
|
106
|
-
requirement: &
|
106
|
+
requirement: &70254336883360 !ruby/object:Gem::Requirement
|
107
107
|
none: false
|
108
108
|
requirements:
|
109
109
|
- - ~>
|
@@ -111,10 +111,10 @@ dependencies:
|
|
111
111
|
version: '3.0'
|
112
112
|
type: :development
|
113
113
|
prerelease: false
|
114
|
-
version_requirements: *
|
114
|
+
version_requirements: *70254336883360
|
115
115
|
- !ruby/object:Gem::Dependency
|
116
116
|
name: rspec
|
117
|
-
requirement: &
|
117
|
+
requirement: &70254336712200 !ruby/object:Gem::Requirement
|
118
118
|
none: false
|
119
119
|
requirements:
|
120
120
|
- - ! '>='
|
@@ -122,10 +122,10 @@ dependencies:
|
|
122
122
|
version: '0'
|
123
123
|
type: :development
|
124
124
|
prerelease: false
|
125
|
-
version_requirements: *
|
125
|
+
version_requirements: *70254336712200
|
126
126
|
- !ruby/object:Gem::Dependency
|
127
127
|
name: simplecov
|
128
|
-
requirement: &
|
128
|
+
requirement: &70254336711140 !ruby/object:Gem::Requirement
|
129
129
|
none: false
|
130
130
|
requirements:
|
131
131
|
- - ! '>='
|
@@ -133,10 +133,10 @@ dependencies:
|
|
133
133
|
version: '0'
|
134
134
|
type: :development
|
135
135
|
prerelease: false
|
136
|
-
version_requirements: *
|
136
|
+
version_requirements: *70254336711140
|
137
137
|
- !ruby/object:Gem::Dependency
|
138
138
|
name: fuubar
|
139
|
-
requirement: &
|
139
|
+
requirement: &70254336709980 !ruby/object:Gem::Requirement
|
140
140
|
none: false
|
141
141
|
requirements:
|
142
142
|
- - ! '>='
|
@@ -144,10 +144,10 @@ dependencies:
|
|
144
144
|
version: '0'
|
145
145
|
type: :development
|
146
146
|
prerelease: false
|
147
|
-
version_requirements: *
|
147
|
+
version_requirements: *70254336709980
|
148
148
|
- !ruby/object:Gem::Dependency
|
149
149
|
name: spork
|
150
|
-
requirement: &
|
150
|
+
requirement: &70254336709240 !ruby/object:Gem::Requirement
|
151
151
|
none: false
|
152
152
|
requirements:
|
153
153
|
- - ! '>='
|
@@ -155,10 +155,10 @@ dependencies:
|
|
155
155
|
version: '0'
|
156
156
|
type: :development
|
157
157
|
prerelease: false
|
158
|
-
version_requirements: *
|
158
|
+
version_requirements: *70254336709240
|
159
159
|
- !ruby/object:Gem::Dependency
|
160
160
|
name: guard
|
161
|
-
requirement: &
|
161
|
+
requirement: &70254336708580 !ruby/object:Gem::Requirement
|
162
162
|
none: false
|
163
163
|
requirements:
|
164
164
|
- - ! '>='
|
@@ -166,10 +166,10 @@ dependencies:
|
|
166
166
|
version: '0'
|
167
167
|
type: :development
|
168
168
|
prerelease: false
|
169
|
-
version_requirements: *
|
169
|
+
version_requirements: *70254336708580
|
170
170
|
- !ruby/object:Gem::Dependency
|
171
171
|
name: guard-rspec
|
172
|
-
requirement: &
|
172
|
+
requirement: &70254336707280 !ruby/object:Gem::Requirement
|
173
173
|
none: false
|
174
174
|
requirements:
|
175
175
|
- - ! '>='
|
@@ -177,10 +177,10 @@ dependencies:
|
|
177
177
|
version: '0'
|
178
178
|
type: :development
|
179
179
|
prerelease: false
|
180
|
-
version_requirements: *
|
180
|
+
version_requirements: *70254336707280
|
181
181
|
- !ruby/object:Gem::Dependency
|
182
182
|
name: guard-spork
|
183
|
-
requirement: &
|
183
|
+
requirement: &70254336705560 !ruby/object:Gem::Requirement
|
184
184
|
none: false
|
185
185
|
requirements:
|
186
186
|
- - ! '>='
|
@@ -188,7 +188,7 @@ dependencies:
|
|
188
188
|
version: '0'
|
189
189
|
type: :development
|
190
190
|
prerelease: false
|
191
|
-
version_requirements: *
|
191
|
+
version_requirements: *70254336705560
|
192
192
|
description: Resolves cookbook dependencies
|
193
193
|
email:
|
194
194
|
- josiah@skirmisher.net
|
@@ -205,13 +205,18 @@ files:
|
|
205
205
|
- LICENSE
|
206
206
|
- README.rdoc
|
207
207
|
- Rakefile
|
208
|
+
- features/lib/chef/knife/clean.feature
|
208
209
|
- features/lib/chef/knife/error_messages.feature
|
210
|
+
- features/lib/chef/knife/install.feature
|
209
211
|
- features/lib/chef/knife/lockfile.feature
|
212
|
+
- features/lib/chef/knife/update.feature
|
210
213
|
- features/lib/chef/knife/without.feature
|
211
214
|
- features/support/env.rb
|
212
215
|
- features/support/step_definitions.rb
|
213
216
|
- knife_cookbook_dependencies.gemspec
|
217
|
+
- lib/chef/knife/cookbook_dependencies_clean.rb
|
214
218
|
- lib/chef/knife/cookbook_dependencies_install.rb
|
219
|
+
- lib/chef/knife/cookbook_dependencies_update.rb
|
215
220
|
- lib/kcd.rb
|
216
221
|
- lib/kcd/cookbook.rb
|
217
222
|
- lib/kcd/cookbookfile.rb
|
@@ -224,7 +229,6 @@ files:
|
|
224
229
|
- lib/kcd/shelf.rb
|
225
230
|
- lib/kcd/version.rb
|
226
231
|
- lib/knife_cookbook_dependencies.rb
|
227
|
-
- spec/acceptance/knife_cookbook_dependencies_spec.rb
|
228
232
|
- spec/fixtures/cookbooks/example_cookbook/README.md
|
229
233
|
- spec/fixtures/cookbooks/example_cookbook/metadata.rb
|
230
234
|
- spec/fixtures/cookbooks/example_cookbook/recipes/default.rb
|
@@ -263,12 +267,14 @@ signing_key:
|
|
263
267
|
specification_version: 3
|
264
268
|
summary: Resolves cookbook dependencies
|
265
269
|
test_files:
|
270
|
+
- features/lib/chef/knife/clean.feature
|
266
271
|
- features/lib/chef/knife/error_messages.feature
|
272
|
+
- features/lib/chef/knife/install.feature
|
267
273
|
- features/lib/chef/knife/lockfile.feature
|
274
|
+
- features/lib/chef/knife/update.feature
|
268
275
|
- features/lib/chef/knife/without.feature
|
269
276
|
- features/support/env.rb
|
270
277
|
- features/support/step_definitions.rb
|
271
|
-
- spec/acceptance/knife_cookbook_dependencies_spec.rb
|
272
278
|
- spec/fixtures/cookbooks/example_cookbook/README.md
|
273
279
|
- spec/fixtures/cookbooks/example_cookbook/metadata.rb
|
274
280
|
- spec/fixtures/cookbooks/example_cookbook/recipes/default.rb
|
@@ -1,12 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
require 'chef/knife/cookbook_dependencies_install'
|
3
|
-
require 'aruba/api'
|
4
|
-
|
5
|
-
|
6
|
-
describe "knife cookbook dependencies install" do
|
7
|
-
describe "should print a friendly error message" do
|
8
|
-
include Aruba::Api
|
9
|
-
|
10
|
-
it "for --without option"
|
11
|
-
end
|
12
|
-
end
|