1
0
Fork 0
mirror of https://github.com/fog/fog.git synced 2022-11-09 13:51:43 -05:00
fog--fog/tests/glesys/requests/compute/ssh_key_tests.rb

48 lines
1.9 KiB
Ruby
Raw Permalink Normal View History

Shindo.tests("Fog::Compute[:glesys] | ssh_key requests", ["glesys", "compute"]) do
@testdescription = "My test key to be removed"
@testdata = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDv+r/dCIDv+YazWsyc1WCixR+iOeaswTx1U45h6vh4/ fog-unittest@GleSYS"
@testdata_malformed = "ssh-rot13 AAAAthis_is_not_an_ssh_key fog-unittest@GleSYS"
tests("success") do
tests("#ssh_key_add").formats(Glesys::Compute::Formats::SshKeys::ADD) do
pending if Fog.mocking?
@resp = Fog::Compute[:glesys].ssh_key_add(:description => @testdescription, :sshkey => @testdata)
@resp.body["response"]
end
unless Fog.mocking?
Fog::Compute[:glesys].ssh_keys.destroy(@resp.body["response"]["sshkey"]["id"])
@key = Fog::Compute[:glesys].ssh_keys.create(:description => @testdescription, :data => @testdata)
end
tests("#ssh_key_list").formats(Glesys::Compute::Formats::SshKeys::LIST) do
pending if Fog.mocking?
@resp = Fog::Compute[:glesys].ssh_key_list
@resp.body["response"]
end
unless Fog.mocking?
Fog::Compute[:glesys].ssh_keys.destroy(@key.id)
@key = Fog::Compute[:glesys].ssh_keys.create(:description => @testdescription, :data => @testdata)
end
tests("#ssh_key_remove").formats(Glesys::Compute::Formats::SshKeys::REMOVE) do
pending if Fog.mocking?
@resp = Fog::Compute[:glesys].ssh_key_remove(:sshkeyids => @key.id)
@resp.body["response"]
end
end
tests("failure") do
tests("#ssh_key_add with malformed key data").raises(Excon::Errors::HTTPStatusError) do
pending if Fog.mocking?
Fog::Compute[:glesys].ssh_key_add(:description => @testdescription, :data => @testdata_malformed)
end
tests("#ssh_key_remove with nonexistent/invalid key id").raises(Excon::Errors::HTTPStatusError) do
pending if Fog.mocking?
Fog::Compute[:glesys].ssh_key_remove(:id => -1)
end
end
end