Please review pull request #638: (#13655) test failures on centos5 on 2.7.x branch opened by (zaphod42)
Description:
Several tests were failing because the depended on being able to find a
user provider. On CentOS 5 this didn't work because the provider that
should be used (the useradd provider) is not considered suitable when it
gets run as a non-privaleged user because the useradd and related
commands are not executable.
The user_spec.rb and group_spec.rb test didn't need the tests that were
failing because they were testing functionality that is already tested
by the Type base class's own tests.
The ral_spec.rb needed more mocking of the things it was using in order
to abstract it from the system on which it is running.
The resources_spec.rb got a small cleanup and was fixed by reordering
the data loading in Puppet::Type::Resources so that it doesn't load
information about a user until it needs to.
Conflicts:
spec/unit/type/resources_spec.rb
- Opened: Fri Apr 06 21:26:00 UTC 2012
- Based on: puppetlabs:2.7.x (537488f1a7e4d129a972951e3f9080dfed03a451)
- Requested merge: zaphod42:bug/2.7.x/13655-test-failures-on-centos5 (88beffcc849697c6b6af4bba2cf454697499b407)
Diff follows:
diff --git a/lib/puppet/type/resources.rb b/lib/puppet/type/resources.rb index ae41b88..3e25ea5 100644 --- a/lib/puppet/type/resources.rb +++ b/lib/puppet/type/resources.rb @@ -118,10 +118,10 @@ def user_check(resource) return true unless self[:unless_system_user] resource[:audit] = :uid - current_values = resource.retrieve_resource return false if system_users.include?(resource[:name]) + current_values = resource.retrieve_resource current_values[resource.property(:uid)] > self[:unless_system_user] end diff --git a/spec/unit/indirector/resource/ral_spec.rb b/spec/unit/indirector/resource/ral_spec.rb index 2a3fec0..389ca20 100755 --- a/spec/unit/indirector/resource/ral_spec.rb +++ b/spec/unit/indirector/resource/ral_spec.rb @@ -20,12 +20,17 @@ it "if there is no instance, it should create one", :'fails_on_ruby_1.9.2' => true do wrong_instance = stub "wrong user", :name => "bob" + root = mock "Root User" + root_resource = mock "Root Resource" require 'puppet/type/user' Puppet::Type::User.expects(:instances).returns([ wrong_instance, wrong_instance ]) + Puppet::Type::User.expects(:new).with(has_entry(:name => "root")).returns(root) + root.expects(:to_resource).returns(root_resource) + result = Puppet::Resource::Ral.new.find(@request) - result.should be_is_a(Puppet::Resource) - result.title.should == "root" + + result.should == root_resource end end diff --git a/spec/unit/type/group_spec.rb b/spec/unit/type/group_spec.rb index afe2824..f9e83c9 100755 --- a/spec/unit/type/group_spec.rb +++ b/spec/unit/type/group_spec.rb @@ -3,18 +3,9 @@ describe Puppet::Type.type(:group) do before do - ENV["PATH"] += File::PATH_SEPARATOR + "/usr/sbin" unless ENV["PATH"].split(File::PATH_SEPARATOR).include?("/usr/sbin") @class = Puppet::Type.type(:group) end - it "should have a default provider" do - @class.defaultprovider.should_not be_nil - end - - it "should have a default provider inheriting from Puppet::Provider" do - @class.defaultprovider.ancestors.should be_include(Puppet::Provider) - end - it "should have a system_groups feature" do @class.provider_feature(:system_groups).should_not be_nil end diff --git a/spec/unit/type/resources_spec.rb b/spec/unit/type/resources_spec.rb index 652a6e8..2aa0e18 100755 --- a/spec/unit/type/resources_spec.rb +++ b/spec/unit/type/resources_spec.rb @@ -51,14 +51,13 @@ @resources.generate.collect { |r| r.ref }.should_not include(@host1.ref) end - it "should not include the skipped users", :'fails_on_ruby_1.9.2' => true do + it "should not include the skipped system users", :'fails_on_ruby_1.9.2' => true do res = Puppet::Type.type(:resources).new :name => :user, :purge => true res.catalog = Puppet::Resource::Catalog.new - users = [ - Puppet::Type.type(:user).new(:name => "root") - ] - Puppet::Type.type(:user).expects(:instances).returns users + root = Puppet::Type.type(:user).new(:name => "root") + Puppet::Type.type(:user).expects(:instances).returns [ root ] + list = res.generate names = list.collect { |r| r[:name] } diff --git a/spec/unit/type/user_spec.rb b/spec/unit/type/user_spec.rb index 2ca8d88..c559be3 100755 --- a/spec/unit/type/user_spec.rb +++ b/spec/unit/type/user_spec.rb @@ -5,15 +5,10 @@ describe user do before do - ENV["PATH"] += File::PATH_SEPARATOR + "/usr/sbin" unless ENV["PATH"].split(File::PATH_SEPARATOR).include?("/usr/sbin") @provider = stub 'provider' @resource = stub 'resource', :resource => nil, :provider => @provider, :line => nil, :file => nil end - it "should have a default provider inheriting from Puppet::Provider" do - user.defaultprovider.ancestors.should be_include(Puppet::Provider) - end - it "should be able to create a instance" do user.new(:name => "foo").should_not be_nil end @@ -47,10 +42,6 @@ end describe "instances" do - it "should have a valid provider" do - user.new(:name => "foo").provider.class.ancestors.should be_include(Puppet::Provider) - end - it "should delegate existence questions to its provider" do instance = user.new(:name => "foo") instance.provider.expects(:exists?).returns "eh"--
You received this message because you are subscribed to the Google Groups "Puppet Developers" group.
To post to this group, send email to puppet-dev@googlegroups.com.
To unsubscribe from this group, send email to puppet-dev+unsubscr...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/puppet-dev?hl=en.