summaryrefslogtreecommitdiffstats
path: root/spec/unit/parser
diff options
context:
space:
mode:
Diffstat (limited to 'spec/unit/parser')
-rwxr-xr-xspec/unit/parser/ast/collection_spec.rb28
-rwxr-xr-xspec/unit/parser/parser_spec.rb2
2 files changed, 17 insertions, 13 deletions
diff --git a/spec/unit/parser/ast/collection_spec.rb b/spec/unit/parser/ast/collection_spec.rb
index 392a2c0f0..cc33075b7 100755
--- a/spec/unit/parser/ast/collection_spec.rb
+++ b/spec/unit/parser/ast/collection_spec.rb
@@ -4,20 +4,21 @@ require File.dirname(__FILE__) + '/../../../spec_helper'
describe Puppet::Parser::AST::Collection do
before :each do
- @scope = stub_everything 'scope'
- @mytype = stub_everything('mytype')
- @scope.stubs(:find_resource_type).returns @mytype
- @compiler = stub_everything 'compile'
- @scope.stubs(:compiler).returns(@compiler)
+ @mytype = Puppet::Resource::Type.new(:definition, "mytype")
+ @environment = Puppet::Node::Environment.new
+ @environment.known_resource_types.add @mytype
+
+ @compiler = Puppet::Parser::Compiler.new(Puppet::Node.new("foonode", :environment => @environment))
+ @scope = Puppet::Parser::Scope.new(:compiler => @compiler)
@overrides = stub_everything 'overrides'
@overrides.stubs(:is_a?).with(Puppet::Parser::AST).returns(true)
-
end
it "should evaluate its query" do
query = mock 'query'
collection = Puppet::Parser::AST::Collection.new :query => query, :form => :virtual
+ collection.type = 'mytype'
query.expects(:safeevaluate).with(@scope)
@@ -26,8 +27,8 @@ describe Puppet::Parser::AST::Collection do
it "should instantiate a Collector for this type" do
collection = Puppet::Parser::AST::Collection.new :form => :virtual, :type => "test"
- @test_type = stub 'type', :name => 'test'
- @scope.expects(:find_resource_type).with('test').returns @test_type
+ @test_type = Puppet::Resource::Type.new(:definition, "test")
+ @environment.known_resource_types.add @test_type
Puppet::Parser::Collector.expects(:new).with(@scope, "test", nil, nil, :virtual)
@@ -35,7 +36,7 @@ describe Puppet::Parser::AST::Collection do
end
it "should tell the compiler about this collector" do
- collection = Puppet::Parser::AST::Collection.new :form => :virtual, :type => "test"
+ collection = Puppet::Parser::AST::Collection.new :form => :virtual, :type => "mytype"
Puppet::Parser::Collector.stubs(:new).returns("whatever")
@compiler.expects(:add_collection).with("whatever")
@@ -45,7 +46,7 @@ describe Puppet::Parser::AST::Collection do
it "should evaluate overriden paramaters" do
collector = stub_everything 'collector'
- collection = Puppet::Parser::AST::Collection.new :form => :virtual, :type => "test", :override => @overrides
+ collection = Puppet::Parser::AST::Collection.new :form => :virtual, :type => "mytype", :override => @overrides
Puppet::Parser::Collector.stubs(:new).returns(collector)
@overrides.expects(:safeevaluate).with(@scope)
@@ -55,7 +56,7 @@ describe Puppet::Parser::AST::Collection do
it "should tell the collector about overrides" do
collector = mock 'collector'
- collection = Puppet::Parser::AST::Collection.new :form => :virtual, :type => "test", :override => @overrides
+ collection = Puppet::Parser::AST::Collection.new :form => :virtual, :type => "mytype", :override => @overrides
Puppet::Parser::Collector.stubs(:new).returns(collector)
collector.expects(:add_override)
@@ -63,5 +64,8 @@ describe Puppet::Parser::AST::Collection do
collection.evaluate(@scope)
end
-
+ it "should fail when evaluating undefined resource types" do
+ collection = Puppet::Parser::AST::Collection.new :form => :virtual, :type => "bogus"
+ lambda { collection.evaluate(@scope) }.should raise_error "Resource type bogus doesn't exist"
+ end
end
diff --git a/spec/unit/parser/parser_spec.rb b/spec/unit/parser/parser_spec.rb
index 6cc393d91..2ed279fd9 100755
--- a/spec/unit/parser/parser_spec.rb
+++ b/spec/unit/parser/parser_spec.rb
@@ -259,7 +259,7 @@ describe Puppet::Parser do
before do
@lexer = stub 'lexer', :line => 50, :file => "/foo/bar", :getcomment => "whev"
@parser.stubs(:lexer).returns @lexer
- @class = stub 'class', :use_docs => false
+ @class = Puppet::Resource::Type.new(:hostclass, "myclass", :use_docs => false)
end
it "should return a new instance of the provided class created with the provided options" do