summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRick Bradley <rick@rickbradley.com>2008-02-18 14:20:13 -0600
committerRick Bradley <rick@rickbradley.com>2008-02-18 14:20:13 -0600
commit9927efbcbc1e1e35053e028c8a5c341795d28bf6 (patch)
tree212908c92dcfcb65d27411e24c3fe633d2fc71ec
parentc86c1da76d22e96b792b35e8c46afa2656226918 (diff)
downloadpuppet-9927efbcbc1e1e35053e028c8a5c341795d28bf6.tar.gz
puppet-9927efbcbc1e1e35053e028c8a5c341795d28bf6.tar.xz
puppet-9927efbcbc1e1e35053e028c8a5c341795d28bf6.zip
converting parser ast host class specs from setup/teardown to before/after
-rwxr-xr-xspec/unit/parser/ast/hostclass.rb170
1 files changed, 84 insertions, 86 deletions
diff --git a/spec/unit/parser/ast/hostclass.rb b/spec/unit/parser/ast/hostclass.rb
index 422861857..a53c3b092 100755
--- a/spec/unit/parser/ast/hostclass.rb
+++ b/spec/unit/parser/ast/hostclass.rb
@@ -2,8 +2,8 @@
require File.dirname(__FILE__) + '/../../../spec_helper'
-module HostClassTesting
- def setup
+describe Puppet::Parser::AST::HostClass do
+ before :each do
@node = Puppet::Node.new "testnode"
@parser = Puppet::Parser::Parser.new :environment => "development"
@scope_resource = stub 'scope_resource', :builtin? => true
@@ -11,121 +11,119 @@ module HostClassTesting
@scope = @compiler.topscope
end
-end
-describe Puppet::Parser::AST::HostClass, "when evaluating" do
- include HostClassTesting
+ describe Puppet::Parser::AST::HostClass, "when evaluating" do
- before do
- @top = @parser.newclass "top"
- @middle = @parser.newclass "middle", :parent => "top"
- end
+ before do
+ @top = @parser.newclass "top"
+ @middle = @parser.newclass "middle", :parent => "top"
+ end
- it "should create a resource that references itself" do
- @top.evaluate(@scope)
+ it "should create a resource that references itself" do
+ @top.evaluate(@scope)
- @compiler.catalog.resource(:class, "top").should be_instance_of(Puppet::Parser::Resource)
- end
+ @compiler.catalog.resource(:class, "top").should be_instance_of(Puppet::Parser::Resource)
+ end
- it "should evaluate the parent class if one exists" do
- @middle.evaluate(@scope)
+ it "should evaluate the parent class if one exists" do
+ @middle.evaluate(@scope)
- @compiler.catalog.resource(:class, "top").should be_instance_of(Puppet::Parser::Resource)
- end
+ @compiler.catalog.resource(:class, "top").should be_instance_of(Puppet::Parser::Resource)
+ end
- it "should fail to evaluate if a parent class is defined but cannot be found" do
- othertop = @parser.newclass "something", :parent => "yay"
- lambda { othertop.evaluate(@scope) }.should raise_error(Puppet::ParseError)
- end
+ it "should fail to evaluate if a parent class is defined but cannot be found" do
+ othertop = @parser.newclass "something", :parent => "yay"
+ lambda { othertop.evaluate(@scope) }.should raise_error(Puppet::ParseError)
+ end
- it "should not create a new resource if one already exists" do
- @compiler.catalog.expects(:resource).with(:class, "top").returns("something")
- @compiler.catalog.expects(:add_resource).never
- @top.evaluate(@scope)
- end
+ it "should not create a new resource if one already exists" do
+ @compiler.catalog.expects(:resource).with(:class, "top").returns("something")
+ @compiler.catalog.expects(:add_resource).never
+ @top.evaluate(@scope)
+ end
- it "should not create a new parent resource if one already exists and it has a parent class" do
- @top.evaluate(@scope)
+ it "should not create a new parent resource if one already exists and it has a parent class" do
+ @top.evaluate(@scope)
- top_resource = @compiler.catalog.resource(:class, "top")
+ top_resource = @compiler.catalog.resource(:class, "top")
- @middle.evaluate(@scope)
+ @middle.evaluate(@scope)
- @compiler.catalog.resource(:class, "top").should equal(top_resource)
- end
+ @compiler.catalog.resource(:class, "top").should equal(top_resource)
+ end
- # #795 - tag before evaluation.
- it "should tag the catalog with the resource tags when it is evaluated" do
- @middle.evaluate(@scope)
+ # #795 - tag before evaluation.
+ it "should tag the catalog with the resource tags when it is evaluated" do
+ @middle.evaluate(@scope)
- @compiler.catalog.should be_tagged("middle")
- end
+ @compiler.catalog.should be_tagged("middle")
+ end
- it "should tag the catalog with the parent class tags when it is evaluated" do
- @middle.evaluate(@scope)
+ it "should tag the catalog with the parent class tags when it is evaluated" do
+ @middle.evaluate(@scope)
- @compiler.catalog.should be_tagged("top")
+ @compiler.catalog.should be_tagged("top")
+ end
end
-end
-describe Puppet::Parser::AST::HostClass, "when evaluating code" do
- include HostClassTesting
+ describe Puppet::Parser::AST::HostClass, "when evaluating code" do
- before do
- @top_resource = stub "top_resource"
- @top = @parser.newclass "top", :code => @top_resource
+ before do
+ @top_resource = stub "top_resource"
+ @top = @parser.newclass "top", :code => @top_resource
- @middle_resource = stub "middle_resource"
- @middle = @parser.newclass "top::middle", :parent => "top", :code => @middle_resource
- end
+ @middle_resource = stub "middle_resource"
+ @middle = @parser.newclass "top::middle", :parent => "top", :code => @middle_resource
+ end
- it "should set its namespace to its fully qualified name" do
- @middle.namespace.should == "top::middle"
- end
+ it "should set its namespace to its fully qualified name" do
+ @middle.namespace.should == "top::middle"
+ end
- it "should evaluate the code referred to by the class" do
- @top_resource.expects(:safeevaluate)
+ it "should evaluate the code referred to by the class" do
+ @top_resource.expects(:safeevaluate)
- resource = @top.evaluate(@scope)
+ resource = @top.evaluate(@scope)
- @top.evaluate_code(resource)
- end
+ @top.evaluate_code(resource)
+ end
- it "should evaluate the parent class's code if it has a parent" do
- @top_resource.expects(:safeevaluate)
- @middle_resource.expects(:safeevaluate)
+ it "should evaluate the parent class's code if it has a parent" do
+ @top_resource.expects(:safeevaluate)
+ @middle_resource.expects(:safeevaluate)
- resource = @middle.evaluate(@scope)
+ resource = @middle.evaluate(@scope)
- @middle.evaluate_code(resource)
- end
+ @middle.evaluate_code(resource)
+ end
- it "should not evaluate the parent class's code if the parent has already been evaluated" do
- @top_resource.stubs(:safeevaluate)
- resource = @top.evaluate(@scope)
- @top.evaluate_code(resource)
+ it "should not evaluate the parent class's code if the parent has already been evaluated" do
+ @top_resource.stubs(:safeevaluate)
+ resource = @top.evaluate(@scope)
+ @top.evaluate_code(resource)
- @top_resource.expects(:safeevaluate).never
- @middle_resource.stubs(:safeevaluate)
- resource = @middle.evaluate(@scope)
- @middle.evaluate_code(resource)
- end
+ @top_resource.expects(:safeevaluate).never
+ @middle_resource.stubs(:safeevaluate)
+ resource = @middle.evaluate(@scope)
+ @middle.evaluate_code(resource)
+ end
- it "should use the parent class's scope as its parent scope" do
- @top_resource.stubs(:safeevaluate)
- @middle_resource.stubs(:safeevaluate)
- resource = @middle.evaluate(@scope)
- @middle.evaluate_code(resource)
+ it "should use the parent class's scope as its parent scope" do
+ @top_resource.stubs(:safeevaluate)
+ @middle_resource.stubs(:safeevaluate)
+ resource = @middle.evaluate(@scope)
+ @middle.evaluate_code(resource)
- @compiler.class_scope(@middle).parent.should equal(@compiler.class_scope(@top))
- end
+ @compiler.class_scope(@middle).parent.should equal(@compiler.class_scope(@top))
+ end
- it "should add the parent class's namespace to its namespace search path" do
- @top_resource.stubs(:safeevaluate)
- @middle_resource.stubs(:safeevaluate)
- resource = @middle.evaluate(@scope)
- @middle.evaluate_code(resource)
+ it "should add the parent class's namespace to its namespace search path" do
+ @top_resource.stubs(:safeevaluate)
+ @middle_resource.stubs(:safeevaluate)
+ resource = @middle.evaluate(@scope)
+ @middle.evaluate_code(resource)
- @compiler.class_scope(@middle).namespaces.should be_include(@top.namespace)
+ @compiler.class_scope(@middle).namespaces.should be_include(@top.namespace)
+ end
end
-end
+end \ No newline at end of file