diff options
| author | luke <luke@980ebf18-57e1-0310-9a29-db15c13687c0> | 2007-03-19 23:04:32 +0000 |
|---|---|---|
| committer | luke <luke@980ebf18-57e1-0310-9a29-db15c13687c0> | 2007-03-19 23:04:32 +0000 |
| commit | 474b86c921e3fa17ffd48c3b846b2e5f3dc70640 (patch) | |
| tree | c72e2021c49fcb6bd8930eefca5ed6f00b24775e /test | |
| parent | 90d8b2dfb123b42a2b1fc6104ae5d63be635bdb5 (diff) | |
Hopefully the last batch of commits before I release 0.22.2. Mostly just get tests to pass.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2334 980ebf18-57e1-0310-9a29-db15c13687c0
Diffstat (limited to 'test')
| -rwxr-xr-x | test/language/interpreter.rb | 2 | ||||
| -rwxr-xr-x | test/ral/providers/cron/crontab.rb | 16 | ||||
| -rwxr-xr-x | test/ral/providers/package/apt.rb | 2 | ||||
| -rwxr-xr-x | test/ral/providers/package/aptitude.rb | 2 | ||||
| -rwxr-xr-x | test/ral/providers/user.rb | 15 | ||||
| -rwxr-xr-x | test/ral/providers/user/useradd.rb | 65 |
6 files changed, 98 insertions, 4 deletions
diff --git a/test/language/interpreter.rb b/test/language/interpreter.rb index 2122d5a30..d4ecbd563 100755 --- a/test/language/interpreter.rb +++ b/test/language/interpreter.rb @@ -1024,7 +1024,7 @@ class TestInterpreter < Test::Unit::TestCase # Make a fake gennode method class << interp - def gennode(name, args) + def gennode(name, args, source) args[:name] = name return args end diff --git a/test/ral/providers/cron/crontab.rb b/test/ral/providers/cron/crontab.rb index c28b12ffd..df70cef36 100755 --- a/test/ral/providers/cron/crontab.rb +++ b/test/ral/providers/cron/crontab.rb @@ -64,6 +64,22 @@ class TestCronParsedProvider < Test::Unit::TestCase assert_nothing_raised("could not load %s" % file) do str, args = YAML.load(File.read(file)) end + + # Stupid old yaml + args.each do |hash| + hash.each do |param, value| + if param.is_a?(String) and param =~ /^:/ + hash.delete(param) + param = param.sub(/^:/,'').intern + hash[param] = value + end + + if value.is_a?(String) and value =~ /^:/ + value = value.sub(/^:/,'').intern + hash[param] = value + end + end + end target.write(str) assert_nothing_raised("could not parse %s" % file) do @provider.prefetch_target(@me) diff --git a/test/ral/providers/package/apt.rb b/test/ral/providers/package/apt.rb index c1bdcd1ca..78e13e382 100755 --- a/test/ral/providers/package/apt.rb +++ b/test/ral/providers/package/apt.rb @@ -37,7 +37,7 @@ class AptPackageProviderTest < PuppetTest::TestCase '-y', '-o', 'DPkg::Options::=--force-confold', - 'install', + :install, 'faff' ).returns(0) diff --git a/test/ral/providers/package/aptitude.rb b/test/ral/providers/package/aptitude.rb index 24865931d..a8ab6f7b7 100755 --- a/test/ral/providers/package/aptitude.rb +++ b/test/ral/providers/package/aptitude.rb @@ -36,7 +36,7 @@ class AptitudePackageProviderTest < PuppetTest::TestCase '-y', '-o', 'DPkg::Options::=--force-confold', - 'install', + :install, 'faff' ).returns(0) diff --git a/test/ral/providers/user.rb b/test/ral/providers/user.rb index 319db0a5f..af4530c7b 100755 --- a/test/ral/providers/user.rb +++ b/test/ral/providers/user.rb @@ -128,6 +128,21 @@ class TestUserProvider < Test::Unit::TestCase end end + def fakemodel(*args) + model = super + + # Set boolean methods as necessary. + class << model + def allowdupe? + self[:allowdupe] + end + def managehome? + self[:managehome] + end + end + model + end + def mkuser(name) fakemodel = fakemodel(:user, name) user = nil diff --git a/test/ral/providers/user/useradd.rb b/test/ral/providers/user/useradd.rb index 1ababecb7..48a110446 100755 --- a/test/ral/providers/user/useradd.rb +++ b/test/ral/providers/user/useradd.rb @@ -136,7 +136,7 @@ class UserAddProviderTest < PuppetTest::TestCase @vals[:allowdupe] = true setup_user - assert(@user.provider.respond_to?(:manages_homedir?), + assert(@user.provider.respond_to?(:allows_duplicates?), "provider did not get allowdupe test set") assert(@user.allowdupe?, "provider did not get allowdupe") @@ -174,6 +174,69 @@ class UserAddProviderTest < PuppetTest::TestCase @user.provider.create end + + def disabled_test_manages_password + if Facter.value(:kernel) != "Linux" + assert(! @provider.feature?(:manages_passwords), + "Defaulted to managing passwords on %s" % + Facter.value(:kernel)) + + # Now just make sure it's not allowed, and return + setup_user + assert_raise(Puppet::Error, "allowed passwd mgmt on failing host") do + @user[:password] = "yayness" + end + return + end + + # Now, test that it works correctly. + assert(@provider.manages_passwords?, + "Defaulted to not managing passwords on %s" % + Facter.value(:kernel)) + @vals[:password] = "somethingorother" + setup_user + + @user.provider.expects(:execute).with do |params| + assert_equal(params[0], @provider.command(:add), + "useradd was not called") + params.shift + options = {} + params.each_with_index do |p, i| + if p =~ /^-/ and p != "-M" + options[p] = params[i + 1] + end + end + assert_equal(options["-p"], @vals[:password], + "Did not set password in useradd call") + true + end + + @user.provider.create + @user.class.clear + + # Now mark the user made, and make sure the right command is called + setup_user + @user.is = [:ensure, :present] + @user.is = [:password, :present] + @vals[:password] = "somethingelse" + + @user.provider.expects(:execute).with do |params| + assert_equal(params[0], @provider.command(:modify), + "usermod was not called") + + options = {} + params.each_with_index do |p, i| + if p =~ /^-/ and p != "-M" + options[p] = params[i + 1] + end + end + assert_equal(options["-p"], @vals[:password], + "Did not set password in useradd call") + true + end + + @user.provider.password = @vals[:password] + end end # $Id$ |
