From aedfa2bc06278d7bb3618cd39ea04f8aa8a9d846 Mon Sep 17 00:00:00 2001 From: Luke Kanies Date: Mon, 16 Jun 2008 11:36:21 -0500 Subject: Fixed #1369 - the init service provider now supports HP-UX. I've only added an integration test for the provider, since that's all I've changed; none of the service providers have rspec tests yet. --- spec/integration/provider/service/init.rb | 32 +++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100755 spec/integration/provider/service/init.rb (limited to 'spec/integration') diff --git a/spec/integration/provider/service/init.rb b/spec/integration/provider/service/init.rb new file mode 100755 index 000000000..e185247cb --- /dev/null +++ b/spec/integration/provider/service/init.rb @@ -0,0 +1,32 @@ +#!/usr/bin/env ruby + +# Find and load the spec file. +Dir.chdir(File.dirname(__FILE__)) { (s = lambda { |f| File.exist?(f) ? require(f) : Dir.chdir("..") { s.call(f) } }).call("spec/spec_helper.rb") } + +provider = Puppet::Type.type(:service).provider(:init) + +describe provider do + describe "when running on FreeBSD" do + confine "Not running on FreeBSD" => (Facter.value(:operatingsystem) == "FreeBSD") + + it "should set its default path to include /etc/init.d and /usr/local/etc/init.d" do + provider.defpath.should == ["/etc/rc.d", "/usr/local/etc/rc.d"] + end + end + + describe "when running on HP-UX" do + confine "Not running on HP-UX" => (Facter.value(:operatingsystem) == "HP-UX") + + it "should set its default path to include /sbin/init.d" do + provider.defpath.should == "/sbin/init.d" + end + end + + describe "when not running on FreeBSD or HP-UX" do + confine "Running on HP-UX or FreeBSD" => (! %w{HP-UX FreeBSD}.include?(Facter.value(:operatingsystem))) + + it "should set its default path to include /etc/init.d" do + provider.defpath.should == "/etc/init.d" + end + end +end -- cgit From f1d59034e8100d188b1cf4e5d6f5b6f71a4b91b9 Mon Sep 17 00:00:00 2001 From: Luke Kanies Date: Tue, 1 Jul 2008 10:31:29 -0500 Subject: Fixing #1388 - the package test no longer uses 'require'. --- spec/integration/type/package.rb | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) (limited to 'spec/integration') diff --git a/spec/integration/type/package.rb b/spec/integration/type/package.rb index c244fa1cd..def44ad97 100755 --- a/spec/integration/type/package.rb +++ b/spec/integration/type/package.rb @@ -2,12 +2,10 @@ require File.dirname(__FILE__) + '/../../spec_helper' -require 'puppet/type/package' - -describe Puppet::Type::Package, "when choosing a default package provider" do +describe Puppet::Type.type(:package), "when choosing a default package provider" do before do # the default provider is cached. - Puppet::Type::Package.defaultprovider = nil + Puppet::Type.type(:package).defaultprovider = nil end def provider_name(os) @@ -15,10 +13,10 @@ describe Puppet::Type::Package, "when choosing a default package provider" do end it "should have a default provider" do - Puppet::Type::Package.defaultprovider.should_not be_nil + Puppet::Type.type(:package).defaultprovider.should_not be_nil end it "should choose the correct provider each platform" do - Puppet::Type::Package.defaultprovider.name.should == provider_name(Facter.value(:operatingsystem)) + Puppet::Type.type(:package).defaultprovider.name.should == provider_name(Facter.value(:operatingsystem)) end end -- cgit From c1e010fb7dfe4666b3db3d958627f70f7325cf85 Mon Sep 17 00:00:00 2001 From: Luke Kanies Date: Tue, 1 Jul 2008 22:20:26 -0500 Subject: Fixing the Node::Ldap.search method to use an indirection request. I foolishly was just using the old-style api. Added an integration test to catch this in the future. --- spec/integration/indirector/node/ldap.rb | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100755 spec/integration/indirector/node/ldap.rb (limited to 'spec/integration') diff --git a/spec/integration/indirector/node/ldap.rb b/spec/integration/indirector/node/ldap.rb new file mode 100755 index 000000000..34f4cb159 --- /dev/null +++ b/spec/integration/indirector/node/ldap.rb @@ -0,0 +1,22 @@ +#!/usr/bin/env ruby + +require File.dirname(__FILE__) + '/../../../spec_helper' + +require 'puppet/indirector/node/ldap' + +describe Puppet::Node::Ldap do + before do + Puppet[:node_terminus] = :ldap + Puppet::Node.stubs(:terminus_class).returns :ldap + end + + after do + Puppet.settings.clear + end + + it "should use a restrictive filter when searching for nodes in a class" do + Puppet::Node.indirection.terminus(:ldap).expects(:ldapsearch).with("(&(objectclass=puppetClient)(puppetclass=foo))") + + Puppet::Node.search "eh", :class => "foo" + end +end -- cgit