From 5bba6797f63866b168fd9c6b0370994010c147a7 Mon Sep 17 00:00:00 2001 From: Tim Smith Date: Thu, 10 Aug 2017 15:12:22 -0700 Subject: Maintain compat with old zypper_repo resource used in cookbooks Signed-off-by: Tim Smith --- lib/chef/resource/zypper_repository.rb | 1 + spec/unit/resource/zypper_repository_spec.rb | 16 ++++++++++++++++ 2 files changed, 17 insertions(+) diff --git a/lib/chef/resource/zypper_repository.rb b/lib/chef/resource/zypper_repository.rb index cce09ec83c..2ebcfdaae0 100644 --- a/lib/chef/resource/zypper_repository.rb +++ b/lib/chef/resource/zypper_repository.rb @@ -23,6 +23,7 @@ class Chef class ZypperRepository < Chef::Resource resource_name :zypper_repository provides :zypper_repository + provides :zypper_repo property :repo_name, String, name_property: true property :description, String diff --git a/spec/unit/resource/zypper_repository_spec.rb b/spec/unit/resource/zypper_repository_spec.rb index d5a3a663d3..16951d071c 100644 --- a/spec/unit/resource/zypper_repository_spec.rb +++ b/spec/unit/resource/zypper_repository_spec.rb @@ -30,6 +30,22 @@ describe Chef::Resource::ZypperRepository do expect(resource).to be_a_kind_of(Chef::Resource::ZypperRepository) end + it "should have a name of repo-source" do + expect(resource.name).to eql("repo-source") + end + + it "should have a default action of create" do + expect(resource.action).to eql([:create]) + end + + it "supports all valid actions" do + expect { resource.action :add }.not_to raise_error + expect { resource.action :remove }.not_to raise_error + expect { resource.action :create }.not_to raise_error + expect { resource.action :refresh }.not_to raise_error + expect { resource.action :delete }.to raise_error(ArgumentError) + end + it "should resolve to a Noop class when zypper is not found" do expect(Chef::Provider::ZypperRepository).to receive(:which).with("zypper").and_return(false) expect(resource.provider_for_action(:add)).to be_a(Chef::Provider::Noop) -- cgit v1.2.1