From 5df9f7cf95bce0a6bb39f7df2f22ebfd7094143d Mon Sep 17 00:00:00 2001 From: Adam Spiers Date: Thu, 6 Feb 2014 18:37:17 +0000 Subject: [PATCH] extract meta attribute tests for reuse --- spec/helpers/meta_examples.rb | 21 ++++++++++++ .../pacemaker/resource/primitive_spec.rb | 33 ++++++------------- 2 files changed, 31 insertions(+), 23 deletions(-) create mode 100644 spec/helpers/meta_examples.rb diff --git a/spec/helpers/meta_examples.rb b/spec/helpers/meta_examples.rb new file mode 100644 index 0000000..da2df20 --- /dev/null +++ b/spec/helpers/meta_examples.rb @@ -0,0 +1,21 @@ +shared_examples "with meta attributes" do + describe "#meta_string" do + it "should return empty string with nil meta" do + fixture.meta = nil + expect(fixture.meta_string).to eq("") + end + + it "should return empty string with empty meta" do + fixture.meta = {} + expect(fixture.meta_string).to eq("") + end + + it "should return a resource meta string" do + fixture.meta = { + "foo" => "bar", + "baz" => "qux", + } + expect(fixture.meta_string).to eq(%'meta baz="qux" foo="bar"') + end + end +end diff --git a/spec/libraries/pacemaker/resource/primitive_spec.rb b/spec/libraries/pacemaker/resource/primitive_spec.rb index 6293155..c6c2d2a 100644 --- a/spec/libraries/pacemaker/resource/primitive_spec.rb +++ b/spec/libraries/pacemaker/resource/primitive_spec.rb @@ -1,7 +1,12 @@ require 'spec_helper' -require File.expand_path('../../../../libraries/pacemaker/resource/primitive', File.dirname(__FILE__)) -require File.expand_path('../../../fixtures/keystone_primitive', File.dirname(__FILE__)) -require File.expand_path('../../../helpers/common_object_examples', File.dirname(__FILE__)) +require File.expand_path('../../../../libraries/pacemaker/resource/primitive', + File.dirname(__FILE__)) +require File.expand_path('../../../fixtures/keystone_primitive', + File.dirname(__FILE__)) +require File.expand_path('../../../helpers/common_object_examples', + File.dirname(__FILE__)) +require File.expand_path('../../../helpers/meta_examples', + File.dirname(__FILE__)) describe Pacemaker::Resource::Primitive do let(:fixture) { Chef::RSpec::Pacemaker::Config::KEYSTONE_PRIMITIVE.dup } @@ -47,26 +52,6 @@ describe Pacemaker::Resource::Primitive do end end - describe "#meta_string" do - it "should return empty string with nil meta" do - fixture.meta = nil - expect(fixture.meta_string).to eq("") - end - - it "should return empty string with empty meta" do - fixture.meta = {} - expect(fixture.meta_string).to eq("") - end - - it "should return a resource meta string" do - fixture.meta = { - "foo" => "bar", - "baz" => "qux", - } - expect(fixture.meta_string).to eq(%'meta baz="qux" foo="bar"') - end - end - describe "#op_string" do it "should return empty string with nil op" do fixture.op = nil @@ -89,6 +74,8 @@ describe Pacemaker::Resource::Primitive do end end + it_should_behave_like "with meta attributes" + describe "#definition_string" do it "should return the definition string" do expect(fixture.definition_string).to eq(fixture_definition)