summaryrefslogtreecommitdiff
path: root/lib/chef_zero/rspec.rb
diff options
context:
space:
mode:
authorjkeiser <jkeiser@opscode.com>2013-01-04 09:42:06 -0800
committerjkeiser <jkeiser@opscode.com>2013-01-04 09:42:06 -0800
commitbf06271025fd583c22915ade699d0700a96dd524 (patch)
tree3c8891db5e61d3ac43ae72e34133a176af69fcd9 /lib/chef_zero/rspec.rb
parentf25e793c732eaa373480b9b00b960d7afa293039 (diff)
downloadchef-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.rb13
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