diff options
author | Lamont Granquist <lamont@chef.io> | 2019-05-23 13:33:59 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-05-23 13:33:59 -0700 |
commit | 9f8074a61f89c4f132af699d010e59792a598175 (patch) | |
tree | dd03a71c7092a21344717189d1eb20663b00e1c5 | |
parent | f5de2c58ea3705a20a6784251a3cd8a58618f24d (diff) | |
parent | 1ac56538b6865b76ec11490d946546548960c15f (diff) | |
download | chef-9f8074a61f89c4f132af699d010e59792a598175.tar.gz |
Merge pull request #8570 from artem-forks/delete_resource
Fix delete_resource for resources
-rw-r--r-- | lib/chef/resource_collection.rb | 5 | ||||
-rw-r--r-- | spec/unit/resource_collection_spec.rb | 8 |
2 files changed, 11 insertions, 2 deletions
diff --git a/lib/chef/resource_collection.rb b/lib/chef/resource_collection.rb index c2bb463bfb..0293f380b0 100644 --- a/lib/chef/resource_collection.rb +++ b/lib/chef/resource_collection.rb @@ -60,8 +60,9 @@ class Chef end def delete(key) - resource_list.delete(key) - resource_set.delete(key) + res = resource_set.delete(key) + resource_list.delete(res.to_s) + res end # @deprecated diff --git a/spec/unit/resource_collection_spec.rb b/spec/unit/resource_collection_spec.rb index c12a005cfc..7f59246a88 100644 --- a/spec/unit/resource_collection_spec.rb +++ b/spec/unit/resource_collection_spec.rb @@ -183,6 +183,14 @@ describe Chef::ResourceCollection do expect(rc).to be_empty end + it "should allow to delete resources with different providers" do + pkg = Chef::Resource::YumPackage.new("monkey") + rc.insert(pkg, instance_name: "monkey", resource_type: "package") + expect(rc).not_to be_empty + expect(rc.delete("package[monkey]")).to eql(pkg) + expect(rc).to be_empty + end + it "should raise an exception if you send something strange to delete" do expect { rc.delete(:symbol) }.to raise_error(ArgumentError) end |