diff options
author | Lamont Granquist <lamont@scriptkiddie.org> | 2016-03-03 17:48:19 -0800 |
---|---|---|
committer | Lamont Granquist <lamont@scriptkiddie.org> | 2016-03-03 17:48:19 -0800 |
commit | 5759ef3960095f74f74d41f02870fe31c3793580 (patch) | |
tree | fc296c077289047792289d1d8b6e5d47188a4459 /spec/unit/cookbook | |
parent | 0b835a0a92509c5d9ad4123d320024da0005dac3 (diff) | |
parent | b9eb98b827a892f1737194ae02a7887cf491e21a (diff) | |
download | chef-5759ef3960095f74f74d41f02870fe31c3793580.tar.gz |
Merge pull request #4478 from chef/lcg/rfc-060-gem-metadata
RFC-060 gem metadata MVP
Diffstat (limited to 'spec/unit/cookbook')
-rw-r--r-- | spec/unit/cookbook/metadata_spec.rb | 30 |
1 files changed, 29 insertions, 1 deletions
diff --git a/spec/unit/cookbook/metadata_spec.rb b/spec/unit/cookbook/metadata_spec.rb index 0107667fcd..65cefa5ed5 100644 --- a/spec/unit/cookbook/metadata_spec.rb +++ b/spec/unit/cookbook/metadata_spec.rb @@ -30,7 +30,8 @@ describe Chef::Cookbook::Metadata do :maintainer_email, :license, :platforms, :dependencies, :recommendations, :suggestions, :conflicting, :providing, :replacing, :attributes, :groupings, :recipes, :version, - :source_url, :issues_url, :privacy, :ohai_versions, :chef_versions ] + :source_url, :issues_url, :privacy, :ohai_versions, :chef_versions, + :gems ] end it "does not depend on object identity for equality" do @@ -428,6 +429,29 @@ describe Chef::Cookbook::Metadata do end end + describe "gem" do + def expect_gem_works(*args) + ret = [] + args.each do |arg| + metadata.send(:gem, *arg) + ret << arg + end + expect(metadata.send(:gems)).to eql(ret) + end + + it "works on a simple case" do + expect_gem_works(["foo", "~> 1.2"]) + end + + it "works if there's two gems" do + expect_gem_works(["foo", "~> 1.2"], ["bar", "~> 2.0"]) + end + + it "works if there's a more complicated constraint" do + expect_gem_works(["foo", "~> 1.2"], ["bar", ">= 2.4", "< 4.0"]) + end + end + describe "attribute groupings" do it "should allow you set a grouping" do group = { @@ -786,6 +810,8 @@ describe Chef::Cookbook::Metadata do metadata.attribute "bizspark/has_login", :display_name => "You have nothing" metadata.version "1.2.3" + metadata.gem "foo", "~> 1.2" + metadata.gem "bar", ">= 2.2", "< 4.0" metadata.chef_version ">= 11.14.2", "< 11.18.10" metadata.chef_version ">= 12.2.1", "< 12.5.1" metadata.ohai_version ">= 7.1.0", "< 7.5.0" @@ -825,6 +851,7 @@ describe Chef::Cookbook::Metadata do source_url issues_url privacy + gems }.each do |t| it "should include '#{t}'" do expect(deserialized_metadata[t]).to eq(metadata.send(t.to_sym)) @@ -871,6 +898,7 @@ describe Chef::Cookbook::Metadata do privacy chef_versions ohai_versions + gems }.each do |t| it "should match '#{t}'" do expect(deserialized_metadata.send(t.to_sym)).to eq(metadata.send(t.to_sym)) |