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.
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 +3 -2
  5. data/chef-zero.gemspec +5 -8
  6. data/lib/chef_zero.rb +1 -1
  7. data/lib/chef_zero/chef_data/cookbook_data.rb +1 -1
  8. data/lib/chef_zero/chef_data/data_normalizer.rb +9 -7
  9. data/lib/chef_zero/chef_data/default_creator.rb +22 -19
  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/dist.rb +9 -0
  21. data/lib/chef_zero/endpoints/acl_endpoint.rb +4 -3
  22. data/lib/chef_zero/endpoints/acls_endpoint.rb +6 -5
  23. data/lib/chef_zero/endpoints/actor_default_key_endpoint.rb +2 -1
  24. data/lib/chef_zero/endpoints/actor_endpoint.rb +4 -4
  25. data/lib/chef_zero/endpoints/actor_key_endpoint.rb +1 -1
  26. data/lib/chef_zero/endpoints/actor_keys_endpoint.rb +3 -2
  27. data/lib/chef_zero/endpoints/actors_endpoint.rb +2 -2
  28. data/lib/chef_zero/endpoints/authenticate_user_endpoint.rb +3 -2
  29. data/lib/chef_zero/endpoints/container_endpoint.rb +3 -3
  30. data/lib/chef_zero/endpoints/containers_endpoint.rb +3 -3
  31. data/lib/chef_zero/endpoints/controls_endpoint.rb +3 -2
  32. data/lib/chef_zero/endpoints/cookbook_artifact_endpoint.rb +1 -1
  33. data/lib/chef_zero/endpoints/cookbook_artifact_identifier_endpoint.rb +3 -3
  34. data/lib/chef_zero/endpoints/cookbook_artifacts_endpoint.rb +7 -7
  35. data/lib/chef_zero/endpoints/cookbook_endpoint.rb +1 -1
  36. data/lib/chef_zero/endpoints/cookbook_version_endpoint.rb +8 -6
  37. data/lib/chef_zero/endpoints/cookbooks_base.rb +6 -4
  38. data/lib/chef_zero/endpoints/cookbooks_endpoint.rb +1 -1
  39. data/lib/chef_zero/endpoints/data_bag_endpoint.rb +4 -4
  40. data/lib/chef_zero/endpoints/data_bag_item_endpoint.rb +4 -4
  41. data/lib/chef_zero/endpoints/data_bags_endpoint.rb +3 -3
  42. data/lib/chef_zero/endpoints/environment_cookbook_endpoint.rb +2 -2
  43. data/lib/chef_zero/endpoints/environment_cookbook_versions_endpoint.rb +14 -11
  44. data/lib/chef_zero/endpoints/environment_cookbooks_endpoint.rb +2 -2
  45. data/lib/chef_zero/endpoints/environment_endpoint.rb +3 -3
  46. data/lib/chef_zero/endpoints/environment_nodes_endpoint.rb +2 -2
  47. data/lib/chef_zero/endpoints/environment_recipes_endpoint.rb +2 -2
  48. data/lib/chef_zero/endpoints/environment_role_endpoint.rb +2 -2
  49. data/lib/chef_zero/endpoints/file_store_file_endpoint.rb +1 -1
  50. data/lib/chef_zero/endpoints/group_endpoint.rb +3 -3
  51. data/lib/chef_zero/endpoints/groups_endpoint.rb +2 -2
  52. data/lib/chef_zero/endpoints/license_endpoint.rb +2 -2
  53. data/lib/chef_zero/endpoints/node_endpoint.rb +3 -3
  54. data/lib/chef_zero/endpoints/node_identifiers_endpoint.rb +2 -2
  55. data/lib/chef_zero/endpoints/nodes_endpoint.rb +3 -3
  56. data/lib/chef_zero/endpoints/not_found_endpoint.rb +2 -2
  57. data/lib/chef_zero/endpoints/organization_association_request_endpoint.rb +3 -2
  58. data/lib/chef_zero/endpoints/organization_association_requests_endpoint.rb +2 -2
  59. data/lib/chef_zero/endpoints/organization_authenticate_user_endpoint.rb +2 -2
  60. data/lib/chef_zero/endpoints/organization_endpoint.rb +4 -3
  61. data/lib/chef_zero/endpoints/organization_user_base.rb +2 -2
  62. data/lib/chef_zero/endpoints/organization_user_default_key_endpoint.rb +1 -1
  63. data/lib/chef_zero/endpoints/organization_user_endpoint.rb +2 -2
  64. data/lib/chef_zero/endpoints/organization_user_key_endpoint.rb +2 -2
  65. data/lib/chef_zero/endpoints/organization_user_keys_endpoint.rb +1 -1
  66. data/lib/chef_zero/endpoints/organization_users_endpoint.rb +3 -3
  67. data/lib/chef_zero/endpoints/organization_validator_key_endpoint.rb +2 -2
  68. data/lib/chef_zero/endpoints/organizations_endpoint.rb +2 -2
  69. data/lib/chef_zero/endpoints/policies_endpoint.rb +1 -1
  70. data/lib/chef_zero/endpoints/policy_endpoint.rb +1 -1
  71. data/lib/chef_zero/endpoints/policy_group_endpoint.rb +3 -3
  72. data/lib/chef_zero/endpoints/policy_group_policy_endpoint.rb +4 -4
  73. data/lib/chef_zero/endpoints/policy_groups_endpoint.rb +3 -3
  74. data/lib/chef_zero/endpoints/policy_revision_endpoint.rb +1 -1
  75. data/lib/chef_zero/endpoints/policy_revisions_endpoint.rb +1 -1
  76. data/lib/chef_zero/endpoints/principal_endpoint.rb +3 -3
  77. data/lib/chef_zero/endpoints/rest_list_endpoint.rb +3 -3
  78. data/lib/chef_zero/endpoints/rest_object_endpoint.rb +4 -3
  79. data/lib/chef_zero/endpoints/role_endpoint.rb +3 -3
  80. data/lib/chef_zero/endpoints/role_environments_endpoint.rb +2 -2
  81. data/lib/chef_zero/endpoints/sandbox_endpoint.rb +4 -4
  82. data/lib/chef_zero/endpoints/sandboxes_endpoint.rb +2 -2
  83. data/lib/chef_zero/endpoints/search_endpoint.rb +9 -9
  84. data/lib/chef_zero/endpoints/searches_endpoint.rb +1 -1
  85. data/lib/chef_zero/endpoints/server_api_version_endpoint.rb +1 -1
  86. data/lib/chef_zero/endpoints/system_recovery_endpoint.rb +4 -4
  87. data/lib/chef_zero/endpoints/universe_endpoint.rb +3 -3
  88. data/lib/chef_zero/endpoints/user_association_request_endpoint.rb +3 -2
  89. data/lib/chef_zero/endpoints/user_association_requests_count_endpoint.rb +2 -2
  90. data/lib/chef_zero/endpoints/user_association_requests_endpoint.rb +2 -2
  91. data/lib/chef_zero/endpoints/user_organizations_endpoint.rb +2 -2
  92. data/lib/chef_zero/endpoints/version_endpoint.rb +3 -2
  93. data/lib/chef_zero/rest_base.rb +20 -16
  94. data/lib/chef_zero/rest_request.rb +10 -6
  95. data/lib/chef_zero/rest_router.rb +3 -3
  96. data/lib/chef_zero/rspec.rb +6 -5
  97. data/lib/chef_zero/server.rb +98 -93
  98. data/lib/chef_zero/socketless_server_map.rb +4 -2
  99. data/lib/chef_zero/solr/query/phrase.rb +2 -2
  100. data/lib/chef_zero/solr/query/range_query.rb +3 -3
  101. data/lib/chef_zero/solr/query/term.rb +1 -1
  102. data/lib/chef_zero/solr/solr_parser.rb +12 -10
  103. data/lib/chef_zero/version.rb +1 -1
  104. data/spec/run_oc_pedant.rb +5 -3
  105. data/spec/search_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 +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 chef-zero server on given port #{port.inspect}" unless server
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
- 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.11".freeze
2
+ VERSION = "15.0.1".freeze
3
3
  end
@@ -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
 
@@ -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
 
@@ -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,29 +1,35 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: chef-zero
3
3
  version: !ruby/object:Gem::Version
4
- version: 14.0.11
4
+ version: 15.0.1
5
5
  platform: ruby
6
6
  authors:
7
- - John Keiser
7
+ - Chef Software, Inc.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-11-15 00:00:00.000000000 Z
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: '4.0'
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: '4.0'
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: jkeiser@chef.io
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.4.0
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
- rubyforge_project:
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