summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorluke <luke@980ebf18-57e1-0310-9a29-db15c13687c0>2007-01-04 06:29:14 +0000
committerluke <luke@980ebf18-57e1-0310-9a29-db15c13687c0>2007-01-04 06:29:14 +0000
commit098081d88fe17b221bad00c17ccff42324823a7a (patch)
tree8622a12cdab3f2e291fa92c04fc23a44a6069f3e
parent5292e4eb4dd57c0db3f2ab216216f9e21301f53b (diff)
downloadpuppet-098081d88fe17b221bad00c17ccff42324823a7a.tar.gz
puppet-098081d88fe17b221bad00c17ccff42324823a7a.tar.xz
puppet-098081d88fe17b221bad00c17ccff42324823a7a.zip
Setting up specific allowed types for sshkey
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2033 980ebf18-57e1-0310-9a29-db15c13687c0
-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