diff options
author | Thom May <thom@may.lt> | 2016-08-02 17:58:55 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-08-02 17:58:55 +0100 |
commit | 2625378f08a03b1cc18f293fee980d4214d19e11 (patch) | |
tree | 3481b01d60e1adbb42cfae2eb2c018b048eb179d | |
parent | e37ffed627248082b138bb87123dcb1e5be074b2 (diff) | |
parent | 189893fa7fc5669d6106d2bdfa45c0c68f791003 (diff) | |
download | chef-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.rb | 10 | ||||
-rw-r--r-- | spec/run_oc_pedant.rb | 11 |
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 |