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