summaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorluke <luke@980ebf18-57e1-0310-9a29-db15c13687c0>2007-03-19 23:04:32 +0000
committerluke <luke@980ebf18-57e1-0310-9a29-db15c13687c0>2007-03-19 23:04:32 +0000
commit474b86c921e3fa17ffd48c3b846b2e5f3dc70640 (patch)
treec72e2021c49fcb6bd8930eefca5ed6f00b24775e /test
parent90d8b2dfb123b42a2b1fc6104ae5d63be635bdb5 (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-xtest/language/interpreter.rb2
-rwxr-xr-xtest/ral/providers/cron/crontab.rb16
-rwxr-xr-xtest/ral/providers/package/apt.rb2
-rwxr-xr-xtest/ral/providers/package/aptitude.rb2
-rwxr-xr-xtest/ral/providers/user.rb15
-rwxr-xr-xtest/ral/providers/user/useradd.rb65
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$