mirror of
https://github.com/fog/fog.git
synced 2022-11-09 13:51:43 -05:00
48 lines
1.9 KiB
Ruby
48 lines
1.9 KiB
Ruby
|
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
|