diff options
author | Aliasgar16 <aliasgar.batterywala@msystechnologies.com> | 2016-09-21 07:02:58 +0530 |
---|---|---|
committer | Matt Wrock <matt@mattwrock.com> | 2016-09-20 18:32:58 -0700 |
commit | 555abc008946f8b239a79809104b07062f9082ae (patch) | |
tree | e7b85f292f9bbf7a19ad9852c7309638bf04c5ad /spec | |
parent | 19b3900b5f6a24009b8f14eb09d4105e721b9262 (diff) | |
download | chef-555abc008946f8b239a79809104b07062f9082ae.tar.gz |
Fixed undefined short_cksum method issue and checksum in uppercase issue for windows_package resource. (#5332)
* Fixed undefined short_cksum method issue and checksum in uppercase issue for windows_package resource.
* Added RSpecs for the changes done here.
* Fixed RSpecs issues.
Diffstat (limited to 'spec')
-rw-r--r-- | spec/unit/mixin/checksum_spec.rb | 14 | ||||
-rw-r--r-- | spec/unit/provider/package/windows_spec.rb | 45 |
2 files changed, 59 insertions, 0 deletions
diff --git a/spec/unit/mixin/checksum_spec.rb b/spec/unit/mixin/checksum_spec.rb index 997dcd523e..801c8820d2 100644 --- a/spec/unit/mixin/checksum_spec.rb +++ b/spec/unit/mixin/checksum_spec.rb @@ -37,4 +37,18 @@ describe Chef::Mixin::Checksum do expect(@checksum_user.checksum(@file)).to eq("09ee9c8cc70501763563bcf9c218d71b2fbf4186bf8e1e0da07f0f42c80a3394") end + describe "short_cksum" do + context "nil provided for checksum" do + it "returns none" do + expect(@checksum_user.short_cksum(nil)).to eq("none") + end + end + + context "non-nil provided for checksum" do + it "returns the short checksum" do + expect(@checksum_user.short_cksum("u7ghbxikk3i9blsimmy2y2ionmxx")).to eq("u7ghbx") + end + end + end + end diff --git a/spec/unit/provider/package/windows_spec.rb b/spec/unit/provider/package/windows_spec.rb index e26662ac75..d1d717bdbe 100644 --- a/spec/unit/provider/package/windows_spec.rb +++ b/spec/unit/provider/package/windows_spec.rb @@ -394,4 +394,49 @@ describe Chef::Provider::Package::Windows, :windows_only do end end end + + shared_context "valid checksum" do + context "checksum is valid" do + before do + allow(provider).to receive(:checksum).and_return("jiie00u3bbs92vsbhvgvklb2lasgh20ah") + end + + it "does not raise the checksum mismatch exception" do + expect { provider.send(:validate_content!) }.to_not raise_error + end + end + end + + shared_context "invalid checksum" do + context "checksum is invalid" do + before do + allow(provider).to receive(:checksum).and_return("kiie30u3bbs92vsbhvgvklb2lasgh20ah") + end + + it "raises the checksum mismatch exception" do + expect { provider.send(:validate_content!) }.to raise_error( + Chef::Exceptions::ChecksumMismatch) + end + end + end + + describe "validate_content!" do + before(:each) do + new_resource.checksum("jiie00u3bbs92vsbhvgvklb2lasgh20ah") + end + + context "checksum is in lowercase" do + include_context "valid checksum" + include_context "invalid checksum" + end + + context "checksum is in uppercase" do + before do + new_resource.checksum = new_resource.checksum.upcase + end + + include_context "valid checksum" + include_context "invalid checksum" + end + end end |