chef-zero 14.0.12 → 15.0.2
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 +5 -4
- data/chef-zero.gemspec +2 -5
- data/lib/chef_zero.rb +1 -1
- data/lib/chef_zero/chef_data/cookbook_data.rb +2 -2
- data/lib/chef_zero/chef_data/data_normalizer.rb +9 -7
- data/lib/chef_zero/chef_data/default_creator.rb +8 -5
- 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 +1 -1
- 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 +5 -3
- 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 +100 -95
- 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 +8 -6
- data/spec/search_spec.rb +2 -2
- data/spec/server_spec.rb +2 -2
- data/spec/socketless_server_map_spec.rb +1 -1
- data/spec/support/oc_pedant.rb +1 -1
- metadata +7 -34
@@ -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
@@ -1,5 +1,5 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
|
-
require "json"
|
2
|
+
require "json" unless defined?(JSON)
|
3
3
|
require "bundler"
|
4
4
|
require "bundler/setup"
|
5
5
|
|
@@ -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
|
|
@@ -91,7 +93,7 @@ begin
|
|
91
93
|
tmpdir = nil
|
92
94
|
server =
|
93
95
|
if ENV["FILE_STORE"]
|
94
|
-
require "tmpdir"
|
96
|
+
require "tmpdir" unless defined?(Dir.mktmpdir)
|
95
97
|
require "chef_zero/data_store/raw_file_store"
|
96
98
|
tmpdir = Dir.mktmpdir
|
97
99
|
data_store = ChefZero::DataStore::RawFileStore.new(tmpdir, true)
|
@@ -100,7 +102,7 @@ begin
|
|
100
102
|
start_chef_server(data_store: data_store)
|
101
103
|
|
102
104
|
elsif ENV["CHEF_FS"]
|
103
|
-
require "tmpdir"
|
105
|
+
require "tmpdir" unless defined?(Dir.mktmpdir)
|
104
106
|
tmpdir = Dir.mktmpdir
|
105
107
|
start_cheffs_server(tmpdir)
|
106
108
|
|
data/spec/search_spec.rb
CHANGED
data/spec/server_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,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: chef-zero
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 15.0.2
|
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-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: mixlib-log
|
@@ -39,7 +39,7 @@ dependencies:
|
|
39
39
|
version: '2.0'
|
40
40
|
- - "<"
|
41
41
|
- !ruby/object:Gem::Version
|
42
|
-
version: '
|
42
|
+
version: '5.0'
|
43
43
|
type: :runtime
|
44
44
|
prerelease: false
|
45
45
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -49,7 +49,7 @@ dependencies:
|
|
49
49
|
version: '2.0'
|
50
50
|
- - "<"
|
51
51
|
- !ruby/object:Gem::Version
|
52
|
-
version: '
|
52
|
+
version: '5.0'
|
53
53
|
- !ruby/object:Gem::Dependency
|
54
54
|
name: uuidtools
|
55
55
|
requirement: !ruby/object:Gem::Requirement
|
@@ -98,34 +98,6 @@ dependencies:
|
|
98
98
|
- - ">="
|
99
99
|
- !ruby/object:Gem::Version
|
100
100
|
version: 2.0.6
|
101
|
-
- !ruby/object:Gem::Dependency
|
102
|
-
name: rake
|
103
|
-
requirement: !ruby/object:Gem::Requirement
|
104
|
-
requirements:
|
105
|
-
- - ">="
|
106
|
-
- !ruby/object:Gem::Version
|
107
|
-
version: '0'
|
108
|
-
type: :development
|
109
|
-
prerelease: false
|
110
|
-
version_requirements: !ruby/object:Gem::Requirement
|
111
|
-
requirements:
|
112
|
-
- - ">="
|
113
|
-
- !ruby/object:Gem::Version
|
114
|
-
version: '0'
|
115
|
-
- !ruby/object:Gem::Dependency
|
116
|
-
name: rspec
|
117
|
-
requirement: !ruby/object:Gem::Requirement
|
118
|
-
requirements:
|
119
|
-
- - ">="
|
120
|
-
- !ruby/object:Gem::Version
|
121
|
-
version: '0'
|
122
|
-
type: :development
|
123
|
-
prerelease: false
|
124
|
-
version_requirements: !ruby/object:Gem::Requirement
|
125
|
-
requirements:
|
126
|
-
- - ">="
|
127
|
-
- !ruby/object:Gem::Version
|
128
|
-
version: '0'
|
129
101
|
description: Self-contained, easy-setup, fast-start in-memory Chef server for testing
|
130
102
|
and solo setup purposes
|
131
103
|
email: oss@chef.io
|
@@ -155,6 +127,7 @@ files:
|
|
155
127
|
- lib/chef_zero/data_store/raw_file_store.rb
|
156
128
|
- lib/chef_zero/data_store/v1_to_v2_adapter.rb
|
157
129
|
- lib/chef_zero/data_store/v2_to_v1_adapter.rb
|
130
|
+
- lib/chef_zero/dist.rb
|
158
131
|
- lib/chef_zero/endpoints/acl_endpoint.rb
|
159
132
|
- lib/chef_zero/endpoints/acls_endpoint.rb
|
160
133
|
- lib/chef_zero/endpoints/actor_default_key_endpoint.rb
|
@@ -265,14 +238,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
265
238
|
requirements:
|
266
239
|
- - ">="
|
267
240
|
- !ruby/object:Gem::Version
|
268
|
-
version: 2.
|
241
|
+
version: '2.6'
|
269
242
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
270
243
|
requirements:
|
271
244
|
- - ">="
|
272
245
|
- !ruby/object:Gem::Version
|
273
246
|
version: '0'
|
274
247
|
requirements: []
|
275
|
-
rubygems_version: 3.0.
|
248
|
+
rubygems_version: 3.0.3
|
276
249
|
signing_key:
|
277
250
|
specification_version: 4
|
278
251
|
summary: Self-contained, easy-setup, fast-start in-memory Chef server for testing
|