summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThom May <thom@may.lt>2016-08-02 17:58:55 +0100
committerGitHub <noreply@github.com>2016-08-02 17:58:55 +0100
commit2625378f08a03b1cc18f293fee980d4214d19e11 (patch)
tree3481b01d60e1adbb42cfae2eb2c018b048eb179d
parente37ffed627248082b138bb87123dcb1e5be074b2 (diff)
parent189893fa7fc5669d6106d2bdfa45c0c68f791003 (diff)
downloadchef-zero-2625378f08a03b1cc18f293fee980d4214d19e11.tar.gz
Merge pull request #231 from chef/tm/run_more_pedant
Enable policy, cookbook artifacts and ACL pedant tests
-rw-r--r--lib/chef_zero/endpoints/cookbook_version_endpoint.rb10
-rw-r--r--spec/run_oc_pedant.rb11
2 files changed, 13 insertions, 8 deletions
diff --git a/lib/chef_zero/endpoints/cookbook_version_endpoint.rb b/lib/chef_zero/endpoints/cookbook_version_endpoint.rb
index 55acd1a..e2dc726 100644
--- a/lib/chef_zero/endpoints/cookbook_version_endpoint.rb
+++ b/lib/chef_zero/endpoints/cookbook_version_endpoint.rb
@@ -95,9 +95,13 @@ module ChefZero
cookbooks = []
end
cookbooks.each do |cookbook_name|
- data_store.list(request.rest_path[0..1] + [cookbook_type, cookbook_name]).each do |version|
- cookbook = data_store.get(request.rest_path[0..1] + [cookbook_type, cookbook_name, version], request)
- deleted_checksums = deleted_checksums - get_checksums(cookbook)
+ # as below, this can be racy.
+ begin
+ data_store.list(request.rest_path[0..1] + [cookbook_type, cookbook_name]).each do |version|
+ cookbook = data_store.get(request.rest_path[0..1] + [cookbook_type, cookbook_name, version], request)
+ deleted_checksums = deleted_checksums - get_checksums(cookbook)
+ end
+ rescue ChefZero::DataStore::DataNotFoundError
end
end
end
diff --git a/spec/run_oc_pedant.rb b/spec/run_oc_pedant.rb
index 0347fbc..e87fc66 100644
--- a/spec/run_oc_pedant.rb
+++ b/spec/run_oc_pedant.rb
@@ -135,16 +135,17 @@ begin
else
[]
end
- # The latest released Chef doesn't do ACLs, Cookbook Artifacts or Policies yet
- chef_fs_skips << "--skip-acl"
- chef_fs_skips << "--skip-cookbook-artifacts"
- chef_fs_skips << "--skip-policies"
- # Multi-keys don't work prior to 12.8
unless Gem::Requirement.new(">= 12.8.0").satisfied_by?(Gem::Version.new(Chef::VERSION))
chef_fs_skips << "--skip-keys"
end
+ unless Gem::Requirement.new(">= 12.13.19").satisfied_by?(Gem::Version.new(Chef::VERSION))
+ chef_fs_skips << "--skip-acl"
+ chef_fs_skips << "--skip-cookbook-artifacts"
+ chef_fs_skips << "--skip-policies"
+ end
+
# These things aren't supported by Chef Zero in any mode of operation:
default_skips = [
# "the goal is that only authorization, authentication and validation tests