]> gitweb.fluxo.info Git - puppet-sshkeys_core.git/commitdiff
(MODULES-9578) Add test for target attribute.
authorRobert Vincent <robert.vincent@conning.com>
Tue, 23 Jul 2019 14:20:39 +0000 (10:20 -0400)
committerGabriel Nagy <gabriel.nagy@puppet.com>
Mon, 12 Aug 2019 11:54:13 +0000 (14:54 +0300)
spec/acceptance/tests/resource/ssh_authorized_key/create_spec.rb

index 75eba1e4a7551e460f0788b1315da5aec93f3f9e..34154ee5936fd54bc95cea665f9c6daece6fb2c8 100644 (file)
@@ -5,11 +5,15 @@ RSpec.context 'ssh_authorized_key: Create' do
 
   let(:auth_keys) { '~/.ssh/authorized_keys' }
   let(:name) { "pl#{rand(999_999).to_i}" }
+  let(:custom_key_directory) { "/etc/ssh_authorized_keys_#{name}" }
+  let(:custom_key) { "#{custom_key_directory}/authorized_keys_#{name}" }
+  let(:custom_name) { "custom_#{name}" }
 
   before(:each) do
     posix_agents.each do |agent|
       on(agent, "cp #{auth_keys} /tmp/auth_keys", acceptable_exit_codes: [0, 1])
-      on(agent, "rm -f $LOGNAME #{auth_keys}")
+      on(agent, "rm -f #{auth_keys}")
+      on(agent, "mkdir #{custom_key_directory}")
     end
   end
 
@@ -17,6 +21,7 @@ RSpec.context 'ssh_authorized_key: Create' do
     posix_agents.each do |agent|
       # (teardown) restore the #{auth_keys} file
       on(agent, "mv /tmp/auth_keys #{auth_keys}", acceptable_exit_codes: [0, 1])
+      on(agent, "rm -rf #{custom_key_directory}")
     end
   end
 
@@ -32,5 +37,18 @@ RSpec.context 'ssh_authorized_key: Create' do
         fail_test "didn't find the ssh_authorized_key for #{name}" unless stdout.include? name.to_s
       end
     end
+    it "#{agent} should create an entry for an SSH authorized key in a custom location" do
+      custom_args = ['ensure=present',
+                     'user=$LOGNAME',
+                     "type='rsa'",
+                     "key='mykey'",
+                     "target='#{custom_key}'"]
+
+      on(agent, puppet_resource('ssh_authorized_key', custom_name.to_s, custom_args))
+
+      on(agent, "cat #{custom_key}") do |_res|
+        fail_test "didn't find the ssh_authorized_key for #{custom_name}" unless stdout.include? name.to_s
+      end
+    end
   end
 end