diff options
author | jkeiser <jkeiser@opscode.com> | 2013-01-04 09:42:06 -0800 |
---|---|---|
committer | jkeiser <jkeiser@opscode.com> | 2013-01-04 09:42:06 -0800 |
commit | bf06271025fd583c22915ade699d0700a96dd524 (patch) | |
tree | 3c8891db5e61d3ac43ae72e34133a176af69fcd9 /lib/chef_zero/rspec.rb | |
parent | f25e793c732eaa373480b9b00b960d7afa293039 (diff) | |
download | chef-zero-bf06271025fd583c22915ade699d0700a96dd524.tar.gz |
Allow tags in rspec DSL, clear Chef::Config after each test
Diffstat (limited to 'lib/chef_zero/rspec.rb')
-rw-r--r-- | lib/chef_zero/rspec.rb | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/lib/chef_zero/rspec.rb b/lib/chef_zero/rspec.rb index db75f9e..bc3ea32 100644 --- a/lib/chef_zero/rspec.rb +++ b/lib/chef_zero/rspec.rb @@ -18,8 +18,8 @@ module ChefZero @client_key = value end - def when_the_chef_server(description, &block) - context "When the Chef server #{description}" do + def when_the_chef_server(description, *tags, &block) + context "When the Chef server #{description}", *tags do before :each do unless ChefZero::RSpec.server # Set up configuration so that clients will point to the server @@ -34,11 +34,20 @@ module ChefZero ChefZero::RSpec.server.clear_data end + @old_chef_server_url = Chef::Config.chef_server_url + @old_node_name = Chef::Config.node_name + @old_client_key = Chef::Config.client_key Chef::Config.chef_server_url = ChefZero::RSpec.server.url Chef::Config.node_name = 'admin' Chef::Config.client_key = ChefZero::RSpec.client_key end + after :each do + Chef::Config.chef_server_url = @old_chef_server_url + Chef::Config.node_name = @old_node_name + Chef::Config.client_key = @old_client_key + end + def self.client(name, client) before(:each) { ChefZero::RSpec.server.load_data({ 'clients' => { name => client }}) } end |