chef-zero 1.1.2 → 1.1.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -69,17 +69,30 @@ module ChefZero
69
69
  end
70
70
  end
71
71
  end
72
+ cookbook['name'] ||= "#{name}-#{version}"
73
+ # TODO this feels wrong, but the real chef server doesn't expand this default
74
+ # cookbook['version'] ||= version
75
+ cookbook['cookbook_name'] ||= name
76
+ cookbook['frozen?'] ||= false
77
+ cookbook['metadata'] ||= {}
78
+ cookbook['metadata']['version'] ||= version
79
+ # Sad to not be expanding defaults just because Chef doesn't :(
80
+ # cookbook['metadata']['name'] ||= name
81
+ # cookbook['metadata']['description'] ||= "A fabulous new cookbook"
82
+ cookbook['metadata']['long_description'] ||= ""
83
+ # cookbook['metadata']['maintainer'] ||= "YOUR_COMPANY_NAME"
84
+ # cookbook['metadata']['maintainer_email'] ||= "YOUR_EMAIL"
85
+ # cookbook['metadata']['license'] ||= "none"
86
+ cookbook['metadata']['dependencies'] ||= {}
87
+ cookbook['metadata']['attributes'] ||= {}
88
+ cookbook['metadata']['recipes'] ||= {}
72
89
  end
73
- cookbook['name'] ||= "#{name}-#{version}"
74
- # TODO this feels wrong, but the real chef server doesn't expand this default
75
- # cookbook['version'] ||= version
76
- cookbook['cookbook_name'] ||= name
77
90
  cookbook['json_class'] ||= 'Chef::CookbookVersion'
78
91
  cookbook['chef_type'] ||= 'cookbook_version'
79
- cookbook['frozen?'] ||= false
80
- cookbook['metadata'] ||= {}
81
- cookbook['metadata']['version'] ||= version
82
- cookbook['metadata']['name'] ||= name
92
+ if method == 'MIN'
93
+ cookbook['metadata'].delete('attributes')
94
+ cookbook['metadata'].delete('long_description')
95
+ end
83
96
  cookbook
84
97
  end
85
98
 
@@ -76,7 +76,7 @@ module ChefZero
76
76
  end
77
77
  end
78
78
  end
79
- result
79
+ result.uniq
80
80
  end
81
81
 
82
82
  private
@@ -5,7 +5,14 @@ module ChefZero
5
5
  # /cookbooks
6
6
  class CookbooksEndpoint < CookbooksBase
7
7
  def get(request)
8
- json_response(200, format_cookbooks_list(request, all_cookbooks_list))
8
+ if request.query_params['num_versions'] == 'all'
9
+ num_versions = nil
10
+ elsif request.query_params['num_versions']
11
+ num_versions = request.query_params['num_versions'].to_i
12
+ else
13
+ num_versions = 1
14
+ end
15
+ json_response(200, format_cookbooks_list(request, all_cookbooks_list, {}, num_versions))
9
16
  end
10
17
  end
11
18
  end
@@ -41,7 +41,7 @@ module ChefZero
41
41
  result = {}
42
42
  solved.each_pair do |name, versions|
43
43
  cookbook = JSON.parse(get_data(request, ['cookbooks', name, versions[0]]), :create_additions => false)
44
- result[name] = DataNormalizer.normalize_cookbook(cookbook, name, versions[0], request.base_uri, 'GET')
44
+ result[name] = DataNormalizer.normalize_cookbook(cookbook, name, versions[0], request.base_uri, 'MIN')
45
45
  end
46
46
  json_response(200, result)
47
47
  end
@@ -1,4 +1,6 @@
1
1
  require 'chef_zero/rest_base'
2
+ require 'chef_zero/rest_error_response'
3
+ require 'json'
2
4
 
3
5
  module ChefZero
4
6
  module Endpoints
@@ -6,6 +8,11 @@ module ChefZero
6
8
  class SandboxEndpoint < RestBase
7
9
  def put(request)
8
10
  existing_sandbox = JSON.parse(get_data(request), :create_additions => false)
11
+ existing_sandbox['checksums'].each do |checksum|
12
+ if !exists_data?(request, ['file_store', 'checksums', checksum])
13
+ raise RestErrorResponse.new(503, "Checksum not uploaded: #{checksum}")
14
+ end
15
+ end
9
16
  delete_data(request)
10
17
  json_response(200, {
11
18
  :guid => request.rest_path[1],
@@ -1,3 +1,3 @@
1
1
  module ChefZero
2
- VERSION = '1.1.2'
2
+ VERSION = '1.1.3'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: chef-zero
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.2
4
+ version: 1.1.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-05-29 00:00:00.000000000 Z
12
+ date: 2013-05-30 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: puma