diff options
author | danielsdeleo <dan@getchef.com> | 2014-08-07 13:44:40 -0700 |
---|---|---|
committer | danielsdeleo <dan@getchef.com> | 2014-08-12 11:03:10 -0700 |
commit | 89427a59886b0724a5a1101dde7ea1a1def1c67a (patch) | |
tree | 502cccbf5f09aa9b359cf1e0c22867220599a98c /spec/unit/cookbook | |
parent | 13c67e0dfbde2d366f0000ef036a68f374e4cef9 (diff) | |
download | chef-89427a59886b0724a5a1101dde7ea1a1def1c67a.tar.gz |
Add validation to Metadata
exposes #valid? and #errors methods to check validity.
Diffstat (limited to 'spec/unit/cookbook')
-rw-r--r-- | spec/unit/cookbook/metadata_spec.rb | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/spec/unit/cookbook/metadata_spec.rb b/spec/unit/cookbook/metadata_spec.rb index 0352c17350..e61c85b42b 100644 --- a/spec/unit/cookbook/metadata_spec.rb +++ b/spec/unit/cookbook/metadata_spec.rb @@ -142,6 +142,38 @@ describe Chef::Cookbook::Metadata do end + describe "validation" do + + context "when no required fields are set" do + + it "is not valid" do + metadata.should_not be_valid + end + + it "has a list of validation errors" do + expected_errors = ["The `name' attribute is required in cookbook metadata"] + metadata.errors.should eq(expected_errors) + end + + end + + context "when all required fields are set" do + before do + metadata.name "a-valid-name" + end + + it "is valid" do + metadata.should be_valid + end + + it "has no validation errors" do + metadata.errors.should be_empty + end + + end + + end + describe "adding a supported platform" do it "should support adding a supported platform with a single expression" do metadata.supports("ubuntu", ">= 8.04") |