summaryrefslogtreecommitdiffstats
path: root/spec/unit/node_spec.rb
diff options
context:
space:
mode:
authorMarkus Roberts <Markus@reality.com>2010-06-28 16:32:11 -0700
committerMarkus Roberts <Markus@reality.com>2010-06-28 16:32:11 -0700
commit9ceb4540a567b0a9de85af5397df4a292303a9c3 (patch)
tree30d1e1601888381baaaa14bfc5ee7246fd5c78e8 /spec/unit/node_spec.rb
parent85638cf427fe9b35d3e3b0fa4ce919c5806c60d3 (diff)
downloadpuppet-9ceb4540a567b0a9de85af5397df4a292303a9c3.tar.gz
puppet-9ceb4540a567b0a9de85af5397df4a292303a9c3.tar.xz
puppet-9ceb4540a567b0a9de85af5397df4a292303a9c3.zip
[#3994-part 2] rename integration tests to *_spec.rb
Some spec files like active_record.rb had names that would confuse the load path and get loaded instead of the intended implentation when the spec was run from the same directory as the file. Author: Matt Robinson <matt@puppetlabs.com> Date: Fri Jun 11 15:29:33 2010 -0700
Diffstat (limited to 'spec/unit/node_spec.rb')
-rwxr-xr-xspec/unit/node_spec.rb210
1 files changed, 0 insertions, 210 deletions
diff --git a/spec/unit/node_spec.rb b/spec/unit/node_spec.rb
deleted file mode 100755
index e0b4530e8..000000000
--- a/spec/unit/node_spec.rb
+++ /dev/null
@@ -1,210 +0,0 @@
-#!/usr/bin/env ruby
-
-require File.dirname(__FILE__) + '/../spec_helper'
-
-describe Puppet::Node do
- describe "when managing its environment" do
- it "should use any set environment" do
- Puppet::Node.new("foo", :environment => "bar").environment.name.should == :bar
- end
-
- it "should support providing an actual environment instance" do
- Puppet::Node.new("foo", :environment => Puppet::Node::Environment.new(:bar)).environment.name.should == :bar
- end
-
- it "should determine its environment from its parameters if no environment is set" do
- Puppet::Node.new("foo", :parameters => {"environment" => :bar}).environment.name.should == :bar
- end
-
- it "should use the default environment if no environment is provided" do
- Puppet::Node.new("foo").environment.name.should == Puppet::Node::Environment.new.name
- end
-
- it "should always return an environment instance rather than a string" do
- Puppet::Node.new("foo").environment.should be_instance_of(Puppet::Node::Environment)
- end
-
- it "should allow the environment to be set after initialization" do
- node = Puppet::Node.new("foo")
- node.environment = :bar
- node.environment.name.should == :bar
- end
-
- it "should allow its environment to be set by parameters after initialization" do
- node = Puppet::Node.new("foo")
- node.parameters["environment"] = :bar
- node.environment.name.should == :bar
- end
- end
-end
-
-describe Puppet::Node, "when initializing" do
- before do
- @node = Puppet::Node.new("testnode")
- end
-
- it "should set the node name" do
- @node.name.should == "testnode"
- end
-
- it "should not allow nil node names" do
- proc { Puppet::Node.new(nil) }.should raise_error(ArgumentError)
- end
-
- it "should default to an empty parameter hash" do
- @node.parameters.should == {}
- end
-
- it "should default to an empty class array" do
- @node.classes.should == []
- end
-
- it "should note its creation time" do
- @node.time.should be_instance_of(Time)
- end
-
- it "should accept parameters passed in during initialization" do
- params = {"a" => "b"}
- @node = Puppet::Node.new("testing", :parameters => params)
- @node.parameters.should == params
- end
-
- it "should accept classes passed in during initialization" do
- classes = %w{one two}
- @node = Puppet::Node.new("testing", :classes => classes)
- @node.classes.should == classes
- end
-
- it "should always return classes as an array" do
- @node = Puppet::Node.new("testing", :classes => "myclass")
- @node.classes.should == ["myclass"]
- end
-end
-
-describe Puppet::Node, "when merging facts" do
- before do
- @node = Puppet::Node.new("testnode")
- Puppet::Node::Facts.stubs(:find).with(@node.name).returns(Puppet::Node::Facts.new(@node.name, "one" => "c", "two" => "b"))
- end
-
- it "should fail intelligently if it cannot find facts" do
- Puppet::Node::Facts.expects(:find).with(@node.name).raises "foo"
- lambda { @node.fact_merge }.should raise_error(Puppet::Error)
- end
-
- it "should prefer parameters already set on the node over facts from the node" do
- @node = Puppet::Node.new("testnode", :parameters => {"one" => "a"})
- @node.fact_merge
- @node.parameters["one"].should == "a"
- end
-
- it "should add passed parameters to the parameter list" do
- @node = Puppet::Node.new("testnode", :parameters => {"one" => "a"})
- @node.fact_merge
- @node.parameters["two"].should == "b"
- end
-
- it "should accept arbitrary parameters to merge into its parameters" do
- @node = Puppet::Node.new("testnode", :parameters => {"one" => "a"})
- @node.merge "two" => "three"
- @node.parameters["two"].should == "three"
- end
-
- it "should add the environment to the list of parameters" do
- Puppet.settings.stubs(:value).with(:environments).returns("one,two")
- Puppet.settings.stubs(:value).with(:environment).returns("one")
- @node = Puppet::Node.new("testnode", :environment => "one")
- @node.merge "two" => "three"
- @node.parameters["environment"].should == "one"
- end
-
- it "should not set the environment if it is already set in the parameters" do
- Puppet.settings.stubs(:value).with(:environments).returns("one,two")
- Puppet.settings.stubs(:value).with(:environment).returns("one")
- @node = Puppet::Node.new("testnode", :environment => "one")
- @node.merge "environment" => "two"
- @node.parameters["environment"].should == "two"
- end
-end
-
-describe Puppet::Node, "when indirecting" do
- it "should redirect to the indirection" do
- @indirection = stub 'indirection', :name => :node
- Puppet::Node.stubs(:indirection).returns(@indirection)
- @indirection.expects(:find)
- Puppet::Node.find(:my_node.to_s)
- end
-
- it "should default to the 'plain' node terminus" do
- Puppet::Node.indirection.terminus_class.should == :plain
- end
-
- it "should not have a cache class defined" do
- Puppet::Node.indirection.cache_class.should be_nil
- end
-
- after do
- Puppet::Util::Cacher.expire
- end
-end
-
-describe Puppet::Node, "when generating the list of names to search through" do
- before do
- @node = Puppet::Node.new("foo.domain.com", :parameters => {"hostname" => "yay", "domain" => "domain.com"})
- end
-
- it "should return an array of names" do
- @node.names.should be_instance_of(Array)
- end
-
- describe "and the node name is fully qualified" do
- it "should contain an entry for each part of the node name" do
- @node.names.should be_include("foo.domain.com")
- @node.names.should be_include("foo.domain")
- @node.names.should be_include("foo")
- end
- end
-
- it "should include the node's fqdn" do
- @node.names.should be_include("yay.domain.com")
- end
-
- it "should combine and include the node's hostname and domain if no fqdn is available" do
- @node.names.should be_include("yay.domain.com")
- end
-
- it "should contain an entry for each name available by stripping a segment of the fqdn" do
- @node.parameters["fqdn"] = "foo.deep.sub.domain.com"
- @node.names.should be_include("foo.deep.sub.domain")
- @node.names.should be_include("foo.deep.sub")
- end
-
- describe "and :node_name is set to 'cert'" do
- before do
- Puppet.settings.stubs(:value).with(:strict_hostname_checking).returns false
- Puppet.settings.stubs(:value).with(:node_name).returns "cert"
- end
-
- it "should use the passed-in key as the first value" do
- @node.names[0].should == "foo.domain.com"
- end
-
- describe "and strict hostname checking is enabled" do
- it "should only use the passed-in key" do
- Puppet.settings.expects(:value).with(:strict_hostname_checking).returns true
- @node.names.should == ["foo.domain.com"]
- end
- end
- end
-
- describe "and :node_name is set to 'facter'" do
- before do
- Puppet.settings.stubs(:value).with(:strict_hostname_checking).returns false
- Puppet.settings.stubs(:value).with(:node_name).returns "facter"
- end
-
- it "should use the node's 'hostname' fact as the first value" do
- @node.names[0].should == "yay"
- end
- end
-end