chef-zero 14.0.13 → 15.0.3

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.
Files changed (108) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +4 -6
  3. data/Rakefile +9 -1
  4. data/bin/chef-zero +2 -2
  5. data/chef-zero.gemspec +2 -5
  6. data/lib/chef_zero.rb +1 -1
  7. data/lib/chef_zero/chef_data/cookbook_data.rb +2 -2
  8. data/lib/chef_zero/chef_data/data_normalizer.rb +10 -7
  9. data/lib/chef_zero/chef_data/default_creator.rb +8 -5
  10. data/lib/chef_zero/data_store/data_already_exists_error.rb +1 -1
  11. data/lib/chef_zero/data_store/data_error.rb +1 -1
  12. data/lib/chef_zero/data_store/data_not_found_error.rb +1 -1
  13. data/lib/chef_zero/data_store/default_facade.rb +4 -4
  14. data/lib/chef_zero/data_store/interface_v2.rb +1 -1
  15. data/lib/chef_zero/data_store/memory_store.rb +3 -3
  16. data/lib/chef_zero/data_store/memory_store_v2.rb +22 -14
  17. data/lib/chef_zero/data_store/raw_file_store.rb +7 -5
  18. data/lib/chef_zero/data_store/v1_to_v2_adapter.rb +11 -1
  19. data/lib/chef_zero/data_store/v2_to_v1_adapter.rb +1 -1
  20. data/lib/chef_zero/endpoints/acl_endpoint.rb +4 -3
  21. data/lib/chef_zero/endpoints/acls_endpoint.rb +6 -5
  22. data/lib/chef_zero/endpoints/actor_default_key_endpoint.rb +2 -1
  23. data/lib/chef_zero/endpoints/actor_endpoint.rb +4 -4
  24. data/lib/chef_zero/endpoints/actor_key_endpoint.rb +1 -1
  25. data/lib/chef_zero/endpoints/actor_keys_endpoint.rb +3 -2
  26. data/lib/chef_zero/endpoints/actors_endpoint.rb +2 -2
  27. data/lib/chef_zero/endpoints/authenticate_user_endpoint.rb +3 -2
  28. data/lib/chef_zero/endpoints/container_endpoint.rb +3 -3
  29. data/lib/chef_zero/endpoints/containers_endpoint.rb +3 -3
  30. data/lib/chef_zero/endpoints/controls_endpoint.rb +1 -1
  31. data/lib/chef_zero/endpoints/cookbook_artifact_endpoint.rb +1 -1
  32. data/lib/chef_zero/endpoints/cookbook_artifact_identifier_endpoint.rb +3 -3
  33. data/lib/chef_zero/endpoints/cookbook_artifacts_endpoint.rb +1 -1
  34. data/lib/chef_zero/endpoints/cookbook_endpoint.rb +1 -1
  35. data/lib/chef_zero/endpoints/cookbook_version_endpoint.rb +8 -6
  36. data/lib/chef_zero/endpoints/cookbooks_base.rb +5 -3
  37. data/lib/chef_zero/endpoints/cookbooks_endpoint.rb +1 -1
  38. data/lib/chef_zero/endpoints/data_bag_endpoint.rb +4 -4
  39. data/lib/chef_zero/endpoints/data_bag_item_endpoint.rb +4 -4
  40. data/lib/chef_zero/endpoints/data_bags_endpoint.rb +3 -3
  41. data/lib/chef_zero/endpoints/environment_cookbook_endpoint.rb +2 -2
  42. data/lib/chef_zero/endpoints/environment_cookbook_versions_endpoint.rb +14 -11
  43. data/lib/chef_zero/endpoints/environment_cookbooks_endpoint.rb +2 -2
  44. data/lib/chef_zero/endpoints/environment_endpoint.rb +3 -3
  45. data/lib/chef_zero/endpoints/environment_nodes_endpoint.rb +2 -2
  46. data/lib/chef_zero/endpoints/environment_recipes_endpoint.rb +2 -2
  47. data/lib/chef_zero/endpoints/environment_role_endpoint.rb +2 -2
  48. data/lib/chef_zero/endpoints/file_store_file_endpoint.rb +1 -1
  49. data/lib/chef_zero/endpoints/group_endpoint.rb +3 -3
  50. data/lib/chef_zero/endpoints/groups_endpoint.rb +2 -2
  51. data/lib/chef_zero/endpoints/license_endpoint.rb +2 -2
  52. data/lib/chef_zero/endpoints/node_endpoint.rb +3 -3
  53. data/lib/chef_zero/endpoints/node_identifiers_endpoint.rb +2 -2
  54. data/lib/chef_zero/endpoints/nodes_endpoint.rb +3 -3
  55. data/lib/chef_zero/endpoints/not_found_endpoint.rb +2 -2
  56. data/lib/chef_zero/endpoints/organization_association_request_endpoint.rb +3 -2
  57. data/lib/chef_zero/endpoints/organization_association_requests_endpoint.rb +2 -2
  58. data/lib/chef_zero/endpoints/organization_authenticate_user_endpoint.rb +2 -2
  59. data/lib/chef_zero/endpoints/organization_endpoint.rb +4 -3
  60. data/lib/chef_zero/endpoints/organization_user_base.rb +2 -2
  61. data/lib/chef_zero/endpoints/organization_user_default_key_endpoint.rb +1 -1
  62. data/lib/chef_zero/endpoints/organization_user_endpoint.rb +2 -2
  63. data/lib/chef_zero/endpoints/organization_user_key_endpoint.rb +2 -2
  64. data/lib/chef_zero/endpoints/organization_user_keys_endpoint.rb +1 -1
  65. data/lib/chef_zero/endpoints/organization_users_endpoint.rb +3 -3
  66. data/lib/chef_zero/endpoints/organization_validator_key_endpoint.rb +2 -2
  67. data/lib/chef_zero/endpoints/organizations_endpoint.rb +2 -2
  68. data/lib/chef_zero/endpoints/policies_endpoint.rb +1 -1
  69. data/lib/chef_zero/endpoints/policy_endpoint.rb +1 -1
  70. data/lib/chef_zero/endpoints/policy_group_endpoint.rb +3 -3
  71. data/lib/chef_zero/endpoints/policy_group_policy_endpoint.rb +4 -4
  72. data/lib/chef_zero/endpoints/policy_groups_endpoint.rb +3 -3
  73. data/lib/chef_zero/endpoints/policy_revision_endpoint.rb +1 -1
  74. data/lib/chef_zero/endpoints/policy_revisions_endpoint.rb +1 -1
  75. data/lib/chef_zero/endpoints/principal_endpoint.rb +3 -3
  76. data/lib/chef_zero/endpoints/rest_list_endpoint.rb +3 -3
  77. data/lib/chef_zero/endpoints/rest_object_endpoint.rb +4 -3
  78. data/lib/chef_zero/endpoints/role_endpoint.rb +3 -3
  79. data/lib/chef_zero/endpoints/role_environments_endpoint.rb +2 -2
  80. data/lib/chef_zero/endpoints/sandbox_endpoint.rb +4 -4
  81. data/lib/chef_zero/endpoints/sandboxes_endpoint.rb +2 -2
  82. data/lib/chef_zero/endpoints/search_endpoint.rb +9 -9
  83. data/lib/chef_zero/endpoints/searches_endpoint.rb +1 -1
  84. data/lib/chef_zero/endpoints/server_api_version_endpoint.rb +1 -1
  85. data/lib/chef_zero/endpoints/system_recovery_endpoint.rb +4 -4
  86. data/lib/chef_zero/endpoints/universe_endpoint.rb +3 -3
  87. data/lib/chef_zero/endpoints/user_association_request_endpoint.rb +3 -2
  88. data/lib/chef_zero/endpoints/user_association_requests_count_endpoint.rb +2 -2
  89. data/lib/chef_zero/endpoints/user_association_requests_endpoint.rb +2 -2
  90. data/lib/chef_zero/endpoints/user_organizations_endpoint.rb +2 -2
  91. data/lib/chef_zero/endpoints/version_endpoint.rb +2 -2
  92. data/lib/chef_zero/rest_base.rb +20 -16
  93. data/lib/chef_zero/rest_request.rb +10 -6
  94. data/lib/chef_zero/rest_router.rb +3 -3
  95. data/lib/chef_zero/rspec.rb +4 -3
  96. data/lib/chef_zero/server.rb +95 -91
  97. data/lib/chef_zero/socketless_server_map.rb +3 -2
  98. data/lib/chef_zero/solr/query/phrase.rb +2 -2
  99. data/lib/chef_zero/solr/query/range_query.rb +3 -3
  100. data/lib/chef_zero/solr/query/term.rb +1 -1
  101. data/lib/chef_zero/solr/solr_parser.rb +12 -10
  102. data/lib/chef_zero/version.rb +1 -1
  103. data/spec/run_oc_pedant.rb +8 -6
  104. data/spec/search_spec.rb +2 -2
  105. data/spec/server_spec.rb +2 -2
  106. data/spec/socketless_server_map_spec.rb +1 -1
  107. data/spec/support/oc_pedant.rb +1 -1
  108. metadata +5 -33
@@ -17,8 +17,8 @@
17
17
  #
18
18
 
19
19
  require "thread"
20
- require "singleton"
21
- require "chef_zero/dist"
20
+ require "singleton" unless defined?(Singleton)
21
+ require_relative "dist"
22
22
 
23
23
  module ChefZero
24
24
 
@@ -85,6 +85,7 @@ module ChefZero
85
85
  def request(port, request_env)
86
86
  server = @servers_by_port[port]
87
87
  raise ServerNotFound, "No socketless #{ChefZero::Dist::PRODUCT} server on given port #{port.inspect}" unless server
88
+
88
89
  server.handle_socketless_request(request_env)
89
90
  end
90
91
 
@@ -1,4 +1,4 @@
1
- require "chef_zero/solr/query/regexpable_query"
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 { |term| term.regexp_string }.join("#{NON_WORD_CHARACTER}+"), literal_string)
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 ? '[' : '{'}#{@from} TO #{@to}#{@to_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 if !@from_inclusive
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 if !@to_inclusive
31
+ return false unless @to_inclusive
32
32
  end
33
33
  end
34
34
  return true
@@ -1,4 +1,4 @@
1
- require "chef_zero/solr/query/regexpable_query"
1
+ require_relative "regexpable_query"
2
2
 
3
3
  module ChefZero
4
4
  module Solr
@@ -1,9 +1,9 @@
1
- require "chef_zero/solr/query/binary_operator"
2
- require "chef_zero/solr/query/unary_operator"
3
- require "chef_zero/solr/query/term"
4
- require "chef_zero/solr/query/phrase"
5
- require "chef_zero/solr/query/range_query"
6
- require "chef_zero/solr/query/subquery"
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 if !eof?
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") if !left
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") if !right
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}") if !["}", "]"].include?(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 == "("
@@ -1,3 +1,3 @@
1
1
  module ChefZero
2
- VERSION = "14.0.13".freeze
2
+ VERSION = "15.0.3".freeze
3
3
  end
@@ -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 { |server| server.start_background }
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) if !File.exist?(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}") if !File.exist?("#{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
 
@@ -6,8 +6,8 @@ describe ChefZero::Solr::SolrParser do
6
6
  docs = []
7
7
  [{ "foo" => "a" },
8
8
  { "foo" => "d" }].each_with_index do |h, i|
9
- docs.push ChefZero::Solr::SolrDoc.new(h, i)
10
- end
9
+ docs.push ChefZero::Solr::SolrDoc.new(h, i)
10
+ end
11
11
  docs
12
12
  end
13
13
 
@@ -1,6 +1,6 @@
1
1
  require "chef_zero/server"
2
- require "net/http"
3
- require "uri"
2
+ require "net/http" unless defined?(Net::HTTP)
3
+ require "uri" unless defined?(URI)
4
4
 
5
5
  describe ChefZero::Server do
6
6
  context "with a server bound to port 8889" do
@@ -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 { |i| i.reset! } }
5
+ let(:server_map) { ChefZero::SocketlessServerMap.instance.tap(&:reset!) }
6
6
 
7
7
  let(:server) { instance_double("ChefZero::Server") }
8
8
 
@@ -140,7 +140,7 @@ requestors({
140
140
  },
141
141
  })
142
142
 
143
- self[:tags] = [:validation, :authentication, :authorization]
143
+ self[:tags] = %i{validation authentication authorization}
144
144
  verify_error_messages false
145
145
 
146
146
  ruby_users_endpoint? false
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: 14.0.13
4
+ version: 15.0.3
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: 2019-10-07 00:00:00.000000000 Z
11
+ date: 2020-09-28 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: '4.0'
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: '4.0'
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
@@ -266,7 +238,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
266
238
  requirements:
267
239
  - - ">="
268
240
  - !ruby/object:Gem::Version
269
- version: 2.4.0
241
+ version: '2.6'
270
242
  required_rubygems_version: !ruby/object:Gem::Requirement
271
243
  requirements:
272
244
  - - ">="