chef-zero 14.0.11 → 15.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile +4 -6
- data/Rakefile +9 -1
- data/bin/chef-zero +3 -2
- data/chef-zero.gemspec +5 -8
- data/lib/chef_zero.rb +1 -1
- data/lib/chef_zero/chef_data/cookbook_data.rb +1 -1
- data/lib/chef_zero/chef_data/data_normalizer.rb +9 -7
- data/lib/chef_zero/chef_data/default_creator.rb +22 -19
- data/lib/chef_zero/data_store/data_already_exists_error.rb +1 -1
- data/lib/chef_zero/data_store/data_error.rb +1 -1
- data/lib/chef_zero/data_store/data_not_found_error.rb +1 -1
- data/lib/chef_zero/data_store/default_facade.rb +4 -4
- data/lib/chef_zero/data_store/interface_v2.rb +1 -1
- data/lib/chef_zero/data_store/memory_store.rb +3 -3
- data/lib/chef_zero/data_store/memory_store_v2.rb +22 -14
- data/lib/chef_zero/data_store/raw_file_store.rb +7 -5
- data/lib/chef_zero/data_store/v1_to_v2_adapter.rb +11 -1
- data/lib/chef_zero/data_store/v2_to_v1_adapter.rb +1 -1
- data/lib/chef_zero/dist.rb +9 -0
- data/lib/chef_zero/endpoints/acl_endpoint.rb +4 -3
- data/lib/chef_zero/endpoints/acls_endpoint.rb +6 -5
- data/lib/chef_zero/endpoints/actor_default_key_endpoint.rb +2 -1
- data/lib/chef_zero/endpoints/actor_endpoint.rb +4 -4
- data/lib/chef_zero/endpoints/actor_key_endpoint.rb +1 -1
- data/lib/chef_zero/endpoints/actor_keys_endpoint.rb +3 -2
- data/lib/chef_zero/endpoints/actors_endpoint.rb +2 -2
- data/lib/chef_zero/endpoints/authenticate_user_endpoint.rb +3 -2
- data/lib/chef_zero/endpoints/container_endpoint.rb +3 -3
- data/lib/chef_zero/endpoints/containers_endpoint.rb +3 -3
- data/lib/chef_zero/endpoints/controls_endpoint.rb +3 -2
- data/lib/chef_zero/endpoints/cookbook_artifact_endpoint.rb +1 -1
- data/lib/chef_zero/endpoints/cookbook_artifact_identifier_endpoint.rb +3 -3
- data/lib/chef_zero/endpoints/cookbook_artifacts_endpoint.rb +7 -7
- data/lib/chef_zero/endpoints/cookbook_endpoint.rb +1 -1
- data/lib/chef_zero/endpoints/cookbook_version_endpoint.rb +8 -6
- data/lib/chef_zero/endpoints/cookbooks_base.rb +6 -4
- data/lib/chef_zero/endpoints/cookbooks_endpoint.rb +1 -1
- data/lib/chef_zero/endpoints/data_bag_endpoint.rb +4 -4
- data/lib/chef_zero/endpoints/data_bag_item_endpoint.rb +4 -4
- data/lib/chef_zero/endpoints/data_bags_endpoint.rb +3 -3
- data/lib/chef_zero/endpoints/environment_cookbook_endpoint.rb +2 -2
- data/lib/chef_zero/endpoints/environment_cookbook_versions_endpoint.rb +14 -11
- data/lib/chef_zero/endpoints/environment_cookbooks_endpoint.rb +2 -2
- data/lib/chef_zero/endpoints/environment_endpoint.rb +3 -3
- data/lib/chef_zero/endpoints/environment_nodes_endpoint.rb +2 -2
- data/lib/chef_zero/endpoints/environment_recipes_endpoint.rb +2 -2
- data/lib/chef_zero/endpoints/environment_role_endpoint.rb +2 -2
- data/lib/chef_zero/endpoints/file_store_file_endpoint.rb +1 -1
- data/lib/chef_zero/endpoints/group_endpoint.rb +3 -3
- data/lib/chef_zero/endpoints/groups_endpoint.rb +2 -2
- data/lib/chef_zero/endpoints/license_endpoint.rb +2 -2
- data/lib/chef_zero/endpoints/node_endpoint.rb +3 -3
- data/lib/chef_zero/endpoints/node_identifiers_endpoint.rb +2 -2
- data/lib/chef_zero/endpoints/nodes_endpoint.rb +3 -3
- data/lib/chef_zero/endpoints/not_found_endpoint.rb +2 -2
- data/lib/chef_zero/endpoints/organization_association_request_endpoint.rb +3 -2
- data/lib/chef_zero/endpoints/organization_association_requests_endpoint.rb +2 -2
- data/lib/chef_zero/endpoints/organization_authenticate_user_endpoint.rb +2 -2
- data/lib/chef_zero/endpoints/organization_endpoint.rb +4 -3
- data/lib/chef_zero/endpoints/organization_user_base.rb +2 -2
- data/lib/chef_zero/endpoints/organization_user_default_key_endpoint.rb +1 -1
- data/lib/chef_zero/endpoints/organization_user_endpoint.rb +2 -2
- data/lib/chef_zero/endpoints/organization_user_key_endpoint.rb +2 -2
- data/lib/chef_zero/endpoints/organization_user_keys_endpoint.rb +1 -1
- data/lib/chef_zero/endpoints/organization_users_endpoint.rb +3 -3
- data/lib/chef_zero/endpoints/organization_validator_key_endpoint.rb +2 -2
- data/lib/chef_zero/endpoints/organizations_endpoint.rb +2 -2
- data/lib/chef_zero/endpoints/policies_endpoint.rb +1 -1
- data/lib/chef_zero/endpoints/policy_endpoint.rb +1 -1
- data/lib/chef_zero/endpoints/policy_group_endpoint.rb +3 -3
- data/lib/chef_zero/endpoints/policy_group_policy_endpoint.rb +4 -4
- data/lib/chef_zero/endpoints/policy_groups_endpoint.rb +3 -3
- data/lib/chef_zero/endpoints/policy_revision_endpoint.rb +1 -1
- data/lib/chef_zero/endpoints/policy_revisions_endpoint.rb +1 -1
- data/lib/chef_zero/endpoints/principal_endpoint.rb +3 -3
- data/lib/chef_zero/endpoints/rest_list_endpoint.rb +3 -3
- data/lib/chef_zero/endpoints/rest_object_endpoint.rb +4 -3
- data/lib/chef_zero/endpoints/role_endpoint.rb +3 -3
- data/lib/chef_zero/endpoints/role_environments_endpoint.rb +2 -2
- data/lib/chef_zero/endpoints/sandbox_endpoint.rb +4 -4
- data/lib/chef_zero/endpoints/sandboxes_endpoint.rb +2 -2
- data/lib/chef_zero/endpoints/search_endpoint.rb +9 -9
- data/lib/chef_zero/endpoints/searches_endpoint.rb +1 -1
- data/lib/chef_zero/endpoints/server_api_version_endpoint.rb +1 -1
- data/lib/chef_zero/endpoints/system_recovery_endpoint.rb +4 -4
- data/lib/chef_zero/endpoints/universe_endpoint.rb +3 -3
- data/lib/chef_zero/endpoints/user_association_request_endpoint.rb +3 -2
- data/lib/chef_zero/endpoints/user_association_requests_count_endpoint.rb +2 -2
- data/lib/chef_zero/endpoints/user_association_requests_endpoint.rb +2 -2
- data/lib/chef_zero/endpoints/user_organizations_endpoint.rb +2 -2
- data/lib/chef_zero/endpoints/version_endpoint.rb +3 -2
- data/lib/chef_zero/rest_base.rb +20 -16
- data/lib/chef_zero/rest_request.rb +10 -6
- data/lib/chef_zero/rest_router.rb +3 -3
- data/lib/chef_zero/rspec.rb +6 -5
- data/lib/chef_zero/server.rb +98 -93
- data/lib/chef_zero/socketless_server_map.rb +4 -2
- data/lib/chef_zero/solr/query/phrase.rb +2 -2
- data/lib/chef_zero/solr/query/range_query.rb +3 -3
- data/lib/chef_zero/solr/query/term.rb +1 -1
- data/lib/chef_zero/solr/solr_parser.rb +12 -10
- data/lib/chef_zero/version.rb +1 -1
- data/spec/run_oc_pedant.rb +5 -3
- data/spec/search_spec.rb +2 -2
- data/spec/socketless_server_map_spec.rb +1 -1
- data/spec/support/oc_pedant.rb +1 -1
- metadata +17 -39
@@ -17,7 +17,8 @@
|
|
17
17
|
#
|
18
18
|
|
19
19
|
require "thread"
|
20
|
-
require "singleton"
|
20
|
+
require "singleton" unless defined?(Singleton)
|
21
|
+
require_relative "dist"
|
21
22
|
|
22
23
|
module ChefZero
|
23
24
|
|
@@ -83,7 +84,8 @@ module ChefZero
|
|
83
84
|
|
84
85
|
def request(port, request_env)
|
85
86
|
server = @servers_by_port[port]
|
86
|
-
raise ServerNotFound, "No socketless
|
87
|
+
raise ServerNotFound, "No socketless #{ChefZero::Dist::PRODUCT} server on given port #{port.inspect}" unless server
|
88
|
+
|
87
89
|
server.handle_socketless_request(request_env)
|
88
90
|
end
|
89
91
|
|
@@ -1,4 +1,4 @@
|
|
1
|
-
|
1
|
+
require_relative "regexpable_query"
|
2
2
|
|
3
3
|
module ChefZero
|
4
4
|
module Solr
|
@@ -11,7 +11,7 @@ module ChefZero
|
|
11
11
|
else
|
12
12
|
literal_string = nil
|
13
13
|
end
|
14
|
-
super(terms.map
|
14
|
+
super(terms.map(&:regexp_string).join("#{NON_WORD_CHARACTER}+"), literal_string)
|
15
15
|
end
|
16
16
|
|
17
17
|
def to_s
|
@@ -10,7 +10,7 @@ module ChefZero
|
|
10
10
|
end
|
11
11
|
|
12
12
|
def to_s
|
13
|
-
"#{@from_inclusive ?
|
13
|
+
"#{@from_inclusive ? "[" : "{"}#{@from} TO #{@to}#{@to_inclusive ? "]" : "}"}"
|
14
14
|
end
|
15
15
|
|
16
16
|
def matches_values?(values)
|
@@ -20,7 +20,7 @@ module ChefZero
|
|
20
20
|
when -1
|
21
21
|
return false
|
22
22
|
when 0
|
23
|
-
return false
|
23
|
+
return false unless @from_inclusive
|
24
24
|
end
|
25
25
|
end
|
26
26
|
unless @to == "*"
|
@@ -28,7 +28,7 @@ module ChefZero
|
|
28
28
|
when 1
|
29
29
|
return false
|
30
30
|
when 0
|
31
|
-
return false
|
31
|
+
return false unless @to_inclusive
|
32
32
|
end
|
33
33
|
end
|
34
34
|
return true
|
@@ -1,9 +1,9 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
1
|
+
require_relative "query/binary_operator"
|
2
|
+
require_relative "query/unary_operator"
|
3
|
+
require_relative "query/term"
|
4
|
+
require_relative "query/phrase"
|
5
|
+
require_relative "query/range_query"
|
6
|
+
require_relative "query/subquery"
|
7
7
|
|
8
8
|
module ChefZero
|
9
9
|
module Solr
|
@@ -50,7 +50,7 @@ module ChefZero
|
|
50
50
|
if @query_string[@index] == '\\'
|
51
51
|
@index += 1
|
52
52
|
end
|
53
|
-
@index += 1
|
53
|
+
@index += 1 unless eof?
|
54
54
|
break if eof? || !peek_term_token
|
55
55
|
end
|
56
56
|
@query_string[start_index..@index - 1]
|
@@ -66,6 +66,7 @@ module ChefZero
|
|
66
66
|
|
67
67
|
def peek_term_token
|
68
68
|
return nil if @query_string[@index] =~ /\s/
|
69
|
+
|
69
70
|
op = peek_operator_token
|
70
71
|
!op || op == "-"
|
71
72
|
end
|
@@ -79,6 +80,7 @@ module ChefZero
|
|
79
80
|
return result
|
80
81
|
end
|
81
82
|
end
|
83
|
+
|
82
84
|
nil
|
83
85
|
end
|
84
86
|
|
@@ -145,13 +147,13 @@ module ChefZero
|
|
145
147
|
# If it's the start of a range query, build that
|
146
148
|
elsif token == "{" || token == "["
|
147
149
|
left = next_token
|
148
|
-
parse_error(left, "Expected left term in range query")
|
150
|
+
parse_error(left, "Expected left term in range query") unless left
|
149
151
|
to = next_token
|
150
152
|
parse_error(left, "Expected TO in range query") if to != "TO"
|
151
153
|
right = next_token
|
152
|
-
parse_error(right, "Expected left term in range query")
|
154
|
+
parse_error(right, "Expected left term in range query") unless right
|
153
155
|
end_range = next_token
|
154
|
-
parse_error(right, "Expected end range '#{end_range}")
|
156
|
+
parse_error(right, "Expected end range '#{end_range}") unless ["}", "]"].include?(end_range)
|
155
157
|
Query::RangeQuery.new(left, right, token == "[", end_range == "]")
|
156
158
|
|
157
159
|
elsif token == "("
|
data/lib/chef_zero/version.rb
CHANGED
data/spec/run_oc_pedant.rb
CHANGED
@@ -32,6 +32,7 @@ DEFAULT_LOG_LEVEL = :warn
|
|
32
32
|
def log_level
|
33
33
|
return ENV["LOG_LEVEL"].downcase.to_sym if ENV["LOG_LEVEL"]
|
34
34
|
return :debug if ENV["DEBUG"]
|
35
|
+
|
35
36
|
DEFAULT_LOG_LEVEL
|
36
37
|
end
|
37
38
|
|
@@ -39,7 +40,7 @@ def start_chef_server(opts = {})
|
|
39
40
|
opts = DEFAULT_SERVER_OPTIONS.merge(opts)
|
40
41
|
opts[:log_level] = log_level
|
41
42
|
|
42
|
-
ChefZero::Server.new(opts).tap
|
43
|
+
ChefZero::Server.new(opts).tap(&:start_background)
|
43
44
|
end
|
44
45
|
|
45
46
|
def start_cheffs_server(chef_repo_path)
|
@@ -49,12 +50,12 @@ def start_cheffs_server(chef_repo_path)
|
|
49
50
|
require "chef/chef_fs/chef_fs_data_store"
|
50
51
|
require "chef_zero/server"
|
51
52
|
|
52
|
-
Dir.mkdir(chef_repo_path)
|
53
|
+
Dir.mkdir(chef_repo_path) unless File.exist?(chef_repo_path)
|
53
54
|
|
54
55
|
# 11.6 and below had a bug where it couldn't create the repo children automatically
|
55
56
|
if Chef::VERSION.to_f < 11.8
|
56
57
|
%w{clients cookbooks data_bags environments nodes roles users}.each do |child|
|
57
|
-
Dir.mkdir("#{chef_repo_path}/#{child}")
|
58
|
+
Dir.mkdir("#{chef_repo_path}/#{child}") unless File.exist?("#{chef_repo_path}/#{child}")
|
58
59
|
end
|
59
60
|
end
|
60
61
|
|
@@ -84,6 +85,7 @@ end
|
|
84
85
|
|
85
86
|
def args_from_env(key)
|
86
87
|
return [] unless ENV[key]
|
88
|
+
|
87
89
|
ENV[key].split
|
88
90
|
end
|
89
91
|
|
data/spec/search_spec.rb
CHANGED
@@ -2,7 +2,7 @@ require "chef_zero/socketless_server_map"
|
|
2
2
|
|
3
3
|
describe "Socketless Mode" do
|
4
4
|
|
5
|
-
let(:server_map) { ChefZero::SocketlessServerMap.instance.tap
|
5
|
+
let(:server_map) { ChefZero::SocketlessServerMap.instance.tap(&:reset!) }
|
6
6
|
|
7
7
|
let(:server) { instance_double("ChefZero::Server") }
|
8
8
|
|
data/spec/support/oc_pedant.rb
CHANGED
metadata
CHANGED
@@ -1,29 +1,35 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: chef-zero
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 15.0.1
|
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:
|
11
|
+
date: 2020-08-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: mixlib-log
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '2.0'
|
20
|
+
- - "<"
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: '4.0'
|
20
23
|
type: :runtime
|
21
24
|
prerelease: false
|
22
25
|
version_requirements: !ruby/object:Gem::Requirement
|
23
26
|
requirements:
|
24
|
-
- - "
|
27
|
+
- - ">="
|
25
28
|
- !ruby/object:Gem::Version
|
26
29
|
version: '2.0'
|
30
|
+
- - "<"
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '4.0'
|
27
33
|
- !ruby/object:Gem::Dependency
|
28
34
|
name: hashie
|
29
35
|
requirement: !ruby/object:Gem::Requirement
|
@@ -33,7 +39,7 @@ dependencies:
|
|
33
39
|
version: '2.0'
|
34
40
|
- - "<"
|
35
41
|
- !ruby/object:Gem::Version
|
36
|
-
version: '
|
42
|
+
version: '5.0'
|
37
43
|
type: :runtime
|
38
44
|
prerelease: false
|
39
45
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -43,7 +49,7 @@ dependencies:
|
|
43
49
|
version: '2.0'
|
44
50
|
- - "<"
|
45
51
|
- !ruby/object:Gem::Version
|
46
|
-
version: '
|
52
|
+
version: '5.0'
|
47
53
|
- !ruby/object:Gem::Dependency
|
48
54
|
name: uuidtools
|
49
55
|
requirement: !ruby/object:Gem::Requirement
|
@@ -92,37 +98,9 @@ dependencies:
|
|
92
98
|
- - ">="
|
93
99
|
- !ruby/object:Gem::Version
|
94
100
|
version: 2.0.6
|
95
|
-
- !ruby/object:Gem::Dependency
|
96
|
-
name: rake
|
97
|
-
requirement: !ruby/object:Gem::Requirement
|
98
|
-
requirements:
|
99
|
-
- - ">="
|
100
|
-
- !ruby/object:Gem::Version
|
101
|
-
version: '0'
|
102
|
-
type: :development
|
103
|
-
prerelease: false
|
104
|
-
version_requirements: !ruby/object:Gem::Requirement
|
105
|
-
requirements:
|
106
|
-
- - ">="
|
107
|
-
- !ruby/object:Gem::Version
|
108
|
-
version: '0'
|
109
|
-
- !ruby/object:Gem::Dependency
|
110
|
-
name: rspec
|
111
|
-
requirement: !ruby/object:Gem::Requirement
|
112
|
-
requirements:
|
113
|
-
- - ">="
|
114
|
-
- !ruby/object:Gem::Version
|
115
|
-
version: '0'
|
116
|
-
type: :development
|
117
|
-
prerelease: false
|
118
|
-
version_requirements: !ruby/object:Gem::Requirement
|
119
|
-
requirements:
|
120
|
-
- - ">="
|
121
|
-
- !ruby/object:Gem::Version
|
122
|
-
version: '0'
|
123
101
|
description: Self-contained, easy-setup, fast-start in-memory Chef server for testing
|
124
102
|
and solo setup purposes
|
125
|
-
email:
|
103
|
+
email: oss@chef.io
|
126
104
|
executables:
|
127
105
|
- chef-zero
|
128
106
|
extensions: []
|
@@ -149,6 +127,7 @@ files:
|
|
149
127
|
- lib/chef_zero/data_store/raw_file_store.rb
|
150
128
|
- lib/chef_zero/data_store/v1_to_v2_adapter.rb
|
151
129
|
- lib/chef_zero/data_store/v2_to_v1_adapter.rb
|
130
|
+
- lib/chef_zero/dist.rb
|
152
131
|
- lib/chef_zero/endpoints/acl_endpoint.rb
|
153
132
|
- lib/chef_zero/endpoints/acls_endpoint.rb
|
154
133
|
- lib/chef_zero/endpoints/actor_default_key_endpoint.rb
|
@@ -259,15 +238,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
259
238
|
requirements:
|
260
239
|
- - ">="
|
261
240
|
- !ruby/object:Gem::Version
|
262
|
-
version: 2.
|
241
|
+
version: '2.6'
|
263
242
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
264
243
|
requirements:
|
265
244
|
- - ">="
|
266
245
|
- !ruby/object:Gem::Version
|
267
246
|
version: '0'
|
268
247
|
requirements: []
|
269
|
-
|
270
|
-
rubygems_version: 2.7.6
|
248
|
+
rubygems_version: 3.0.3
|
271
249
|
signing_key:
|
272
250
|
specification_version: 4
|
273
251
|
summary: Self-contained, easy-setup, fast-start in-memory Chef server for testing
|