spec/support/chef_server.rb in berkshelf-3.0.0.beta2 vs spec/support/chef_server.rb in berkshelf-3.0.0.beta3
- old
+ new
@@ -51,32 +51,49 @@
def chef_server
ChefServer.server
end
- def chef_client(name, hash = Hash.new)
+ def chef_client(name, hash = {})
load_data(:clients, name, hash)
end
- def chef_data_bag(name, hash = Hash.new)
- ChefServer.server.load_data({ 'data' => { name => hash }})
+ def chef_cookbook(name, hash = {})
+ chef_server.load_data({ 'cookbooks' => { name => hash }})
end
- def chef_environment(name, hash = Hash.new)
+ def chef_cookbooks
+ chef_server.data_store.list(['cookbooks']).inject({}) do |hash, name|
+ hash[name] = chef_server.data_store.list(['cookbooks', name])
+ hash
+ end
+ end
+
+ def chef_data_bag(name, hash = {})
+ chef_server.load_data({ 'data' => { name => hash }})
+ end
+
+ def chef_environment(name, hash = {})
load_data(:environments, name, hash)
end
- def chef_node(name, hash = Hash.new)
+ def chef_environment_locks(name)
+ JSON.parse(chef_server.data_store.get(['environments', name]))['cookbook_versions']
+ rescue ChefZero::DataStore::DataNotFoundError
+ {}
+ end
+
+ def chef_node(name, hash = {})
load_data(:nodes, name, hash)
end
- def chef_role(name, hash = Hash.new)
+ def chef_role(name, hash = {})
load_data(:roles, name, hash)
end
private
def load_data(key, name, hash)
- ChefServer.server.load_data({ key.to_s => { name => JSON.generate(hash) }})
+ chef_server.load_data({ key.to_s => { name => JSON.generate(hash) }})
end
end
end