module ChefZero::RSpec::WhenTheChefServerInstanceMethods
Public Instance Methods
acl(data)
click to toggle source
# File lib/chef_zero/rspec.rb, line 200 def acl(data) acl_for(@current_object_path, data) end
acl_for(path, data)
click to toggle source
# File lib/chef_zero/rspec.rb, line 196 def acl_for(path, data) ChefZero::RSpec.server.load_data({ "acls" => { path => data } }, current_org) end
client(name, data, &block)
click to toggle source
# File lib/chef_zero/rspec.rb, line 204 def client(name, data, &block) with_object_path("clients/#{name}") do ChefZero::RSpec.server.load_data({ "clients" => { name => data } }, current_org) instance_eval(&block) if block_given? end end
container(name, data, &block)
click to toggle source
# File lib/chef_zero/rspec.rb, line 211 def container(name, data, &block) with_object_path("containers/#{name}") do ChefZero::RSpec.server.load_data({ "containers" => { name => data } }, current_org) instance_eval(&block) if block_given? end end
cookbook(name, version, data = {}, options = {}, &block)
click to toggle source
# File lib/chef_zero/rspec.rb, line 218 def cookbook(name, version, data = {}, options = {}, &block) with_object_path("cookbooks/#{name}") do # If you didn't specify metadata.rb, we generate it for you. If you # explicitly set it to nil, that means you don't want it at all. if data.has_key?("metadata.rb") if data["metadata.rb"].nil? data.delete("metadata.rb") end else data["metadata.rb"] = "name #{name.inspect}; version #{version.inspect}" end ChefZero::RSpec.server.load_data({ "cookbooks" => { "#{name}-#{version}" => data.merge(options) } }, current_org) instance_eval(&block) if block_given? end end
cookbook_artifact(name, identifier, data = {}, &block)
click to toggle source
# File lib/chef_zero/rspec.rb, line 234 def cookbook_artifact(name, identifier, data = {}, &block) with_object_path("cookbook_artifacts/#{name}") do # If you didn't specify metadata.rb, we generate it for you. If you # explicitly set it to nil, that means you don't want it at all. if data.has_key?("metadata.rb") if data["metadata.rb"].nil? data.delete("metadata.rb") end else data["metadata.rb"] = "name #{name.inspect}" end ChefZero::RSpec.server.load_data({ "cookbook_artifacts" => { "#{name}-#{identifier}" => data } }, current_org) instance_eval(&block) if block_given? end end
current_org()
click to toggle source
# File lib/chef_zero/rspec.rb, line 340 def current_org @current_org || ChefZero::RSpec.server.options[:single_org] || nil end
data_bag(name, data, &block)
click to toggle source
# File lib/chef_zero/rspec.rb, line 250 def data_bag(name, data, &block) with_object_path("data/#{name}") do ChefZero::RSpec.server.load_data({ "data" => { name => data } }, current_org) instance_eval(&block) if block_given? end end
dejsonize(data)
click to toggle source
# File lib/chef_zero/rspec.rb, line 332 def dejsonize(data) if data.is_a?(String) data else FFI_Yajl::Encoder.encode(data, :pretty => true) end end
environment(name, data, &block)
click to toggle source
# File lib/chef_zero/rspec.rb, line 257 def environment(name, data, &block) with_object_path("environments/#{name}") do ChefZero::RSpec.server.load_data({ "environments" => { name => data } }, current_org) instance_eval(&block) if block_given? end end
group(name, data, &block)
click to toggle source
# File lib/chef_zero/rspec.rb, line 264 def group(name, data, &block) with_object_path("groups/#{name}") do ChefZero::RSpec.server.load_data({ "groups" => { name => data } }, current_org) instance_eval(&block) if block_given? end end
node(name, data, &block)
click to toggle source
# File lib/chef_zero/rspec.rb, line 271 def node(name, data, &block) with_object_path("nodes/#{name}") do ChefZero::RSpec.server.load_data({ "nodes" => { name => data } }, current_org) instance_eval(&block) if block_given? end end
org_invite(*usernames)
click to toggle source
# File lib/chef_zero/rspec.rb, line 278 def org_invite(*usernames) ChefZero::RSpec.server.load_data({ "invites" => usernames }, current_org) end
org_member(*usernames)
click to toggle source
# File lib/chef_zero/rspec.rb, line 282 def org_member(*usernames) ChefZero::RSpec.server.load_data({ "members" => usernames }, current_org) end
organization(name, org = "{}", &block)
click to toggle source
# File lib/chef_zero/rspec.rb, line 180 def organization(name, org = "{}", &block) ChefZero::RSpec.server.data_store.set([ "organizations", name, "org" ], dejsonize(org), :create_dir, :create) prev_org_name = @current_org @current_org = name prev_object_path = @current_object_path @current_object_path = "organizations/#{name}" if block_given? begin instance_eval(&block) ensure @current_org = prev_org_name @current_object_path = prev_object_path end end end
policy(name, version, data, &block)
click to toggle source
# File lib/chef_zero/rspec.rb, line 286 def policy(name, version, data, &block) with_object_path("policies/#{name}") do ChefZero::RSpec.server.load_data({ "policies" => { name => { version => data } } }, current_org) instance_eval(&block) if block_given? end end
policy_group(name, data, &block)
click to toggle source
# File lib/chef_zero/rspec.rb, line 293 def policy_group(name, data, &block) with_object_path("policy_groups/#{name}") do ChefZero::RSpec.server.load_data({ "policy_groups" => { name => data } }, current_org) instance_eval(&block) if block_given? end end
role(name, data, &block)
click to toggle source
# File lib/chef_zero/rspec.rb, line 300 def role(name, data, &block) with_object_path("roles/#{name}") do ChefZero::RSpec.server.load_data({ "roles" => { name => data } }, current_org) instance_eval(&block) if block_given? end end
sandbox(name, data, &block)
click to toggle source
# File lib/chef_zero/rspec.rb, line 307 def sandbox(name, data, &block) with_object_path("sandboxes/#{name}") do ChefZero::RSpec.server.load_data({ "sandboxes" => { name => data } }, current_org) instance_eval(&block) if block_given? end end
user(name, data, &block)
click to toggle source
# File lib/chef_zero/rspec.rb, line 314 def user(name, data, &block) if ChefZero::RSpec.server.options[:osc_compat] with_object_path("users/#{name}") do ChefZero::RSpec.server.load_data({ "users" => { name => data } }, current_org) instance_eval(&block) if block_given? end else old_object_path = @current_object_path @current_object_path = "users/#{name}" begin ChefZero::RSpec.server.load_data({ "users" => { name => data } }, current_org) instance_eval(&block) if block_given? ensure @current_object_path = old_object_path end end end
with_object_path(object_path) { || ... }
click to toggle source
# File lib/chef_zero/rspec.rb, line 344 def with_object_path(object_path) old_object_path = @current_object_path @current_object_path = object_path begin yield if block_given? end @current_object_path = old_object_path end