chef-zero 15.0.3 → 15.0.11

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8c8864d1d61055163c2ec8a520cd353a83f51a26f436b8e94c643af34b19b03a
4
- data.tar.gz: e4534535132a965e524591758abd89c4341b1caf39b20e10e744ae4281ed7018
3
+ metadata.gz: 726ae260c0156949d88bb48d7ac3846b50545f4275847c76efd1f31cff5c2d78
4
+ data.tar.gz: 8f7c4d509919162ab492d4b117f85f4303f38922942ab6eeafc27d4fa1913810
5
5
  SHA512:
6
- metadata.gz: a5e04a3c6d2f6e6dc829724ba02d9cb9e56de22b349ba805efc65aa8bc2c1939f181bf538081452cf9d87ad6c5e923a314d9629cc9b5bca334cb3399a9d3c242
7
- data.tar.gz: 8ee240ea4eae4ac4b0333ba6632bd9eafca73e2ffcc02dee78ce498271f8891c8f5d729fdf58c16fa56b1471893c9fc0ddcb18666a57afd773226c8e6c26b641
6
+ metadata.gz: b9bdf42f23dd2fb336f281fa3b148d6f1566488bcba8a171757519bfc63f74b4d371caae4c3eb2aca2fabec5032d2f4c4c5ad92ee22f7b35ac68a8fc15bb5c28
7
+ data.tar.gz: 7b6dc1ed42a4d873b6c5ac64030c69688cb8213a28da48efc02792ba9786b2728cc1bdaf297b905b70f917e0ff580ac97432bb0db4baca204839ca64262d1ccf
data/Gemfile CHANGED
@@ -5,7 +5,7 @@ gemspec
5
5
  # gem 'rest-client', :git => 'https://github.com/chef/rest-client.git'
6
6
 
7
7
  group :pedant do
8
- gem "oc-chef-pedant", git: "https://github.com/chef/chef-server.git"
8
+ gem "oc-chef-pedant", git: "https://github.com/chef/chef-server.git", branch: "main"
9
9
  end
10
10
 
11
11
  group :development, :test do
data/LICENSE CHANGED
@@ -192,7 +192,7 @@ Licensed under the Apache License, Version 2.0 (the "License");
192
192
  you may not use this file except in compliance with the License.
193
193
  You may obtain a copy of the License at
194
194
 
195
- http://www.apache.org/licenses/LICENSE-2.0
195
+ https://www.apache.org/licenses/LICENSE-2.0
196
196
 
197
197
  Unless required by applicable law or agreed to in writing, software
198
198
  distributed under the License is distributed on an "AS IS" BASIS,
data/chef-zero.gemspec CHANGED
@@ -1,4 +1,4 @@
1
- $:.unshift(File.dirname(__FILE__) + "/lib")
1
+ $:.unshift(__dir__ + "/lib")
2
2
  require "chef_zero/version"
3
3
 
4
4
  Gem::Specification.new do |s|
@@ -18,6 +18,7 @@ Gem::Specification.new do |s|
18
18
  s.add_dependency "uuidtools", "~> 2.1"
19
19
  s.add_dependency "ffi-yajl", "~> 2.2"
20
20
  s.add_dependency "rack", "~> 2.0", ">= 2.0.6"
21
+ s.add_dependency "webrick"
21
22
 
22
23
  s.bindir = "bin"
23
24
  s.executables = ["chef-zero"]
@@ -7,7 +7,7 @@
7
7
  # you may not use this file except in compliance with the License.
8
8
  # You may obtain a copy of the License at
9
9
  #
10
- # http://www.apache.org/licenses/LICENSE-2.0
10
+ # https://www.apache.org/licenses/LICENSE-2.0
11
11
  #
12
12
  # Unless required by applicable law or agreed to in writing, software
13
13
  # distributed under the License is distributed on an "AS IS" BASIS,
@@ -7,7 +7,7 @@
7
7
  # you may not use this file except in compliance with the License.
8
8
  # You may obtain a copy of the License at
9
9
  #
10
- # http://www.apache.org/licenses/LICENSE-2.0
10
+ # https://www.apache.org/licenses/LICENSE-2.0
11
11
  #
12
12
  # Unless required by applicable law or agreed to in writing, software
13
13
  # distributed under the License is distributed on an "AS IS" BASIS,
@@ -7,7 +7,7 @@
7
7
  # you may not use this file except in compliance with the License.
8
8
  # You may obtain a copy of the License at
9
9
  #
10
- # http://www.apache.org/licenses/LICENSE-2.0
10
+ # https://www.apache.org/licenses/LICENSE-2.0
11
11
  #
12
12
  # Unless required by applicable law or agreed to in writing, software
13
13
  # distributed under the License is distributed on an "AS IS" BASIS,
@@ -7,7 +7,7 @@
7
7
  # you may not use this file except in compliance with the License.
8
8
  # You may obtain a copy of the License at
9
9
  #
10
- # http://www.apache.org/licenses/LICENSE-2.0
10
+ # https://www.apache.org/licenses/LICENSE-2.0
11
11
  #
12
12
  # Unless required by applicable law or agreed to in writing, software
13
13
  # distributed under the License is distributed on an "AS IS" BASIS,
@@ -7,7 +7,7 @@
7
7
  # you may not use this file except in compliance with the License.
8
8
  # You may obtain a copy of the License at
9
9
  #
10
- # http://www.apache.org/licenses/LICENSE-2.0
10
+ # https://www.apache.org/licenses/LICENSE-2.0
11
11
  #
12
12
  # Unless required by applicable law or agreed to in writing, software
13
13
  # distributed under the License is distributed on an "AS IS" BASIS,
@@ -7,7 +7,7 @@
7
7
  # you may not use this file except in compliance with the License.
8
8
  # You may obtain a copy of the License at
9
9
  #
10
- # http://www.apache.org/licenses/LICENSE-2.0
10
+ # https://www.apache.org/licenses/LICENSE-2.0
11
11
  #
12
12
  # Unless required by applicable law or agreed to in writing, software
13
13
  # distributed under the License is distributed on an "AS IS" BASIS,
@@ -7,7 +7,7 @@
7
7
  # you may not use this file except in compliance with the License.
8
8
  # You may obtain a copy of the License at
9
9
  #
10
- # http://www.apache.org/licenses/LICENSE-2.0
10
+ # https://www.apache.org/licenses/LICENSE-2.0
11
11
  #
12
12
  # Unless required by applicable law or agreed to in writing, software
13
13
  # distributed under the License is distributed on an "AS IS" BASIS,
@@ -17,7 +17,7 @@ module ChefZero
17
17
  "limit_exceeded" => (node_count > MAX_NODE_COUNT) ? true : false,
18
18
  "node_license" => MAX_NODE_COUNT,
19
19
  "node_count" => node_count,
20
- "upgrade_url" => "http://blah.com",
20
+ "upgrade_url" => "https://blah.com",
21
21
  })
22
22
  end
23
23
  end
@@ -7,7 +7,50 @@ module ChefZero
7
7
  # GET /organizations/ORG/policies/NAME/revisions/REVISION
8
8
  def get(request)
9
9
  data = parse_json(get_data(request))
10
- data = ChefData::DataNormalizer.normalize_policy(data, request.rest_path[3], request.rest_path[5])
10
+
11
+ # need to add another field in the response called 'policy_group_list'
12
+ # example response
13
+ # {
14
+ # "revision_id": "909c26701e291510eacdc6c06d626b9fa5350d25",
15
+ # "name": "some_policy_name",
16
+ # "run_list": [
17
+ # "recipe[policyfile_demo::default]"
18
+ # ],
19
+ # "cookbook_locks": {
20
+ # "policyfile_demo": {
21
+ # "identifier": "f04cc40faf628253fe7d9566d66a1733fb1afbe9",
22
+ # "version": "1.2.3"
23
+ # }
24
+ # },
25
+ # "policy_group_list": ["some_policy_group"]
26
+ # }
27
+ data[:policy_group_list] = Array.new
28
+
29
+ # extracting policy name and revision
30
+ request_policy_name = request.rest_path[3]
31
+ request_policy_revision = request.rest_path[5]
32
+
33
+ # updating the request to fetch the policy group list
34
+ request.rest_path[2] = "policy_groups"
35
+ request.rest_path = request.rest_path.slice(0,3)
36
+
37
+ list_data(request).each do |group_name|
38
+ group_path = request.rest_path + [group_name]
39
+
40
+ # fetching all the policies associated with each group
41
+ policy_list = list_data(request, group_path + ["policies"])
42
+ policy_list.each do |policy_name|
43
+ revision_id = parse_json(get_data(request, group_path + ["policies", policy_name]))
44
+
45
+ # if the name and revision matchs, we add the group to the response
46
+ if (policy_name == request_policy_name) && (revision_id == request_policy_revision)
47
+ policy_group_list = data[:policy_group_list]
48
+ data[:policy_group_list] = [group_name] + policy_group_list
49
+ end
50
+ end
51
+ end
52
+
53
+ data = ChefData::DataNormalizer.normalize_policy(data, request_policy_name, request_policy_revision)
11
54
  json_response(200, data)
12
55
  end
13
56
 
@@ -68,7 +68,7 @@ module ChefZero
68
68
 
69
69
  def accepts?(request, category, type)
70
70
  # If HTTP_ACCEPT is not sent at all, assume it accepts anything
71
- # This parses as per http://tools.ietf.org/html/rfc7231#section-5.3
71
+ # This parses as per https://datatracker.ietf.org/doc/html/rfc7231#section-5.3
72
72
  return true unless request.env["HTTP_ACCEPT"]
73
73
 
74
74
  accepts = request.env["HTTP_ACCEPT"].split(/,\s*/).map { |x| x.split(";", 2)[0].strip }
@@ -7,7 +7,7 @@
7
7
  # you may not use this file except in compliance with the License.
8
8
  # You may obtain a copy of the License at
9
9
  #
10
- # http://www.apache.org/licenses/LICENSE-2.0
10
+ # https://www.apache.org/licenses/LICENSE-2.0
11
11
  #
12
12
  # Unless required by applicable law or agreed to in writing, software
13
13
  # distributed under the License is distributed on an "AS IS" BASIS,
@@ -7,7 +7,7 @@
7
7
  # you may not use this file except in compliance with the License.
8
8
  # You may obtain a copy of the License at
9
9
  #
10
- # http://www.apache.org/licenses/LICENSE-2.0
10
+ # https://www.apache.org/licenses/LICENSE-2.0
11
11
  #
12
12
  # Unless required by applicable law or agreed to in writing, software
13
13
  # distributed under the License is distributed on an "AS IS" BASIS,
@@ -1,3 +1,3 @@
1
1
  module ChefZero
2
- VERSION = "15.0.3".freeze
2
+ VERSION = "15.0.11".freeze
3
3
  end
@@ -188,6 +188,11 @@ begin
188
188
  # tests from chef-server as the user acls are not supported in chef-zero
189
189
  # at this time.
190
190
  "--skip-chef-zero-quirks",
191
+
192
+ "--skip-status",
193
+ "--skip=email_case_insensitive",
194
+ "--skip=nginx_default_error",
195
+ "--skip=response_headers"
191
196
  ]
192
197
 
193
198
  # The knife tests are very slow and don't give us a lot of extra coverage,
@@ -5,7 +5,7 @@
5
5
  # you may not use this file except in compliance with the License.
6
6
  # You may obtain a copy of the License at
7
7
  #
8
- # http://www.apache.org/licenses/LICENSE-2.0
8
+ # https://www.apache.org/licenses/LICENSE-2.0
9
9
  #
10
10
  # Unless required by applicable law or agreed to in writing, software
11
11
  # distributed under the License is distributed on an "AS IS" BASIS,
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: chef-zero
3
3
  version: !ruby/object:Gem::Version
4
- version: 15.0.3
4
+ version: 15.0.11
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chef Software, Inc.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-09-28 00:00:00.000000000 Z
11
+ date: 2021-10-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: mixlib-log
@@ -98,6 +98,20 @@ dependencies:
98
98
  - - ">="
99
99
  - !ruby/object:Gem::Version
100
100
  version: 2.0.6
101
+ - !ruby/object:Gem::Dependency
102
+ name: webrick
103
+ requirement: !ruby/object:Gem::Requirement
104
+ requirements:
105
+ - - ">="
106
+ - !ruby/object:Gem::Version
107
+ version: '0'
108
+ type: :runtime
109
+ prerelease: false
110
+ version_requirements: !ruby/object:Gem::Requirement
111
+ requirements:
112
+ - - ">="
113
+ - !ruby/object:Gem::Version
114
+ version: '0'
101
115
  description: Self-contained, easy-setup, fast-start in-memory Chef server for testing
102
116
  and solo setup purposes
103
117
  email: oss@chef.io
@@ -245,7 +259,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
245
259
  - !ruby/object:Gem::Version
246
260
  version: '0'
247
261
  requirements: []
248
- rubygems_version: 3.0.3
262
+ rubygems_version: 3.1.4
249
263
  signing_key:
250
264
  specification_version: 4
251
265
  summary: Self-contained, easy-setup, fast-start in-memory Chef server for testing