chef-server-api 0.10.10.beta.1 → 0.10.10.rc.1

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.
@@ -12,19 +12,19 @@ I'm in ur netwerk, cookin up yer servers. :)
12
12
 
13
13
  chef:
14
14
 
15
- * ruby-openid
16
- * json
17
- * erubis
18
- * stomp
19
- * ohai
15
+ * ruby-openid
16
+ * json
17
+ * erubis
18
+ * stomp
19
+ * ohai
20
20
 
21
21
  chef-server and the chef-server-api (merb slice), same requires as chef above, plus:
22
22
 
23
- * merb-core
24
- * merb-haml
23
+ * merb-core
24
+ * merb-haml
25
25
  * thin
26
26
  * haml
27
- * ruby-openid
27
+ * ruby-openid
28
28
  * syntax
29
29
 
30
30
  Interim Note:
@@ -46,10 +46,10 @@ External Servers:
46
46
  Install all of the above. To fire up a develpment environment, do the following:
47
47
 
48
48
  * Start CouchDB with 'couchdb'
49
- * Start stompserver with 'stompserver'
49
+ * Start stompserver with 'stompserver'
50
50
  * Start chef-indexer with:
51
51
 
52
- chef-indexer -l debug
52
+ chef-indexer -l debug
53
53
 
54
54
  * Start chef-server:
55
55
 
@@ -57,7 +57,7 @@ Install all of the above. To fire up a develpment environment, do the following
57
57
 
58
58
  * Test run chef to begin node registration:
59
59
 
60
- sudo ./bin/chef-client
60
+ sudo ./bin/chef-client
61
61
 
62
62
  * Validate the node registration:
63
63
 
@@ -67,14 +67,14 @@ Install all of the above. To fire up a develpment environment, do the following
67
67
 
68
68
  * Test run chef with:
69
69
 
70
- chef-client
70
+ chef-client
71
71
 
72
72
  == LICENSE:
73
73
 
74
74
  Chef - A configuration management system
75
75
 
76
76
  Author:: Adam Jacob (<adam@opscode.com>)
77
- Copyright:: Copyright (c) 2008 Opscode, Inc.
77
+ Copyright:: Copyright (c) 2008-2012 Opscode, Inc.
78
78
  License:: Apache License, Version 2.0
79
79
 
80
80
  Licensed under the Apache License, Version 2.0 (the "License");
@@ -70,19 +70,19 @@ Merb::Router.prepare do
70
70
  match("/cookbooks/:cookbook_name/:cookbook_version",
71
71
  :method => 'put',
72
72
  :cookbook_name => /[\w\.]+/,
73
- :cookbook_version => /\d+\.\d+\.\d+/
73
+ :cookbook_version => /^(\d+.\d+(?:.\d+)?)$/
74
74
  ).to(:controller => "cookbooks", :action => "update")
75
75
 
76
76
  match("/cookbooks/:cookbook_name/:cookbook_version",
77
77
  :method => 'get',
78
78
  :cookbook_name => /[\w\.]+/,
79
- :cookbook_version => /\d+\.\d+\.\d+|_latest/
79
+ :cookbook_version => /^((?:\d+.\d+(?:.\d+)?)|_latest)$/
80
80
  ).to(:controller => "cookbooks", :action => "show").name(:cookbook_version)
81
81
 
82
82
  match("/cookbooks/:cookbook_name/:cookbook_version",
83
83
  :method => 'delete',
84
84
  :cookbook_name => /[\w\.]+/,
85
- :cookbook_version => /\d+\.\d+\.\d+|_latest/
85
+ :cookbook_version => /^((?:\d+.\d+(?:.\d+)?)|_latest)$/
86
86
  ).to(:controller => "cookbooks", :action => "destroy")
87
87
 
88
88
  match("/cookbooks/:cookbook_name",
@@ -92,7 +92,7 @@ Merb::Router.prepare do
92
92
 
93
93
  match("/cookbooks/:cookbook_name/:cookbook_version/files/:checksum",
94
94
  :cookbook_name => /[\w\.]+/,
95
- :cookbook_version => /(\d+\.\d+\.\d+|_latest)/
95
+ :cookbook_version => /^((?:\d+.\d+(?:.\d+)?)|_latest)$/
96
96
  ).to(
97
97
  :controller => "cookbooks",
98
98
  :action => "show_file"
@@ -1,3 +1,3 @@
1
1
  module ChefServerApi
2
- VERSION = '0.10.10.beta.1'
2
+ VERSION = '0.10.10.rc.1'
3
3
  end
@@ -26,12 +26,13 @@ describe "Cookbooks Controller" do
26
26
  Merb.logger.set_log(StringIO.new)
27
27
  end
28
28
 
29
+ MAXMAJOR=25
29
30
  describe "when several versions of multiple cookbooks exist" do
30
31
  before do
31
32
  @cookbook_a_versions = (0...7).map { |i| "1.0.#{i}"}
32
- @cookbook_b_versions = (0...3).map { |i| "2.0.#{i}" }
33
+ @cookbook_b_versions = (0...3).map { |i| "#{MAXMAJOR}.0.#{i}" }
33
34
  Chef::CookbookVersion.stub!(:cdb_list).and_return("cookbook-a" => @cookbook_a_versions, "cookbook-b" => @cookbook_b_versions)
34
- Chef::CookbookVersion.stub!(:cdb_list_latest).and_return('cookbook-a' => '1.0.6', 'cookbook-b' => '2.0.2')
35
+ Chef::CookbookVersion.stub!(:cdb_list_latest).and_return('cookbook-a' => '1.0.6', 'cookbook-b' => '#{MAXMAJOR}.0.2')
35
36
  Chef::CookbookVersion.stub!(:cdb_by_name).with('cookbook-a').and_return("cookbook-a" => @cookbook_a_versions)
36
37
  end
37
38
 
@@ -52,15 +53,16 @@ describe "Cookbooks Controller" do
52
53
  get_json('/cookbooks/cookbook-a').should == expected
53
54
  end
54
55
 
56
+ cookbook_version = "#{MAXMAJOR}.0.3"
55
57
  it "downloads a file from a cookbook" do
56
- cookbook = make_cookbook("cookbook-a", "2.0.3")
58
+ cookbook = make_cookbook("cookbook-a", "#{cookbook_version}")
57
59
  cookbook.checksums["1234"] = nil
58
60
  stub_checksum("1234")
59
- Chef::CookbookVersion.should_receive(:cdb_load).with("cookbook-a", "2.0.3").and_return(cookbook)
61
+ Chef::CookbookVersion.should_receive(:cdb_load).with("cookbook-a", "#{cookbook_version}").and_return(cookbook)
60
62
  expected = {}
61
63
  expected_cookbook_a_data = @cookbook_a_versions.map {|v| {"url" => "#{root_url}/cookbooks/cookbook-a/#{v}", "version" => v}}.reverse
62
64
  expected['cookbook-a'] = {"url" => "#{root_url}/cookbooks/cookbook-a", "versions" => expected_cookbook_a_data}
63
- response = get("/cookbooks/cookbook-a/2.0.3/files/1234") do |controller|
65
+ response = get("/cookbooks/cookbook-a/#{cookbook_version}/files/1234") do |controller|
64
66
  stub_authentication(controller)
65
67
  controller.should_receive(:send_file).with("/var/chef/checksums/12/1234").and_return("file-content")
66
68
  end
@@ -69,15 +71,15 @@ describe "Cookbooks Controller" do
69
71
  end
70
72
 
71
73
  it "gets an error in case of missing file on download" do
72
- cookbook = make_cookbook("cookbook-a", "2.0.3")
74
+ cookbook = make_cookbook("cookbook-a", "#{cookbook_version}")
73
75
  cookbook.checksums["1234"] = nil
74
76
  stub_checksum("1234", false)
75
- Chef::CookbookVersion.should_receive(:cdb_load).with("cookbook-a", "2.0.3").and_return(cookbook)
77
+ Chef::CookbookVersion.should_receive(:cdb_load).with("cookbook-a", "#{cookbook_version}").and_return(cookbook)
76
78
  expected = {}
77
79
  expected_cookbook_a_data = @cookbook_a_versions.map {|v| {"url" => "#{root_url}/cookbooks/cookbook-a/#{v}", "version" => v}}.reverse
78
80
  expected['cookbook-a'] = {"url" => "#{root_url}/cookbooks/cookbook-a", "versions" => expected_cookbook_a_data}
79
81
  lambda do
80
- response = get("/cookbooks/cookbook-a/2.0.3/files/1234") do |controller|
82
+ response = get("/cookbooks/cookbook-a/#{cookbook_version}/files/1234") do |controller|
81
83
  stub_authentication(controller)
82
84
  end
83
85
  end.should raise_error(Merb::ControllerExceptions::InternalServerError, /File with checksum 1234 not found in the repository/)
metadata CHANGED
@@ -1,8 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: chef-server-api
3
3
  version: !ruby/object:Gem::Version
4
+ hash: 15424231
4
5
  prerelease: 8
5
- version: 0.10.10.beta.1
6
+ segments:
7
+ - 0
8
+ - 10
9
+ - 10
10
+ - rc
11
+ - 1
12
+ version: 0.10.10.rc.1
6
13
  platform: ruby
7
14
  authors:
8
15
  - Opscode
@@ -10,96 +17,134 @@ autorequire:
10
17
  bindir: bin
11
18
  cert_chain: []
12
19
 
13
- date: 2012-04-06 00:00:00 Z
20
+ date: 2012-04-30 00:00:00 Z
14
21
  dependencies:
15
22
  - !ruby/object:Gem::Dependency
16
- name: merb-core
17
23
  requirement: &id001 !ruby/object:Gem::Requirement
18
24
  none: false
19
25
  requirements:
20
26
  - - ~>
21
27
  - !ruby/object:Gem::Version
28
+ hash: 19
29
+ segments:
30
+ - 1
31
+ - 1
32
+ - 0
22
33
  version: 1.1.0
23
- type: :runtime
24
- prerelease: false
25
34
  version_requirements: *id001
35
+ name: merb-core
36
+ prerelease: false
37
+ type: :runtime
26
38
  - !ruby/object:Gem::Dependency
27
- name: merb-assets
28
39
  requirement: &id002 !ruby/object:Gem::Requirement
29
40
  none: false
30
41
  requirements:
31
42
  - - ~>
32
43
  - !ruby/object:Gem::Version
44
+ hash: 19
45
+ segments:
46
+ - 1
47
+ - 1
48
+ - 0
33
49
  version: 1.1.0
34
- type: :runtime
35
- prerelease: false
36
50
  version_requirements: *id002
51
+ name: merb-assets
52
+ prerelease: false
53
+ type: :runtime
37
54
  - !ruby/object:Gem::Dependency
38
- name: merb-helpers
39
55
  requirement: &id003 !ruby/object:Gem::Requirement
40
56
  none: false
41
57
  requirements:
42
58
  - - ~>
43
59
  - !ruby/object:Gem::Version
60
+ hash: 19
61
+ segments:
62
+ - 1
63
+ - 1
64
+ - 0
44
65
  version: 1.1.0
45
- type: :runtime
46
- prerelease: false
47
66
  version_requirements: *id003
67
+ name: merb-helpers
68
+ prerelease: false
69
+ type: :runtime
48
70
  - !ruby/object:Gem::Dependency
49
- name: merb-param-protection
50
71
  requirement: &id004 !ruby/object:Gem::Requirement
51
72
  none: false
52
73
  requirements:
53
74
  - - ~>
54
75
  - !ruby/object:Gem::Version
76
+ hash: 19
77
+ segments:
78
+ - 1
79
+ - 1
80
+ - 0
55
81
  version: 1.1.0
56
- type: :runtime
57
- prerelease: false
58
82
  version_requirements: *id004
83
+ name: merb-param-protection
84
+ prerelease: false
85
+ type: :runtime
59
86
  - !ruby/object:Gem::Dependency
60
- name: mixlib-authentication
61
87
  requirement: &id005 !ruby/object:Gem::Requirement
62
88
  none: false
63
89
  requirements:
64
90
  - - ">="
65
91
  - !ruby/object:Gem::Version
92
+ hash: 21
93
+ segments:
94
+ - 1
95
+ - 1
96
+ - 3
66
97
  version: 1.1.3
67
- type: :runtime
68
- prerelease: false
69
98
  version_requirements: *id005
99
+ name: mixlib-authentication
100
+ prerelease: false
101
+ type: :runtime
70
102
  - !ruby/object:Gem::Dependency
71
- name: dep_selector
72
103
  requirement: &id006 !ruby/object:Gem::Requirement
73
104
  none: false
74
105
  requirements:
75
106
  - - ">="
76
107
  - !ruby/object:Gem::Version
108
+ hash: 25
109
+ segments:
110
+ - 0
111
+ - 0
112
+ - 3
77
113
  version: 0.0.3
78
- type: :runtime
79
- prerelease: false
80
114
  version_requirements: *id006
115
+ name: dep_selector
116
+ prerelease: false
117
+ type: :runtime
81
118
  - !ruby/object:Gem::Dependency
82
- name: uuidtools
83
119
  requirement: &id007 !ruby/object:Gem::Requirement
84
120
  none: false
85
121
  requirements:
86
122
  - - ~>
87
123
  - !ruby/object:Gem::Version
124
+ hash: 9
125
+ segments:
126
+ - 2
127
+ - 1
128
+ - 1
88
129
  version: 2.1.1
89
- type: :runtime
90
- prerelease: false
91
130
  version_requirements: *id007
131
+ name: uuidtools
132
+ prerelease: false
133
+ type: :runtime
92
134
  - !ruby/object:Gem::Dependency
93
- name: thin
94
135
  requirement: &id008 !ruby/object:Gem::Requirement
95
136
  none: false
96
137
  requirements:
97
138
  - - ">="
98
139
  - !ruby/object:Gem::Version
140
+ hash: 3
141
+ segments:
142
+ - 0
99
143
  version: "0"
100
- type: :runtime
101
- prerelease: false
102
144
  version_requirements: *id008
145
+ name: thin
146
+ prerelease: false
147
+ type: :runtime
103
148
  description: A systems integration framework, built to bring the benefits of configuration management to your entire infrastructure.
104
149
  email: chef@opscode.com
105
150
  executables:
@@ -181,12 +226,20 @@ required_ruby_version: !ruby/object:Gem::Requirement
181
226
  requirements:
182
227
  - - ">="
183
228
  - !ruby/object:Gem::Version
229
+ hash: 3
230
+ segments:
231
+ - 0
184
232
  version: "0"
185
233
  required_rubygems_version: !ruby/object:Gem::Requirement
186
234
  none: false
187
235
  requirements:
188
236
  - - ">"
189
237
  - !ruby/object:Gem::Version
238
+ hash: 25
239
+ segments:
240
+ - 1
241
+ - 3
242
+ - 1
190
243
  version: 1.3.1
191
244
  requirements: []
192
245