summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/puppet/parameter.rb1
-rwxr-xr-xlib/puppet/type/sshkey.rb5
-rwxr-xr-xtest/types/sshkey.rb18
3 files changed, 23 insertions, 1 deletions
diff --git a/lib/puppet/parameter.rb b/lib/puppet/parameter.rb
index c75449e59..78ee4ddf1 100644
--- a/lib/puppet/parameter.rb
+++ b/lib/puppet/parameter.rb
@@ -183,6 +183,7 @@ module Puppet
end
def aliasvalue(name, other)
+ other = symbolize(other)
unless @parametervalues.include?(other)
raise Puppet::DevError,
"Cannot alias nonexistent value %s" % other
diff --git a/lib/puppet/type/sshkey.rb b/lib/puppet/type/sshkey.rb
index 444b47d35..a9236d057 100755
--- a/lib/puppet/type/sshkey.rb
+++ b/lib/puppet/type/sshkey.rb
@@ -8,6 +8,11 @@ module Puppet
newstate(:type) do
desc "The encryption type used. Probably ssh-dss or ssh-rsa."
+
+ newvalue("ssh-dss")
+ newvalue("ssh-rsa")
+ aliasvalue(:dsa, "ssh-dss")
+ aliasvalue(:rsa, "ssh-rsa")
end
newstate(:key) do
diff --git a/test/types/sshkey.rb b/test/types/sshkey.rb
index 533c97dad..9f86ba955 100755
--- a/test/types/sshkey.rb
+++ b/test/types/sshkey.rb
@@ -75,10 +75,26 @@ class TestSSHKey < Test::Unit::TestCase
def test_simplekey
key = mkkey
+ file = tempfile()
+ key[:target] = file
+ key[:provider] = :parsed
assert_apply(key)
-
+
+ assert_events([], key, "created events on in-sync key")
+
assert(key.provider.exists?, "Key did not get created")
+
+ # Now create a new key object
+ name = key.name
+ key = nil
+ @sshkeytype.clear
+
+ key = @sshkeytype.create :name => name, :target => file, :provider => :parsed
+ key.retrieve
+
+ assert(key.provider.exists?, "key thinks it does not exist")
+
end
def test_moddingkey