summaryrefslogtreecommitdiff
path: root/spec/unit/data_bag_spec.rb
diff options
context:
space:
mode:
authorIvan Larionov <ivan.larionov@skype.net>2013-12-03 01:27:57 +0400
committerIvan Larionov <ivan.larionov@skype.net>2014-05-31 03:21:59 +0400
commita0f8a852dded6a86ab48a63401ed6f7ef3325b9b (patch)
tree066c8c1a03781b346cdf84fb9feddd1caa4a73df /spec/unit/data_bag_spec.rb
parent91f15aa6d965b746a6a9598d8a9f78c536743842 (diff)
downloadchef-a0f8a852dded6a86ab48a63401ed6f7ef3325b9b.tar.gz
[CHEF-3399] data bag solo tests cleanup
Diffstat (limited to 'spec/unit/data_bag_spec.rb')
-rw-r--r--spec/unit/data_bag_spec.rb24
1 files changed, 16 insertions, 8 deletions
diff --git a/spec/unit/data_bag_spec.rb b/spec/unit/data_bag_spec.rb
index 1c74ad8adc..56c154211e 100644
--- a/spec/unit/data_bag_spec.rb
+++ b/spec/unit/data_bag_spec.rb
@@ -139,26 +139,34 @@ describe Chef::DataBag do
Chef::Config[:solo] = false
end
+ def file_dir_stub(path, returns = true)
+ File.should_receive(:directory?).with(path).and_return(returns)
+ end
+
+ def dir_glob_stub(path, returns = [])
+ Dir.should_receive(:glob).with(File.join(path, 'foo/*.json')).and_return(returns)
+ end
+
it "should get the data bag from the data_bag_path" do
@paths.each do |path|
- File.should_receive(:directory?).with(path).and_return(true)
- Dir.should_receive(:glob).with(File.join(path, 'foo/*.json')).and_return([])
+ file_dir_stub(path)
+ dir_glob_stub(path)
end
Chef::DataBag.load('foo')
end
it "should get the data bag from the data_bag_path by symbolic name" do
@paths.each do |path|
- File.should_receive(:directory?).with(path).and_return(true)
- Dir.should_receive(:glob).with(File.join(path, 'foo/*.json')).and_return([])
+ file_dir_stub(path)
+ dir_glob_stub(path)
end
Chef::DataBag.load(:foo)
end
it "should return the data bag" do
@paths.each do |path|
- File.should_receive(:directory?).with(path).and_return(true)
- Dir.should_receive(:glob).with(File.join(path, 'foo/*.json')).and_return([File.join(path, 'foo/bar.json'), File.join(path, 'foo/baz.json')])
+ file_dir_stub(path)
+ dir_glob_stub(path, [File.join(path, 'foo/bar.json'), File.join(path, 'foo/baz.json')])
IO.should_receive(:read).with(File.join(path, 'foo/bar.json')).and_return('{"id": "bar", "name": "Bob Bar" }')
IO.should_receive(:read).with(File.join(path, 'foo/baz.json')).and_return('{"id": "baz", "name": "John Baz" }')
end
@@ -168,7 +176,7 @@ describe Chef::DataBag do
it "should return the data bag list" do
@paths.each do |path|
- File.should_receive(:directory?).with(path).and_return(true)
+ file_dir_stub(path)
Dir.should_receive(:glob).and_return([File.join(path, 'foo'), File.join(path, 'bar')])
end
data_bag_list = Chef::DataBag.list
@@ -176,7 +184,7 @@ describe Chef::DataBag do
end
it 'should raise an error if the configured data_bag_path is invalid' do
- File.should_receive(:directory?).with('/var/chef/data_bags').and_return(false)
+ file_dir_stub(@paths.first, false)
lambda {
Chef::DataBag.load('foo')